Jump to content
IGNORED

Article: Geek Speak: How To Build A BeagleBone Black MPD Music Server


Recommended Posts

could you use the DragonFly as the DAC? Any then run a split RCA wire from teh DragonFly? I have a Sonos system at home, but it would be nice to run hires through this mini system. Would this DAC work? Or is there a recommended usb only DAC.

I'll try my Dragon Fly this weekend. It should work, but the DF has had issues with Linux.

Founder of Audiophile Style | My Audio Systems AudiophileStyleStickerWhite2.0.png AudiophileStyleStickerWhite7.1.4.png

Link to comment

This sounds really interesting, and at a price point one cannot refute.

 

I do understand that this is very open as far as options go, and the basically the sky's the limit, but I'm more wondering as to the basics of the systems you are reviewing/reporting on.

 

So does this BBB unit just replace the CAPS/NUC, or the NAS internal server software, or both? Do I still require the Renderer or do I only require only an outboard DAC between the BBB to the amplification?

 

For the system I am interested in I was looking at the Cambridge Audio Stream Magic 6 as it is about 1/2 the cost of the Linn Sneaky, and I'm not sure I could tell the difference. I also use a Synology DS213. My home network is on a ASUS RT-N56U router and I have an ASUS 8-port gigabit switch in there too.

 

I'm not sure which is better for my application: all data through ethernet and to avoid USB/Optical or otherwise.

 

Heck. the more stuff you review, the more confused I get!!! ;)

 

Any input from you guys would be appreciated.[h=3][/h]

Link to comment
This sounds really interesting, and at a price point one cannot refute.

 

I do understand that this is very open as far as options go, and the basically the sky's the limit, but I'm more wondering as to the basics of the systems you are reviewing/reporting on.

 

So does this BBB unit just replace the CAPS/NUC, or the NAS internal server software, or both? Do I still require the Renderer or do I only require only an outboard DAC between the BBB to the amplification?

 

For the system I am interested in I was looking at the Cambridge Audio Stream Magic 6 as it is about 1/2 the cost of the Linn Sneaky, and I'm not sure I could tell the difference. I also use a Synology DS213. My home network is on a ASUS RT-N56U router and I have an ASUS 8-port gigabit switch in there too.

 

I'm not sure which is better for my application: all data through ethernet and to avoid USB/Optical or otherwise.

 

Heck. the more stuff you review, the more confused I get!!! ;)

 

Any input from you guys would be appreciated.

The BBB is a computer that connects to a DAC via USB. It's the same concept as the CAPS Lagoon. All storage is on a NAS. This unit doesn't do upnp and doesn't compete with any upnp /DLNA products.

Founder of Audiophile Style | My Audio Systems AudiophileStyleStickerWhite2.0.png AudiophileStyleStickerWhite7.1.4.png

Link to comment
Have you tried to juggle with period_time, buffer_time and nrpacks settings?

I have seen you have set your snd-usb-audio to nrpacks=1, that is your blocks of audio data are sent every 1ms which corresponds to a high number of IRQs. Have you tried for example nrpacks=20?!

 

Thanks for the explanation of what the 'nrpacks=1' setting means. It comes from me, as I needed to add it to my Raspberry Pi ALSA settings stop ALSA logging huge numbers of warning messages. I assumed that because it was a good idea for the Raspberry Pi, it would be a good idea to use it for the BeagleBone and I suggested that K-Man tried it who it turn suggested it to Chris.

 

Is there a means of measuring the best setting? Would a setting that works best for 16/44 audio be the best setting for 24/192 audio? Or would it be best removed altogether?

System (i): Stack Audio Link > Denafrips Iris 12th/Ares 12th-1; Gyrodec/SME V/Hana SL/EAT E-Glo Petit/Magnum Dynalab FT101A) > PrimaLuna Evo 100 amp > Klipsch RP-600M/REL T5x subs

System (ii): Allo USB Signature > Bel Canto uLink+AQVOX psu > Chord Hugo > APPJ EL34 > Tandy LX5/REL Tzero v3 subs

System (iii) KEF LS50W/KEF R400b subs

System (iv) Technics 1210GR > Leak 230 > Tannoy Cheviot

Link to comment
The BBB is a computer that connects to a DAC via USB. It's the same concept as the CAPS Lagoon. All storage is on a NAS. This unit doesn't do upnp and doesn't compete with any upnp /DLNA products.

The way Chris set up the Beagle Bone Black doesn't make it a UPnP renderer, but you could install different software to allow this (you'd have to Google and research). Equally you could install software to create a Squeezebox compatible renderer.

 

Eloise

Eloise

---

...in my opinion / experience...

While I agree "Everything may matter" working out what actually affects the sound is a trickier thing.

And I agree "Trust your ears" but equally don't allow them to fool you - trust them with a bit of skepticism.

keep your mind open... But mind your brain doesn't fall out.

Link to comment

Thanks a lot for the comprehensive tutorial.

 

I'm on the same route but I'll use Cubieboard since Beagle is not available in my country and Cubie has a SATA port which is a big plus for me (too lazy to setup a NAS box). Currently collecting references all over the web while waiting my board delivery.

 

The way Chris set up the Beagle Bone Black doesn't make it a UPnP renderer, but you could install different software to allow this (you'd have to Google and research). Equally you could install software to create a Squeezebox compatible renderer.

 

Eloise

 

With Mopidy + Rygel, a Linux box can serve as a complete UPNP box for music . They add another layer on top of MPD as UPNP front end (Mopidy as server, Rygel as renderer). Controlled via Android Bubble UPNP, that will be a match made in heaven.

Link to comment
Thanks a lot for the comprehensive tutorial.

 

I'm on the same route but I'll use Cubieboard since Beagle is not available in my country and Cubie has a SATA port which is a big plus for me (too lazy to setup a NAS box). Currently collecting references all over the web while waiting my board delivery.

 

 

 

With Mopidy + Rygel, a Linux box can serve as a complete UPNP box for music . They add another layer on top of MPD as UPNP front end (Mopidy as server, Rygel as renderer). Controlled via Android Bubble UPNP, that will be a match made in heaven.

 

I think you are suggesting an interesting configuration. To me a great advantage of these cheap ARM servers is that you can play around with configurations without spending much money only a bit of time. I have tried comparing SMB with NFS on my file server and decided I preferred NFS.

 

At some point I would like to give UPNP a go and I did come across Mopidy which sounds interesting. However, if you are using it with an MPD client such as MPod or MPDroid I would assume the tablet sends commands directly to Mopidy to tell it to play a track. Whereas if you were using it with an UPNP client on the tablet or phone, the client would send commands to the UPNP server like Rygel, which in turn would stream the music to the renderer running on the BeagleBone.

 

Also I would assume that the extra gstreamer middleware layer that Mopidy uses might have an effect on the sound compared with the simpler straight to ALSA route that MPD uses. The best thing to do is to try both out and see how they sound and how convenient they are to use, and I would be interested to hear of anyone who has got a configuration working like you suggest, and how it sounds in practice.

System (i): Stack Audio Link > Denafrips Iris 12th/Ares 12th-1; Gyrodec/SME V/Hana SL/EAT E-Glo Petit/Magnum Dynalab FT101A) > PrimaLuna Evo 100 amp > Klipsch RP-600M/REL T5x subs

System (ii): Allo USB Signature > Bel Canto uLink+AQVOX psu > Chord Hugo > APPJ EL34 > Tandy LX5/REL Tzero v3 subs

System (iii) KEF LS50W/KEF R400b subs

System (iv) Technics 1210GR > Leak 230 > Tannoy Cheviot

Link to comment
Thanks for the explanation of what the 'nrpacks=1' setting means. It comes from me, as I needed to add it to my Raspberry Pi ALSA settings stop ALSA logging huge numbers of warning messages. I assumed that because it was a good idea for the Raspberry Pi, it would be a good idea to use it for the BeagleBone and I suggested that K-Man tried it who it turn suggested it to Chris.

 

Is there a means of measuring the best setting? Would a setting that works best for 16/44 audio be the best setting for 24/192 audio? Or would it be best removed altogether?

With 'nrpacks=1' setting you dicrease latency, but if you want to keep CPU usage at minimum and let the USB controller do the work, you need large buffers and large nrpacks. For async usb there are some limits imposed by the usb-audio driver preparing new URB (groups of USB packets submitted to the USB controller at once).

With USB 2.0 you have to take into account that each frame is sent every 125-microseconds.

 

Under those terms you need to find the best combination of nrpacks and period time to avoid xruns.

 

I do not know how technical you want to go on these pages. A good starting point to have a general idea is this phofman's post: Linux Audio the way to go!? - Page 92 - diyAudio

 

Yes, it is possible to trace system reaction to various settings by using strace application.

Link to comment

Need some help please. I don't have a NAS so I have enabled SMB on my Mac. I have another Mac and I have been able to connect to my Mac with SMB enabled using the NetBIOS name in the WINS tab in the settings. This doesn't work for mounting on the BBB. I do have an IP address that I get in the File Sharing tab. Is there a way to get the proper address I should be using for my iTunes directory, which is stored on an external drive. Been stuck here for a while. Feel so close, but I keep getting these mount errors. Thanks.

Link to comment

Thanks very much for this informative guide. I've setup a Pogoplug using ArchLinux to do the same thing but unfortunately, there are no good squeezebox or MPD server for ArchLinux. So will definitely look at a BBB as an option. Would be great if you could also provide a negative list of DACs that will NOT work with this system? Also, any good android MPD clients that you would recommend?

Link to comment
I believe that is how I have it set up. I know I'm doing something wrong. I'll keep trying, don't want to turn this comment section into a personal help board. Thanks for the suggestions.

 

Don't worry just keep asking for help. If you have a question or problem the chances are great that many others do as well.

Founder of Audiophile Style | My Audio Systems AudiophileStyleStickerWhite2.0.png AudiophileStyleStickerWhite7.1.4.png

Link to comment

My guess is it's a mounting issue and I seem to find an infinite number of answers when searching. It's possible it has to do with the syntax of how I'm referring to the SMB share on my Mac. I see that there are others on this thread that were looking to do the same thing with their Macs instead of using a NAS. If any of you have had success, any recommendations on what you were able to do to get it to work?

Link to comment
My guess is it's a mounting issue and I seem to find an infinite number of answers when searching. It's possible it has to do with the syntax of how I'm referring to the SMB share on my Mac. I see that there are others on this thread that were looking to do the same thing with their Macs instead of using a NAS. If any of you have had success, any recommendations on what you were able to do to get it to work?

I got it working using OS X 10.8.4. Here are the details.

 

line in fstab:

//10.0.1.54/Desktop /mnt/music cifs user=my_short_username,password=mypassword,nounix,sec=ntlmssp,noperm,rw

 

My Sharing settings:

 

 

sharing-1.png

6673-article-geek-speak-how-build-beaglebone-black-mpd-music-server-sharing-1.png

6672-article-geek-speak-how-build-beaglebone-black-mpd-music-server-sharing-2.png

sharing-2.png

Founder of Audiophile Style | My Audio Systems AudiophileStyleStickerWhite2.0.png AudiophileStyleStickerWhite7.1.4.png

Link to comment

Wow, I would have never have been able to figure that out. Took a few tries, but I was eventually able to mount my drive. Couldn't be anymore pleasantly surprised by this whole project. My Halide works fine as well. Only place where I'm stuck a bit is I can't get MPD to control the volume. I see it at the minimum level on my iPad and can't work the slider, so output is set at the maximum. Normally this wouldn't be a problem, except I run a passive preamp with no remote volume.

 

Thanks Chris for all your help.

Link to comment

Thir article triggered me enough to order a Beaglebone Black. It will be compared to my Windows 7 & / JRiver 17 system which I use now.

 

As my HTPC is also used as our general purpose PC with Outlook/Office, Lightroom, Nik sofware and more I feel a clean dedicated setup will be more convenient as my HTPC is only on when needed, while the beaglebone can be switched on all the time.

 

In other discussions some comparable systems like CuBox are mentioned which seems to do the job well.

Why is the Beaglebone black used here ? Becuase you think it is best suited for the job (with a very low price) or is it because this system has most issues already solved setting it up correctly as appears in your extensive setup description ?

 

What is your experience / expectations compared to a Windows / JRiver setup in sound quality ?

Rigelian iOS app -> BeagleBone Black with Botic driver + Linux MPD + XPEnology NAS -> Soekris dam1121 DAC I2S direct from BBB -> DH Labs Revelation -> NAD C162 -> DH Labs Revelation -> Odyssey Khartago Plus -> DH Labs Q10 -> Boenicke Audio W5

Link to comment

Just have to ask. Library updates fine, and MPAD is connected. The only thing I'm having problems with now is the player is stuck on pause. If I hit play it just goes back to pause immediately. USB DAC is listed as an output. Not sure what has changed. Lots to still learn I see.

Link to comment

Silverarrows,

 

It would mean your Beaglebone failed to recognize your DAC, or it has moved to another position in the devices list.

 

Try typing the following:

 

aplay -L

 

The 2 default devices listed would be Beaglebone Ti and your DAC, in their positions 0:0 or 1:0. If your DAC is not listed, then it will be a connection issue. If it is listed, re-edit /etc/mpd.conf and look for the ALSA Audio Output section:

 

 

[left][color=#3E3E3E]audio_output {[/color]
[color=#3E3E3E]type "alsa"[/color]
[color=#3E3E3E]name "USB DAC"[/color]
[color=#3E3E3E]device "hw:[b]card_name[/b],0" # optional[/color]
[color=#3E3E3E]# format "44100:16:2" # optional[/color]
[color=#3E3E3E]# mixer_device "default" # optional[/color]
[color=#3E3E3E]# mixer_control "PCM" # optional[/color]
[color=#3E3E3E]# mixer_index "0" # optional[/color]
[color=#3E3E3E]}[/color][/left]

 

Where card_name is from the aplay -L command (NOT the device name). If you change your DAC, then you will need to re-edit it.

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...