• 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

GeorgeWalk

Senior Member
Joined
Sep 6, 2019
Messages
472
Likes
792
I have a couple of Raspberry PIs in my house doing audio tasks. My main PI has the PI touch screen with an Allo Boss 1.2 DAC and Volumio. That goes into the audio-in of my Parasound preamp and amp. I also have PI Zero with Just Boom Digi board (also running Volumio). That goes into the digital-optical input of the Parasound. I am trying to figure out if there is any difference in the sound quality ( I haven't heard any, but my ears are not what they used to be).

I like Volumio on the PI. I have been using it for a couple years now, and for my purposes, it works fine. I mostly listen to internet radio stations (Radio Paradise,...) and my Spotify play lists with it.
 

thefsb

Addicted to Fun and Learning
Joined
Nov 2, 2019
Messages
796
Likes
657
I did spot Max2Play but I was put off by the "beta - 1000 downloads" next to the pi 4 link. I've had to fiddle around enough to get Kodi to the point where I'm reasonably happy with it - I've zero interest in beta testing anything; I'm a developer so listening to music on my home Kodi system is what I do when I want a break from work!

If I were starting over I'd probably not choose Max2Play. It's what I had from when I was playing around with a HifiBerry card. But making it work with the Musical Fidelity integrated amp/DAC over a USB cable was easy and worked first try so that was worth reporting here.

I've been most impressed with Volumio except there's a bug which makes it unusable for me as I have an external USB drive and practically every power-up it thinks it's a new devices and spends the next hour+ rebuilding the library from scratch. I don't like libraries! Just let me browse the file system - I've arranged the files sensibly and they're reasonably well tagged but I add and remove files from time to time. I've never used any software which contains libraries of entities which has worked flawlessly - there's always a point where a newly added file doesn't show up; a deleted file won't go away; attempts to "just clear the library so I can start again" are thwarted etc.

Our RPi runs 24x7 since it is also the dnscrypt-proxy for the household network so this bug might not be a big problem for me, depending how it manifests.

Browsing a filesystem isn't enough for us. We need also a search feature since we drive from out phones and there's a lot of music. It's ok if the search indexes take a little while to catch up with changes to the audio files but the system needs to be usable during reindexing.
 

BillG

Major Contributor
Joined
Sep 12, 2018
Messages
1,699
Likes
2,268
Location
Auckland, New Zealand
If anyone is running some flavor of Linux on their RPi, you might like this for server duties:

https://emby.media/about.html

The client/remote control applications for one's mobile devices are quite nice also. And, they work quite well within Apple and Google’s streaming platforms... :cool:

Screenshot_Emby_20191106-112843.png
 

lopchu

Member
Joined
Nov 11, 2019
Messages
13
Likes
11
3. Is there any advantage / disadvantage using I2S over HDMI vs a USB connection to the DAC?

I am planning on upgrading my audio output of the raspberry 3 (currently an old Behringer UCA 222). Has anybody any more insights on this (or am I completely missing something?). I read that the I2S has some advantages over the USB (e.g. by Volumio and Darko). But then you see all the not so great measurements of the Pi Hats compared to the USB DACs.

Basically, it boils down to the simple question: Topping D10 (USB) or Hifiberry Dac + Pro (I2S)? Or is there probably no audible difference? Or is there a third way (whatever that may be, e.g. different I2S, different streaming device)?
 

thefsb

Addicted to Fun and Learning
Joined
Nov 2, 2019
Messages
796
Likes
657
There's nothing wrong with using USB.

From the point of view of a HW developer designing a DAC module specifically for the RPi then, iiuc, there's no reason to prefer USB over I2S because its processor chip can drive I2S directly with suport in the Linux Kernel. So it's the cheap and easy option, which in that context is a good thing. I think this is probably what blah blah like this means. (But it's misleading to suggests that jitter on USB DAC connections is a problem.)

First, choose your DAC shortlist on the basis of the features you want. For example, Topping D10 is great with its signal status display (if you like that kind of thing) but it has only a USB input. If you want also coax or optical inputs then look at the D30.
 

thefsb

Addicted to Fun and Learning
Joined
Nov 2, 2019
Messages
796
Likes
657
UPDATE

I tried Volumio and didn't like it. It seemed like a lot of marketing for not a lot of function, it's not a good media library manager relative to other options, it's on Debian 8.0, its plugin system doesn't make a very good service manager for things like squeezelite or MPD, and I don't want to pay Volumio extra for permission to stream Qobuz or Tidal.

Then I tried upmpdcli with BubbleUpnp Android app for the user interface. It's tremendous. I installed stock Raspbian Lite on a Raspberry Pi Zero W, followed the instructions and it works great. Ctritically, it make the RPiZ into a Upnp renderer with the OpenHome upgrades from Linn, i.e. playlists belong to renders, not to servers.

The RPiZ connects to my DAC via a USB On-The-Go adapter. Streamer hardware for $15. Bubble app is $4.99 for all devices. DAC is part of my integrated amp. Very tidy.

Next I want to try out BubbleUpnp Server. It can pass the audio through ffmpeg so it should be possible to use its filters for room EQ.
 

milw50717

Active Member
Joined
Jan 25, 2019
Messages
162
Likes
156
@lopchu if you have the budget I'd also go for a standalone DAC that offers inputs other than just USB as it offers more flexibility for the future. A DAC that offers coax and optical as well as USB allows you to try different sources that are often quite cheap - CD players with direct out, Chromecast Audio (well they used to be cheap) with optical out, a Pi with a Digi+ streamer, etc.
 

maarten

Member
Joined
Jun 1, 2019
Messages
37
Likes
52
Very content with my home build headless RPI Zero W with 500 GB microSD card (where I have stored my CD-collection in flac) + JustBoom Digi Zero pHAT to feed my ADI-2 DAC.

OS : DietPi
(extremely lightweight Debian OS , very easy to install and configure, free and excellent support)

Software
mpd : music player daemon
upmpdcli : a UPnP Media Renderer front-end for MPD, the Music Player Daemon. It supports UPnP gapless track transitions and the OpenHome ohMedia services (including a Radio service to listen to Internet streams) (https://www.lesbonscomptes.com/upmpdcli/)
minimserver : free music server (https://minimserver.com), provides a nice java control applet to control the server from pc.

Use various Android apps on my GalaxyS10e to control the streamer (e.g. a player for locally stored music and a dedicated radio app to play radio). You can use any player that supports UPnP/DLNA.

Very cheap but high quality and reliable audio streamer. Works like a charm.
 
Last edited:

thefsb

Addicted to Fun and Learning
Joined
Nov 2, 2019
Messages
796
Likes
657
Very content with my home build headless RPI Zero W with 500 GB microSD card (where I have stored my CD-collection in flac) + JustBoom Digi Zero pHAT to feed my ADI-2 DAC.

OS : DietPi
(extremely lightweight Debian OS , very easy to install and configure, free and excellent support)

Software
mpd : music player daemon
upmpdcli : a UPnP Media Renderer front-end for MPD, the Music Player Daemon. It supports UPnP gapless track transitions and the OpenHome ohMedia services (including a Radio service to listen to Internet streams) (https://www.lesbonscomptes.com/upmpdcli/)
minimserver : free music server (https://minimserver.com), provides a nice java control applet to control the server from pc.

Same setup here except I use the Raspbian version of Debian and I connect to the DAC with USB. Why do you use the JustBoom Digi Zero pHAT between the RPiZ and the DAC?
 

thefsb

Addicted to Fun and Learning
Joined
Nov 2, 2019
Messages
796
Likes
657
Same setup here except

Actually, that's not correct. I have the media server on another device: an RPi 4 with a 2TB SSD, MinimServer, Plex Server (for watching videos on the Roku), and Samba.
 

maarten

Member
Joined
Jun 1, 2019
Messages
37
Likes
52
Same setup here except I use the Raspbian version of Debian and I connect to the DAC with USB. Why do you use the JustBoom Digi Zero pHAT between the RPiZ and the DAC?

Because my previous DAC did not have USB... I can use USB as well. Never tried.
 

maarten

Member
Joined
Jun 1, 2019
Messages
37
Likes
52
Actually, that's not correct. I have the media server on another device: an RPi 4 with a 2TB SSD, MinimServer, Plex Server (for watching videos on the Roku), and Samba.

upmpdcli and minimserver are great ! I had an old PC as media server (NAS4Free) but it uses so much energy that I now only use it for backups once in a while. I have transferred my music files to the rpi-zero-w and now have a very tiny and very low energy consuming mediastreamer.

Had to change the standard mpd config to disable resampling in order to guarantee unaltered transfer of flac files. Luckily RME provides test files for the ADI-2 DAC to test whether they are received by the DAC unaltered.

Since Qobuz has recently revoked their API keys for non-authorized applications, I recently bought Android BubbleUPnP player to test Qobuz streaming and it works fine.

Have also found a great radio app: VRadio.

I can recommend DietPi, it's really light weight (much much more than Raspbian Lite).
 

thefsb

Addicted to Fun and Learning
Joined
Nov 2, 2019
Messages
796
Likes
657
The setup with storage on the RPiZ SD card is cool. I considered it and then decided to go with a separate media server with a enough power for video trans-coding and decent network and SSD IO performance for the samba server.

I'm not especially worried about using a lightweight distro since standard Raspbian isn't a problem. The kernel is plenty small and software that isn't running or consuming memory isn't something that needs to be optimized.

Code:
MiB Mem :    432.7 total,    174.4 free,     69.5 used,    188.8 buff/cache
MiB Swap:    100.0 total,    100.0 free,      0.0 used.    306.2 avail Mem

I'll check out the MPD config to disable re-sampling.
 

maarten

Member
Joined
Jun 1, 2019
Messages
37
Likes
52
in red mpd.conf config settings that i have disabled to prevent resampling.

audio_output {

type "alsa"
name "JustBoom DietPi"
#device "hw:0,0"
#format "192000:32:2"
#mixer_type "software"
#mixer_control "PCM"
#mixer_index "0"


# Disable DSD DoP MPD 0.19
dop "no"

}

#Realtime audio conversion & upscaling
#audio_output_format "44100:16:2"
#samplerate_converter "soxr very high"
 

threni

Major Contributor
Joined
Oct 18, 2019
Messages
1,281
Likes
1,532
Location
/dev/null
Very content with my home build headless RPI Zero W with 500 GB microSD card (where I have stored my CD-collection in flac) + JustBoom Digi Zero pHAT to feed my ADI-2 DAC.

OS : DietPi
(extremely lightweight Debian OS , very easy to install and configure, free and excellent support)

Software
mpd : music player daemon
upmpdcli : a UPnP Media Renderer front-end for MPD, the Music Player Daemon. It supports UPnP gapless track transitions and the OpenHome ohMedia services (including a Radio service to listen to Internet streams) (https://www.lesbonscomptes.com/upmpdcli/)
minimserver : free music server (https://minimserver.com), provides a nice java control applet to control the server from pc.

Use various Android apps on my GalaxyS10e to control the streamer (e.g. a player for locally stored music and a dedicated radio app to play radio). You can use any player that supports UPnP/DLNA.

Very cheap but high quality and reliable audio streamer. Works like a charm.

Thanks for this. I might give it a go. I've tried kodi, volumio and most recently vlc and they've all had their hiccups. vlc is fine but it's not gapless and the fix (vlc 4) doesn't seem imminent.
 

maarten

Member
Joined
Jun 1, 2019
Messages
37
Likes
52
Thanks for this. I might give it a go. I've tried kodi, volumio and most recently vlc and they've all had their hiccups. vlc is fine but it's not gapless and the fix (vlc 4) doesn't seem imminent.

Feel free to ask support/help/advice if needed.
 

threni

Major Contributor
Joined
Oct 18, 2019
Messages
1,281
Likes
1,532
Location
/dev/null
Feel free to ask support/help/advice if needed.

Thanks, I appreciate that. I was going to say that I'd normally try it out for myself first and ask questions afterwards if I had any problems but I've spent a fair amount of time and a bit of money getting to where I am and whilst I'm mostly happy with it, and sort of want to stop fiddling and just enjoy music, there's a part of me that's not happy and wants to make it even better!

My current solution is a 2gb pi 4 attached to a 4tb hard drive with a lot of flac files, and connected to a dac via usb. So, the server IS the renderer - I don't have an always-on NAS box or anything. I have absolutely no interest in streaming, other sources or loudspeakers - I have a pair of Sennheiser hd 660s which although are very, very good, need a touch of eq to sound right (otherwise they sound a little muffled - but maybe that's just my ears). Volumio is great with a slick interface but it insists on using a "library", which means it takes over an hour to scan the drive and requires that everything is tagged properly. And it doesn't take much for the software to decide to rescan everything. Literally a reboot can do this. It's a bug, reported, perhaps they'll fix it sometime. Kodi is good but it doesn't let me use an alsa-based equalizer, and the pulseaudio one I tried uses loads of cpu, which I could overlook but I heard the odd pop from it, as if it couldn't keep up, and googling reveals people saying it's a buggy mess, will be deprecated at some point etc. VLC lets me use an add-on equalizer which doesn't use any noticeable cpu, plus - like kodi - I don't need to use a "library" - I can just navigate the file structure, so when I add/remove music it's instant.

I'm 99% happy with this except for the fact it's not gapless (like I said, that's addressed in vlc 4, not planned for release anytime soon). I've considered an mpd-based solution as it seems nice and minimal but it's going to want to build a library, isn't it? Is there a nice way of saying "rescan the folder i've designated as the root of my library looking for stuff I've added/removed/changed the tags on/replaced the odd file but don't take hours to do it - use file metadata or something"? I guess I'd be able to point whatever "renderer" I was going to use an alsa equalizer? (I spent a while fiddling with alsa and found the experience perplexing).
 
Last edited:

maarten

Member
Joined
Jun 1, 2019
Messages
37
Likes
52
Thanks, I appreciate that. I was going to say that I'd normally try it out for myself first and ask questions afterwards if I had any problems but I've spent a fair amount of time and a bit of money getting to where I am and whilst I'm mostly happy with it, and sort of want to stop fiddling and just enjoy music, there's a part of me that's not happy and wants to make it even better!

My current solution is a 2gb pi 4 attached to a 4tb hard drive with a lot of flac files, and connected to a dac via usb. So, the server IS the renderer - I don't have an always-on NAS box or anything. I have absolutely no interest in streaming, other sources or loudspeakers - I have a pair of Sennheiser hd 660s which although are very, very good, need a touch of eq to sound right (otherwise they sound a little muffled - but maybe that's just my ears). Volumio is great with a slick interface but it insists on using a "library", which means it takes over an hour to scan the drive and requires that everything is tagged properly. And it doesn't take much for the software to decide to rescan everything. Literally a reboot can do this. It's a bug, reported, perhaps they'll fix it sometime. Kodi is good but it doesn't let me use an alsa-based equalizer, and the pulseaudio one I tried uses loads of cpu, which I could overlook but I heard the odd pop from it, as if it couldn't keep up, and googling reveals people saying it's a buggy mess, will be deprecated at some point etc. VLC lets me use an add-on equalizer which doesn't use any noticeable cpu, plus - like kodi - I don't need to use a "library" - I can just navigate the file structure, so when I add/remove music it's instant.

I'm 99% happy with this except for the fact it's not gapless (like I said, that's addressed in vlc 4, not planned for release anytime soon). I've considered an mpd-based solution as it seems nice and minimal but it's going to want to build a library, isn't it? Is there a nice way of saying "rescan the folder i've designated as the root of my library looking for stuff I've added/removed/changed the tags on/replaced the odd file but don't take hours to do it - use file metadata or something"? I guess I'd be able to point whatever "renderer" I was going to use an alsa equalizer? (I spent a while fiddling with alsa and found the experience perplexing).

I cannot tell whether mdp support equaliser. AFAIK mpd only rescans changed files but I am not 100% sure.
 

thefsb

Addicted to Fun and Learning
Joined
Nov 2, 2019
Messages
796
Likes
657
@threni I know what you mean about the fiddling getting tiresome. Sometimes I enjoy it. Often times I feel I have enough IT support in my life without it.

As far as media servers are concerned, I found Volumio and Kodi both unacceptable. I'm using MinimServer now and it seems good so far. I consider a library with a search feature necessary since my collection is large and I don't like browsing 10s of thousands of directories (aka folders). MinimServer does the job ootb—I haven't needed to change its default settings although I could maybe profit from doing so. A library is not a problem per se. If re-indexing a problem for the user then it's a bad library implementation. Even Logitech Media Server can do this right.

MPD on its own is no good but it makes a great renderer under upmpdcli. In this case the Android BubbleUpnp app functions as the user interface and it's nice. The upmpdcli web site has really great documentation that discusses design issues and pros/cons.

But I also don't yet have a solution for EQ on this arrangement. Does Volumio provide an EQ feature? If so, we may be able to replicate that config. I have looked at the ALSA situation and didn't find anything satisfactory for EQ. I didn't try Pulseaudio yet and don't much like the look of it.

But as I described earlier, something intriguing exists in BubbleUpnp Server, which is a Java-based "proxy" server that adds features to whatever Upnp media servers you let it use. It can optionally pass the media stream through ffmpeg. You give it a config string for ffmpeg filters via the web admin interface. I haven't had time to play with that yet.
 
Top Bottom