Jump to content
IGNORED

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


Recommended Posts

For the past 2 weeks I have been using Logitech Media Server on the Synology NAS, and running Squeezelite on the Beaglebone Black. It gives a great performance, and takes fewer steps to set up. That does mean taking MPD out of the equation, so I’ll write out a set of instructions elsewhere (new blog entry) if anyone is interested in trying this alternative configuration. The Squeezebox Controller app for the iPhone/iPad works similarly to MPoD/mPaD for remote.

 

Upon further experimenting with networking, I get the best results sending the data between NAS and Beaglebone wirelessly with an Airport Extreme and Express combo. I had always been skeptical with wireless transmission in audio, but on balance less ‘noise’ is heard compared to the wired setup.

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.

Did you get this to work? You ay have to restart the BBB if your DAC was unplugged and replugged in because the BBB won't send power to the DAC unless the DAC is there at boot.

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

Link to comment

Has anyone done a careful comparison of the Beaglebone with other audio servers? I see a lot of technical discussion about how to get it up and running, but not much about its sound quality beyond the most basic review.

Link to comment
Did you get this to work? You ay have to restart the BBB if your DAC was unplugged and replugged in because the BBB won't send power to the DAC unless the DAC is there at boot.

 

Unfortunately not, but what you mention makes sense. I ran the shutdown command to turn the BBB off, connected the Halide Bridge, but no luck. I think I may have to reboot it once it's connected to make sure it is getting power. My DAC is not locking on to the Bridge, I'm guessing now because the Bridge isn't getting power.

Link to comment
Unfortunately not, but what you mention makes sense. I ran the shutdown command to turn the BBB off, connected the Halide Bridge, but no luck. I think I may have to reboot it once it's connected to make sure it is getting power. My DAC is not locking on to the Bridge, I'm guessing now because the Bridge isn't getting power.

Shut it down, pull the power, connect the Bridge, reconnect the power. Should work fine.

 

Id run the command "aplay -l" to make sure the device is visible.

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

Link to comment

Hi Guys - Just an update.

 

I linked to the newest version of the Debian image file in the instructions. And, I did some testing with NFS versus SMB/CIFS. Using NFS I couldn't get playback without pops and ticks. I switched back to SMB/CIFS and all is well. Probably a config issue on my end. Not sure what to tweak.

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

Link to comment
Hi Guys - Just an update.

 

I linked to the newest version of the Debian image file in the instructions. And, I did some testing with NFS versus SMB/CIFS. Using NFS I couldn't get playback without pops and ticks. I switched back to SMB/CIFS and all is well. Probably a config issue on my end. Not sure what to tweak.

 

This is what I have in my /etc/exports (NAS):

 

/volume1/music *(ro,async,no_wdelay,no_root_squash,insecure,anonuid=0,anongid=0)

 

My /etc/fstab entry (Beaglebone):

 

10.0.1.x:/volume1/music /mnt/music nfs soft,intro,ro,rsize=32768 0 0

Link to comment
Has anyone done a careful comparison of the Beaglebone with other audio servers? I see a lot of technical discussion about how to get it up and running, but not much about its sound quality beyond the most basic review.

 

I second this thought. Just wondering how different would it be from a Raspberry Pi or Cubox

Link to comment

Not all NAS are created equal because the suggested settings as decribed in the BBB setup dit not work for me mounting the NAS share.

Mout errors (95) were the only reponse from the BBB

 

Searching internet and trying different combination this one works for me:

 

//192.168.1.xx/Data/Music /mnt/music cifs username =admin,password=wwadmin,iocharset=utf8,sec=ntlm 0 0

 

My NAS is a Netgear Readynas Duo V1 with the latest firmware from last month.

 

Playing works fine with sometimes only some small hiccups the first seconds of a new track played. Have to see how to improve this ... maybe some buffer settings ?

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
Not all NAS are created equal because the suggested settings as decribed in the BBB setup dit not work for me mounting the NAS share.

Mout errors (95) were the only reponse from the BBB

 

Searching internet and trying different combination this one works for me:

 

//192.168.1.xx/Data/Music /mnt/music cifs username =admin,password=wwadmin,iocharset=utf8,sec=ntlm 0 0

 

My NAS is a Netgear Readynas Duo V1 with the latest firmware from last month.

 

Playing works fine with sometimes only some small hiccups the first seconds of a new track played. Have to see how to improve this ... maybe some buffer settings ?

 

You might be able to fine tune CIFS by increasing the size of the buffers.

 

It might be worth trying NFS to remotely mount the disk rather than use SMB/CIFS. I googled for 'Netgear Readynas Duo NFS' and it does look as though is has NFS although you might need to enable it from the command line. See an earlier post from k-man for an example /etc/fstab entry on the BeagleBone, and /etc/exports line on the NAS.

 

On the other hand, Chris Connacker said that he got clicks and pops with NFS that went away when he used CIFS. In my own network I have found that NFS is more efficient.

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
My /etc/fstab entry (Beaglebone):

 

Code:

 

10.0.1.x:/volume1/music /mnt/music nfs soft,intro,ro,rsize=32768 0 0

 

Oops I made an error! "intro" needs to be amended to "intr", otherwise a mount error will arise.

[color=#3E3E3E]10.0.1.x:/volume1/music /mnt/music nfs soft,[/color][b]intr[/b][color=#3E3E3E],ro,rsize=32768 0 0[/color]

 

As Richard pointed, I tried both cifs and nfs mounts, preferring nfs. But I didn't play about with the various options in the Synology DiskStation Manager for the Windows share (re MTU size).

Link to comment

I am completely new to Linux and it's files.

 

Because I have a very short dip in sound during the first second of a track when I skip back or forward or select a track direct (not when playing a complete album) I guess it is a buffer issue when the computer has to adapt to an (unexpected) user command.

 

In the alsa-base.config I see some buffer setting with a "#" before it.

Is it correct that I have to remove the # to "activate" the setting and change the settings / numbers behind it to take full control over the buffer ?

 

Any practical info on what buffer settings to try would be helpfull ... I already read some articles but somehow the information does not really trigger my understandings of the whole process ...

 

P.S. do I need to reboot something before such settings take effect or do I only need to stop end re-start playback ?

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

Any practical info on what buffer settings to try would be helpfull ... I already read some articles but somehow the information does not really trigger my understandings of the whole process ...

 

P.S. do I need to reboot something before such settings take effect or do I only need to stop end re-start playback ?

 

Oystein,

 

I'm new to Linux too so I didn't play around with the alsa-base config settings. An alternative approach would be to try amending the MPD Internal Buffering settings in /etc/mpd.conf:

 

Screen Shot 2013-08-12 at 18.01.01.png

 

So deleting the # before 'audio_buffer_size' and 'buffer_before_play', and change to any appropriate figure (e.g. 1024, and 4% as a suggestion).

 

Save the changes, then reboot or type:

sudo /etc/init.d/mpd restart

 

...activates the changes.

Link to comment

@k-man

 

Thank you for your suggestions. I will try these and see what works best.

 

Looking into the cross-fading option of MPD is read on their Wiki page that these settings also determine the crossfader behaviour.

Music Player Daemon Crossfading Troubleshooting - Music Player Daemon Community Wiki

 

Because I will build something special I started a project topic in the "Music Servers" section where I will coninue my observations and building progress.

http://www.computeraudiophile.com/f10-music-servers/my-beaglebone-black-integrated-dac-music-server-streamer-project-page-17181/#post247550

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

Hi there, nice piece of work!!!

It works like a charm, but it doesn't tag my sacd files?

My Raspberry with Raspify shows all of my dsf files, and plays them to my Teac 501, same config .... but slight klicking sound from usb port :-((

With 192kHz and 24 bit my beaglebone rocks!!!

Link to comment

The small dip at the start of a new track is still present (many times but not always) when I select a new track manually. No problems when a playlist is processed. Repated pressing the |< button in MPad to restart the track over and over again every 3 seconds it happens approx. 50% of the times.

 

To describe the problem more clearly: when a track starts playing within a few tenths of a second the sound volume dips for half a second and comes back to normal.

Sounds if somebody turns the volume down and up very quickly. This all happens in the first 1-1,5 sec.

No clicks or any other undesired effects ... only the volume goes down and up ... it is a fluent change so not unterrupted by a hard off and on again like a switch.

 

I tried different settings for buffer and nrpacks:

- big buffer, high % before play (16M/50%)

- smaller buffer, high % before play (4M/50%)

- really small buffer, high % before play (1M/50%)

- big buffer, low % before play (16M/10%)

- smal buffer, low % before play (2M/10%)

And tried above settings with nrpacks 1, 20 and 50.

 

Ofcourse I removed the ""#" at the buffer lines in mpd.conf to active this funtionality ;-)

I could really notice a bigger delay before play starts with the high buffer settings but for nrpacks I did not notice any difference.

 

Any suggestions ??

 

P.S. ... besides this little annoyance the sound is beautifull .... I will do A/B this weekend but I think it sounds better than my Win7/JRiver setup.

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

Looking into the cross-fading option of MPD is read on their Wiki page that these settings also determine the crossfader behaviour.

Music Player Daemon Crossfading Troubleshooting - Music Player Daemon Community Wiki

Sounds to me like crossfading can be eliminated by setting the buffer before play to 100%.

 

With my Squeezelite configuration I have the 'Crossfade' to OFF in the Logitech Media Server Settings.

Link to comment

After lots of testing and trying I discovered a lot ...

 

The often short dip at the beginning of a track is not computer related. My Windows PC with JRiver 17 has the same issue.

Because I had the crossfading (smooth, 0,5 sec) active I never really noticed until I did some comparissons this morning between the PC and BBB.

Now I also noticeded that the connection with the DAC is lost for a very short moment when I skip track ... not during playback of a complete album because the LED blinks red when I do skip. My DAC was always installed behind some other equipment so I never looked at it during playback and maybe forgotten since I bought it. Also when paused a track and resume playback the same problem on PC and BBB.

So is it NAS/network related of does my DAC play tricks on me?

 

The big discovery (for me at least ;-) was to activate any new nrpacks settings you need to reboot the BBB.

I tried some higher nrpacks before but this apparently did not make any difference.

 

This morning powered up again the last change of nrpacks settings (100) became active and no playback possible.

Set nrpacks at 20 and playback worked again.

At many songs I had problems now with clicks and plops and finally discoverd that this issue was solved lowering nrpacks even more (set on 5 now).

 

P.S. crossfading is a function inside the ncmpc console.

When you press "x" on your keyboard you can toggle between crossfading "off" or "10 sec" but it is related to your buffersettings (memory vs. %-before-play). Maybe some other day I will look into it and try different settings.

Unfortunate crossfade does not work when skipping tracks ... only when you play an album and the next track already fades in at the end of the current track.

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

I am having trouble mounting music files from my VortexBox on the BBB Music Server. I seem to get mount error(13) permission denied.

 

/etc/fstab configurations that I have tried:

 

1) //192.168.0.XXX/storage/music/flac /mnt/music cifs defaults,username=root,password=XXXX 0 0

2) //192.168.0.XXX/storage/music/flac /mnt/music cifs guest,_devnet 0 0

 

No joy or mount for that matter with either fstab configuration!

 

Any help is greatly appreciated!

Link to comment

I had similar problems and the settings advised here did not work for me. I guess some NAS need different commands.

 

This one workerd for me:

 

//192.168.1.xx/Data/Music /mnt/music cifs username =xxxxxx,password=xxxxxx,iocharset=utf8,sec=ntlm 0 0

 

Please be aware that your NAS share is set correct otherwise no mount command will ever work.

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

@Oystein

 

Thanks for you reply!

 

I have figured out how to mount the VortexBox FLAC shares with NFS and have the BeagleBoard Black Music Player up and running! See my post in the Forums under Music Servers for the details.

 

I have to say for the $62 I have invested in this project (I already had a 5V switching PS and a nice 5V Linear Regulated PS) that the cost/performance ratio is "off the charts"!

 

The BBB Music Player running with a nice 5V Linear Regulated PS produces exceptional sound quality. I have heard boutique equipment at the $9.5K level that can't touch this as a digital source!

 

No fan noise or noisy computer PS!

 

All things considered, this is a very worthwhile project in terms on time and money spent!

 

It will replace a SqueezeBox Touch with Linear Regulated PS in one of my systems!

 

I would encourage all who have some Linux experience to undertake this project!

Link to comment

@Oystein

Thanks for the reponse!

 

I got the VortexBox file shares mounted with NFS. I have copied my post from the Forums:

 

OK, gang we have ignition and liftoff! I got the VortexBox files to mount using nfs. Had to:

1. apt-get install nfs-common

2. Edit /etc/fstab file to 192.168.0.105:/storage/music/flac /mnt/music nfs soft,intr,ro,rsize=32768 0 0

3. mount -a

 

And the magic happened! The VortexBox flac files mounted!!

I sort of followed the recipe from this link: BeagleBone Black as an MPD server

 

I am now able to play the files into my Twisted Pear Dual Mono Opus DAC with USB receiver!

 

Listening to Ben Webster at the moment via this front end source!

 

Sound quality is excellent even with a standard SqueezeBox Touch (switching) power supply!Sorry about the bold font! I could not change it after cutting and pasting from my post on the Forums!

Link to comment

Chris, noob here. I have JRiver on my network and just want to send music from my server to the BBB and onto my Dac using the Gizmo app. I'm getting stuck on the commands that follow Type -> nano /etc/fstab. I've entered the ip of my server and the folder of my music files but now I'm not sure if I need to enter a login and password. I guess this is where my brain is stuck. Any help is appreciated.

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...