• WANTED: Happy members who like to discuss audio and other topics related to our interest. Desire to learn and share knowledge of science required. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

A Raspberry Pi as a music server

Slot

Member
Joined
Mar 29, 2021
Messages
11
Likes
3
Location
Australia
Hi all - long time lurker, first time poster.

I've been doing a lot of reading on networked audio streaming, and am looking for some advice. This looks like the right place.

TL;DR: looking to setup the ability to stream FLAC files from my NAS to various speakers around the house, using an iPhone as the control point.
Must haves: centralised playlists, streaming over wi-fi (5GHz), decent quality audio, controller app must work on iPhones
Nice to haves: the same music playing in two rooms at once, internet radio, may introduce a streaming service like Spotify at a later stage.

Current situation:

My music collection comprises FLAC files (my CD collection ripped) that reside on a share on my QNAP NAS. I currently access this from my iPhone using the QNAP QFile app, and another app called FLACbox which is a little unstable when accessing network shares.
I play the music as follows:
- via a Chromecast Audio into my Harman Kardon stereo integrated amp
- via Airplay into my Yahama AVR,
- via Bluetooth into a portable Bose speaker
These are all in different rooms. None of the speakers are near an ethernet connection point.

This kind of works, but has some limitations. I am wondering if, with the addition of some Raspberry Pis and DACs, and the right software, I can achieve something better, both in terms of SQ and convenience and flexibility.

The NAS is not a high-powered model, it has a Marvell CPU with only 512MB RAM. In terms of serving files it does fine. I can run MinimServer on it, but would prefer to keep it as a file server only.
I have a Raspberry Pi 4 (headless) which is currently running my VPN server, and Pi-Hole - both in Docker containers - so it is not exactly over-worked.
Both the Pi and the NAS are networked (ethernet), however none of them are anywhere near any of my audio systems.

I'm happy to acquire more RPis (maybe 3A/B or Zero models so no heating issues, and cheaper) along with DACs (HAT /USB) to play into my existing audio systems. For the audio feed into the Harmon Kardon amp I'd want good quality, the others not as important.

I've read about software like Logitech Media Server, PiCorePlayer, MoOde Audio, Volumio, RoPieee etc.
I've also read about controller apps like mConnect, iPeng

What I am not sure about is exactly how these can all work together.

For example:
Could I install (say) LMS on the existing RPi 4 to perform the music server functions - or is a network share enough ?
Could I setup one or more RPis with DACs running something like MoOde/RoPieee as players.
And finally could I use a suitable iOS app (like mConnect) to direct the music from the source to one or more players, and play using playlists?


Apologies for the long post and many questions.

Thanks in advance.
 

FooYatChong

Active Member
Joined
Feb 2, 2019
Messages
171
Likes
311
Location
Belgium
For example:
Could I install (say) LMS on the existing RPi 4 to perform the music server functions - or is a network share enough ?
Could I setup one or more RPis with DACs running something like MoOde/RoPieee as players.
And finally could I use a suitable iOS app (like mConnect) to direct the music from the source to one or more players, and play using playlists?

I have something similar with a Pi4 running JRiver as the music server and use JRemote on my iPad to stream music to other devices like e.g. a Pi running MoOde.

IMG_0082.jpg
 

Apesbrain

Addicted to Fun and Learning
Joined
Nov 4, 2017
Messages
589
Likes
741
Location
East Coast, USA
For example:
Could I install (say) LMS on the existing RPi 4 to perform the music server functions - or is a network share enough ?
Could I setup one or more RPis with DACs running something like MoOde/RoPieee as players.
And finally could I use a suitable iOS app (like mConnect) to direct the music from the source to one or more players, and play using playlists?
Yes, an RPi 4-4GB running piCorePlayer OS can optionally run LMS. In order to play your local music files, it needs access to them via an attached USB drive or connectivity to an "always on" network share such as your NAS. As a server, it is best that the RPi remain wired to your router. Because you already have an RPi performing specific duties in your household, I might suggest a separate unit to be your music server.

With your server in place, it's a simple matter to add any number of additional RPi 4-1GB (or RPi 3) also running piCorePlayer to be your wired/wireless zone players. You can take a playback signal from the RPi analog out, USB, or HDMI. Or you can connect a DAC, S/PDIF, or amp HAT board such as those made by HiFiBerry. I don't use it, but I think the newer versions of piCorePlayer also support bluetooth "play to" and "play from" functions.

You would use the iPeng app on your iOS device as a controller. Alternatively, you could run LMS's "Material Skin" plugin (below) which provides a modern desktop and mobile interface to select and control your music, volume, and playlists.

LTnQ8v7.jpg


Nice to haves: the same music playing in two rooms at once, internet radio, may introduce a streaming service like Spotify at a later stage.
LMS will do all of this.
 

somebodyelse

Major Contributor
Joined
Dec 5, 2018
Messages
3,682
Likes
2,962
On the LMS side, expanding on Apesbrain's comment, you should be able to install it on the existing Pi 4, either natively or in a container, with the qnap network share mounted. It should be fine so long as the network share is stable. There are plugins for using chromecast and airplay endpoints too, so there's flexibility to use it with your existing hardware if you don't want to get more endpoints immediately. I wouldn't expect a change in audio quality though.
 

Slot

Member
Joined
Mar 29, 2021
Messages
11
Likes
3
Location
Australia
Thanks all for the responses - very helpful.

So if I understand correctly, I could run LMS (with plugins for CCA and Airplay) in a Docker container on my existing Rpi4, with a mounted share to the music on my NAS (which is always on).

And then use a suitable controller app on my iphone (e.g. iPeng or mConnect) to direct the stream to my existing hardware, and later replace the CCA/Airplay/Bluetooth with RPi/DAC endpoints running something like piCorePlayer or moOde.

So, where does the LMS Material Skin fit into the picture ? If it is a plugin on the server, how does this work with the controller app ?

And where are playlists managed - on the music server or the controller app ?

EDIT: just saw on the link in somebodyelse's post above, playlists are on the server.

Thanks.
 

somebodyelse

Major Contributor
Joined
Dec 5, 2018
Messages
3,682
Likes
2,962
That's my understanding, but I've not used it in docker or with those plugins so I can't say for sure. The UPnP/DLNA plugin presented those endpoints as if they were another squeezebox when I tried it, so I assume the Chromecast and Airplay ones work similarly. The squeezebox forum is probably a more reliable place to ask. On the plus side the only cost to try it is some time.

The Material Skin plugin changes the web interface to be more phone-friendly, and if you use the browser's 'Add to Home Screen' option the experience is close to having a locally installed app. The user guide is pretty good too.

Expanding on the playlists, the location of the playlists can be configured separately from the location of the music via the LMS settings interface. It's firmly on the side of letting you change almost everything while providing sensible defaults.
 

lealoureiro

Member
Forum Donor
Joined
Mar 28, 2021
Messages
15
Likes
3
Location
Amsterdam
In the beginning I was using a Raspberry Pi 3b+ as music server with Raspbian. But started to having some issues with streaming high bitrate video files, since I also use it for DNLA server for my WebOS TV. I guess that was due to USB and Ethernet were sharing the same bus. I guess that now is solved now in Raspberry 4+.

I endup building my homeserver using this board ASRock J5005-ITX, which uses a Quad Core Celeron J5005 and with 8GB RAM SO-DIMM, One of my priorities was lower power consumption as it is all the time on. I'm used an internal SSD for operating system and external HDD for storage like Music, Photos etc...

Running it with Roon Core as well serving 3-4 Raspberry Pis Roon Bridge endpoints. I also run also another applications like DLNA server, Home-Assistant, Zigbee2Mqtt, some of them inside Docker container, and all runs very good, still low power consumption. Probably if start using a lot DSP filters in Roon I might need to upgrade the CPU.

Maybe soon planning to replace one of my external HDD for an external SDD as sometimes is a bit slower to read files from those disks.
 

gvh1234

Member
Joined
Feb 17, 2021
Messages
16
Likes
21
Location
Southampton, UK
Thanks all for the responses - very helpful.

So if I understand correctly, I could run LMS (with plugins for CCA and Airplay) in a Docker container on my existing Rpi4, with a mounted share to the music on my NAS (which is always on).

And then use a suitable controller app on my iphone (e.g. iPeng or mConnect) to direct the stream to my existing hardware, and later replace the CCA/Airplay/Bluetooth with RPi/DAC endpoints running something like piCorePlayer or moOde.

So, where does the LMS Material Skin fit into the picture ? If it is a plugin on the server, how does this work with the controller app ?

And where are playlists managed - on the music server or the controller app ?

EDIT: just saw on the link in somebodyelse's post above, playlists are on the server.

Thanks.

No need for docker, lms is part of picoreplayer.
Once you install it, follow this
https://docs.picoreplayer.org/how-to/install_lms/
 

Slot

Member
Joined
Mar 29, 2021
Messages
11
Likes
3
Location
Australia
No need for docker, lms is part of picoreplayer.

Thanks, however I was planning to install LMS on an existing Pi that is already running two other applications in Docker containers. Then I can add dedicated Pi-based endpoints running picoreplayer or moode.
 

Tom C

Major Contributor
Joined
Jun 16, 2019
Messages
1,501
Likes
1,370
Location
Wisconsin, USA
sheeess, 15 pages. Page 1 including a DAC on a block of maple wood. ...iirc it was Cardas that started that. - The maple, I mean.

I'm still not quite sure why people have networks and NAS at home............................ohh, right, to get music and movies from streaming services. NAS, I dunno, I just have a 4Tb HDD connected to a laptop. ...As for RAID, f###, I had enough of that at work....where it was necessary, of course, but it sure caused some bad days.
There is much to be said for the simplicity of your setup. But I have four systems in four different rooms. If each had its own dedicated hard drive, I’d have to copy each new file at least three times to have the full library available at all points. Instead, I have two networks. One is connected to the internet, the other isn’t. I keep one full copy of the library on a server in each network, so I have two copies of everything, and only have to copy a new purchase one time.
 

Slot

Member
Joined
Mar 29, 2021
Messages
11
Likes
3
Location
Australia
Some feedback. I managed to deploy the Logitech Media Server on my existing Raspberry Pi 4, in a Docker container. It sees my music collection on the NAS via a mounted share, and I have the LMS config and playlist folders located outside the container so I can back them up, and won't lose them should I need to re-create the container. I find the playlist editing a little clunky in LMS, so may look at using a Windows-based tool for this.

I enabled the Material skin plugin which is a huge improvement when accessing LMS on my smartphone.

I also enabled both the Airplay and Chromecast Audio plugins. The Airplay one worked straight away, seeing my Yamaha AVR immediately, and I was able to stream FLAC files and radio stations to it.

The CCA - not so much. For some reason it is not visible as a player on LMS. When I click on the plugin's settings link, the page just hangs. I have tried de-activating and re-activating the plugin, and stopping and starting the container, to no avail. I'm not sure what the problem is, however this more motivation for me to get another RPi, a DAC HAT and start playing with picoreplayer and MoOde for my main hi-fi.
 
Last edited:

somebodyelse

Major Contributor
Joined
Dec 5, 2018
Messages
3,682
Likes
2,962
It's probably worth asking in the appropriate squeezebox forum threads as it may already have come up, and if it hasn't it's worth getting it documented. From the intro in the CCA plugin thread it'll be using ports that aren't mentioned in the LMS docker setup instructions. It says the ports are configurable, so you can probably set the port(s) for the plugin and add matching port settings when launching the container.
 

Slot

Member
Joined
Mar 29, 2021
Messages
11
Likes
3
Location
Australia
Thanks - I think that I have solved it. Had a look at the Airplay prefs file and noticed a small difference to the Chromecast one. A simple edit to "align" them, followed by restarting LMS seemed to solve it. So it is working pretty well now, I can stream the same music to different rooms.

There are a few small things that I need to work out, but I think that the slimdevices forum is probably the best place to take these. Thanks for the advice and assistance.
 

Kotrmelec

Member
Joined
Jan 31, 2021
Messages
26
Likes
25
Definitely recommend at good case-pi4s can run hot. I use an akasa gem and it’s under 50 c in normal running which is great for a fanless case.
I bought Argon One case for cooling. This is IMHO the best one case you can buy for rpi4 !
 

ctakim

Active Member
Forum Donor
Joined
Jan 3, 2021
Messages
148
Likes
195
Location
Menlo Park, CA
I bought Argon One case for cooling. This is IMHO the best one case you can buy for rpi4 !
Looks like a nice case. I have the Flirc for the RaspberryPi4, which is also mentioned in the video. It is purely passive cooling and it does not rearrange the ports to one side. However, as a consequence it is a smaller form factor and it has a clean look. I use it as a Roon endpoint connected via USB to a Loxjie A30 DAC/Amp. It does get warm but not disconcertingly so.
 

Ralph_Cramden

Major Contributor
Joined
Dec 6, 2020
Messages
2,575
Likes
3,470
I run LMS on a Pi 4, and use Pi Zero W's with the Justboom Digi Zero hat as renderers to external DACs. Server and renderers run piCorePlayer. Works well.

P1290068.jpg
 

DomieMic65

Active Member
Joined
Nov 12, 2019
Messages
102
Likes
30
Hi to all...

Do you have any comments about RPi4 vs 3B+ as an end point?
I use a 4/4gb for my LMS server and an 3B+ for end point (through Allo Digione/MPD and USB/SqueezeliteR2) both on gentooplayer to RME ADI-2 DAC fs.
Has anyone done any listening (and/or even better tested) the 4 vs 3B+?
I'm wondering if I must get a 4 for end point too!
 

amper42

Major Contributor
Joined
Dec 21, 2020
Messages
1,583
Likes
2,286
Is there a chart on line that lists what each of these different Rpi OS's support? How do you decide which is best for your needs?
 

Phorize

Major Contributor
Forum Donor
Joined
Apr 26, 2019
Messages
1,533
Likes
2,060
Location
U.K
Looks like a nice case. I have the Flirc for the RaspberryPi4, which is also mentioned in the video. It is purely passive cooling and it does not rearrange the ports to one side. However, as a consequence it is a smaller form factor and it has a clean look. I use it as a Roon endpoint connected via USB to a Loxjie A30 DAC/Amp. It does get warm but not disconcertingly so.

I use in of these and am very happy with it:
 

somebodyelse

Major Contributor
Joined
Dec 5, 2018
Messages
3,682
Likes
2,962
Is there a chart on line that lists what each of these different Rpi OS's support? How do you decide which is best for your needs?
I've not seen a comprehensive list or feature matrix. It's the sort of thing that often happens in wikipedia, but hasn't for this sort of software yet. When I've been looking it's been a case of doing some web searches to find distros and check their features, then trying them to see how they behave.
 
Top Bottom