Jump to content
IGNORED

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


Recommended Posts

Indexing is complete- all music visible using ncmpc or MPad!

BBB connected to DAC via USB (Wyred 4 Sound mINT)

I can open and play music files in MPad but there is no sound coming from the mINT...

Almost there, but not quite...

Any further help appreciated!

If you type aplay -l is the DAC listed?

Using ncmpc will a track play or does it say paused at the bottom when you try to play it?

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

Link to comment

the aplay -l command shows the mINT:

 

**** List of PLAYBACK Hardware Devices ****

card 0: Black [TI BeagleBone Black], device 0: HDMI nxp-hdmi-hifi-0 []

Subdevices: 1/1

Subdevice #0: subdevice #0

card 1: USB [MINT Async USB], device 0: USB Audio [uSB Audio]

Subdevices: 1/1

Subdevice #0: subdevice #0

card 1: USB [MINT Async USB], device 1: USB Audio [uSB Audio #1]

Subdevices: 1/1

Subdevice #0: subdevice #0

 

All tracks stay paused whether using MPaD or ncmpc

Link to comment
the aplay -l command shows the mINT:

 

**** List of PLAYBACK Hardware Devices ****

card 0: Black [TI BeagleBone Black], device 0: HDMI nxp-hdmi-hifi-0 []

Subdevices: 1/1

Subdevice #0: subdevice #0

card 1: USB [MINT Async USB], device 0: USB Audio [uSB Audio]

Subdevices: 1/1

Subdevice #0: subdevice #0

card 1: USB [MINT Async USB], device 1: USB Audio [uSB Audio #1]

Subdevices: 1/1

Subdevice #0: subdevice #0

 

All tracks stay paused whether using MPaD or ncmpc

Is your audio output device listed as device "hw:1,0" in mpf.conf?

type nano /etc/mpd.conf to check

 

 

audio_output {

type "alsa"

name "USB DAC"

device "hw:1,0" # optional

# format "44100:16:2" # optional

# mixer_device "default" # optional

# mixer_control "PCM" # optional

# mixer_index "0" # optional

}

- After entering this information press Control O (Control key plus the letter O) then his enter to save the file.

- Hit Control X (Control key plus the letter X) to close the file.

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

Link to comment

Problem solved:

1,0 was transposed in the mpd.conf file.

Its playing now- tremendously helpful!!

I have a lot of 24/88 and some 24/96kHz recordings. Will the BBB support those natively, and if so how do I configure the device for playback of these hi res files?

 

MANY thanks!

Link to comment
Problem solved:

1,0 was transposed in the mpd.conf file.

Its playing now- tremendously helpful!!

I have a lot of 24/88 and some 24/96kHz recordings. Will the BBB support those natively, and if so how do I configure the device for playback of these hi res files?

 

MANY thanks!

It will play all your high resolution material without any other configuration changes. It's all bit perfect without any resampling.

 

Happy to help.

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

Link to comment
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.

 

 

Would really like to know the step-by-step setup instructions for this. Can you provide the link for the new blog entry, when it is available?

 

Thanks

Link to comment
  • 2 weeks later...

I would like to thank Chris, Richard and K-Man for all their contributions to this fantastic project, and all of the members that contributed questions. These questions (and the answers) helped me assemble my BBB system successfully: and I am thrilled with the result. My system is modest: WesternDigital MyBookLive as my NAS, the BBB and a Twisted Pear Buffalo II DAC, and remote is via MPDroid on my Samsung Galaxy SIII.

 

Streaming radio is also supported (much to my delight). Launching ncmpc and in the playlist screen I typed <a> for add and then the URL of the audio stream (not the website of the radio). For the jazz station in Denver, Colorado (KUVO) I entered:

http://kuvo-ice.streamguys.org:80/kuvo-aac-64.m3u - then I hit <return> and scrolled down to the entry and <return> again: bingo. I also hit <S> to save the collection of URLs as a playlist. This shows up on my Samsung. Still can't believe how cool this is.

 

Sometimes I fail to discover the actual URL of the radio station stream. In iTunes, choosing 'get info' from with a radio station highlighted sometimes yields an workable URL but sometimes it does not. Regardless I've collected a dozen or so.

 

Super fun! - David

Link to comment
  • 2 weeks later...
@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!

 

DrSteve, can you please enlighten me as to what the BBB adds to the VortexBox? It seems to be a one.stop.shoppingcenter by itself ? Thanks.

Link to comment
  • 3 weeks later...

24/192 STUTTERS !

Hello together - now i need help too :) After trying Raspyfi without luck ( USB Problems ) i bought a Beaglebone Black and did this Guide Step by Step. (At least) everything works like charm - really cool ! Only one Problem left: My async USB Dac Musical Fidelity V90 supports only 24/96 flacs via USB. I own a few 24/192 files - these should get downsampled by ALSA to 24/96 what theoretically works:

cat /proc/asound/card1/pcm0p/sub0/hw_params access:

RW_INTERLEAVED

format: S24_3LE

subformat: STD

channels: 2

rate: 96000 (96000/1)

period_size: 12000

buffer_size: 48000

BUT THE SOUND STUTTERS - CPU is 99% . Playing original 24/96 Files need 5-10% CPU.

Here is my ALSA Config in mpd.conf:

audio_output {

type "alsa"

name "USB DAC"

device "hw:1,0"

mixer_device "none"

# period_time "50000"

# auto_resample "no"

# format "44100:16:2"

}

As you can see i already tried a view things here...but without luck :(

Any Ideas ? Thanks and Greets from Germany/Munich

Link to comment
24/192 STUTTERS !

Hello together - now i need help too :) After trying Raspyfi without luck ( USB Problems ) i bought a Beaglebone Black and did this Guide Step by Step. (At least) everything works like charm - really cool ! Only one Problem left: My async USB Dac Musical Fidelity V90 supports only 24/96 flacs via USB. I own a few 24/192 files - these should get downsampled by ALSA to 24/96 what theoretically works:

cat /proc/asound/card1/pcm0p/sub0/hw_params access:

RW_INTERLEAVED

format: S24_3LE

subformat: STD

channels: 2

rate: 96000 (96000/1)

period_size: 12000

buffer_size: 48000

BUT THE SOUND STUTTERS - CPU is 99% . Playing original 24/96 Files need 5-10% CPU.

Here is my ALSA Config in mpd.conf:

audio_output {

type "alsa"

name "USB DAC"

device "hw:1,0"

mixer_device "none"

# period_time "50000"

# auto_resample "no"

# format "44100:16:2"

}

As you can see i already tried a view things here...but without luck :(

Any Ideas ? Thanks and Greets from Germany/Munich

Hi Markus - It looks like ALSA is downsampling the 192 files but the CPU can't keep up without dropouts. You may have to convert the files to 96 kHz offline rather than at playback.

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

Link to comment

Hi Chris - thanks for your answer ! But this solution would be too easy for now ;)

I believe in another possibility: there must be a way for changing the downsampler mode . In the moment I´m reading Manuals and Howtos with the Keywords:

samplerate_converter , libasound_module_rate_speexrate.so , libresample etc.

starting e.g. here: Tuning - Music Player Daemon Community Wiki . I hope I´m on the right way... - I will report ;)

Link to comment
Hi Chris - thanks for your answer ! But this solution would be too easy for now ;)

I believe in another possibility: there must be a way for changing the downsampler mode . In the moment I´m reading Manuals and Howtos with the Keywords:

samplerate_converter , libasound_module_rate_speexrate.so , libresample etc.

starting e.g. here: Tuning - Music Player Daemon Community Wiki . I hope I´m on the right way... - I will report ;)

That's a great page for addressing this issue. Please let me know how it works.

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

Link to comment
24/192 STUTTERS !

Hello together - now i need help too :) After trying Raspyfi without luck ( USB Problems ) i bought a Beaglebone Black and did this Guide Step by Step. (At least) everything works like charm - really cool ! Only one Problem left: My async USB Dac Musical Fidelity V90 supports only 24/96 flacs via USB. I own a few 24/192 files - these should get downsampled by ALSA to 24/96 what theoretically works:

cat /proc/asound/card1/pcm0p/sub0/hw_params access:

RW_INTERLEAVED

format: S24_3LE

subformat: STD

channels: 2

rate: 96000 (96000/1)

period_size: 12000

buffer_size: 48000

BUT THE SOUND STUTTERS - CPU is 99% . Playing original 24/96 Files need 5-10% CPU.

Here is my ALSA Config in mpd.conf:

audio_output {

type "alsa"

name "USB DAC"

device "hw:1,0"

mixer_device "none"

# period_time "50000"

# auto_resample "no"

# format "44100:16:2"

}

As you can see i already tried a view things here...but without luck :(

Any Ideas ? Thanks and Greets from Germany/Munich

 

I use AIFF files for playing tracks with the BeagleBone Black in my main system, and playing an AIFF file consumes about 0.7% to 1.0% of the CPU, until an NFS read arrives when it rises to about 3%. When I play Apple Lossless tracks, it takes about 7% of the CPU to decode them, or 10 times more than is needed for AIFF tracks. On a modern Mac Mini the difference in processing CPU time between AIFF and Apple Lossless is very small, and probably not audible. But I think one of the trade offs you need to make when choosing between a powerful general purpose computer like a current Mac Mini, versus a small ARM based music server like a BeagleBone Black, is that you need to do as much processing as possible in advance of playing the track in real time. So the old debate about the audibility of AIFF or WAV versus lossless compressed formats like FLAC or Apple Lossless is still relevant in the world of puny ARM music servers.

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
24/192 STUTTERS !

Hello together - now i need help too :) After trying Raspyfi without luck ( USB Problems ) i bought a Beaglebone Black and did this Guide Step by Step. (At least) everything works like charm - really cool ! Only one Problem left: My async USB Dac Musical Fidelity V90 supports only 24/96 flacs via USB. I own a few 24/192 files - these should get downsampled by ALSA to 24/96 what theoretically works:

cat /proc/asound/card1/pcm0p/sub0/hw_params access:

RW_INTERLEAVED

format: S24_3LE

subformat: STD

channels: 2

rate: 96000 (96000/1)

period_size: 12000

buffer_size: 48000

BUT THE SOUND STUTTERS - CPU is 99% . Playing original 24/96 Files need 5-10% CPU.

Here is my ALSA Config in mpd.conf:

audio_output {

type "alsa"

name "USB DAC"

device "hw:1,0"

mixer_device "none"

# period_time "50000"

# auto_resample "no"

# format "44100:16:2"

}

As you can see i already tried a view things here...but without luck :(

Any Ideas ? Thanks and Greets from Germany/Munich

 

Have you tried using

device    "plughw:1,0"

in your MPD conf?

Chris

Link to comment

To those who build the beaglebone . . . what can be said about the sound quality ?

I am driving my DAC with a vortexbox (with the SOTM USB card) but looking for a second (more simplified) system.

 

Feedback is welcome !

linux musicserver, jeff rowland aeris da, jeff rowland coherence series II, pass x250.5, audio physic caldera mkII & acoustat spectra 22 & Genelec 8050

Link to comment
  • 4 weeks later...

Hi all,

I am a happy mpdpup user on an Alix machine. But now I am helping someone setting a BBB up as described at the beginning of this thread. BTW, thanks Chris for doing that, it is a great how. Would have loved to have such help 3 years ago when I started going down the slippery slope of linux audio ...;-)

 

Can I ask a few questions:

- what "nice" level is mpd running on the BBB? where can I change it to -19 if necessary? anyone done that yet? we could not see mpd with "ps -axl"

- what are people using as buffer sizes in mpd.conf without dropouts and for best sound? we had dropouts with high res files

- chris set nrpacks to 1, I use nrpacks = 20 for better results on the Alix. Is there a consensus what is best here?

 

Thanks and sorry for the techy questions.

lugili

Link to comment

Maybe this is a silly question, but will this work with a stand alone USB drive? I am not running a NAS here, and would love to try this out first, then maybe pursue an NAS. My ultimate goal would be to run an HQ Player NAA and use my W8 internal 4tb "storage space".

Forrest:

Win10 i9 9900KS/GTX1060 HQPlayer4>Win10 NAA

DSD>Pavel's DSC2.6>Bent Audio TAP>

Parasound JC1>"Naked" Quad ESL63/Tannoy PS350B subs<100Hz

Link to comment
Maybe this is a silly question, but will this work with a stand alone USB drive? I am not running a NAS here, and would love to try this out first, then maybe pursue an NAS. My ultimate goal would be to run an HQ Player NAA and use my W8 internal 4tb "storage space".

 

It could be possible if your router has a USB port, and is visible on the network. Otherwise, I see your HQ Player NAA configuration is a lot more simple to set up.

Link to comment

Thank you k-man!

 

Hmm, I do have a USB port on my AP Extreme, but there is a printer attached. I will see if it shows up on the network. Ultimately I would like to experiment with MPD and NAA on a BBB. In the past I have run NAS (Thecuss and Drobo) but there were always issues. I kept managing things instead of listening to music. It was years ago using Mac and iTunes attempting to use the same library. Maybe it will be better now...

Forrest:

Win10 i9 9900KS/GTX1060 HQPlayer4>Win10 NAA

DSD>Pavel's DSC2.6>Bent Audio TAP>

Parasound JC1>"Naked" Quad ESL63/Tannoy PS350B subs<100Hz

Link to comment
Is the beaglebone better sounding than a raspbarrey pi? or is there another reason some of you have discarded the raspbarry and prefer beaglebone?

 

The Raspberry Pi's USB implementation is buggy, and so the BeagleBone Black works with a wider range of DACs. The BeagleBone has a marginally faster processor, and the ethernet implementation doesn't go through the USB bus, like it does on the Raspberry Pi.

 

I use both a Raspberry Pi and BeagleBone in two different systems, but I haven't compared them directly as the Pi won't work with my Musical Fidelity V-Link that I use in my main system. My Raspberry Pi certainly sounds very nice driving a pair of B&W MM-1 speakers.

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

Today I received my BBB and gave it a try, several times. I followed the setup from Chris, mostly with copy and paste so there were no typo’s. I am a complete newbie to Unix so i got stuck. Maybe someone is willing to help me to overcome the situation.

I used the most recent Debian Wheezy image.

I use a Synology NAS for storage of music files. I can play these files with JRiver and Logitech Media Server. IP address 192.168.1.246

In /etc/fstab I added: //192.168.1.246/Muziek /mnt/music cifs defaults,username=admin,password=mypassword 0 0

In /etc/mpd.conf I did not change the music player name

In /etc/mpd.conf there are 2 lines # bind_to_address. I removed # only in front of the the line where I had to change localhost in 0.0.0.0

/etc/default/cpufrequtils appeared to be am empty file. I added GOVERNOR=“performance”

In the end I typed ncmpc and a window appeared

I hit the letter Q and tried MPaD. MPaD showed nothing.

I assume I did something wrong. I repeated the whole even three times

At some point ssh root did not work. After googling I solved this by typing ssh-keygen -R 192.168.1.221

At some point mount -a gave an error, so I started over again.

Right now I feel pretty stupid not be able to get this thing going.

Any help would be appreciated

Link to comment
Today I received my BBB and gave it a try, several times. I followed the setup from Chris, mostly with copy and paste so there were no typo’s. I am a complete newbie to Unix so i got stuck. Maybe someone is willing to help me to overcome the situation.

I used the most recent Debian Wheezy image.

I use a Synology NAS for storage of music files. I can play these files with JRiver and Logitech Media Server. IP address 192.168.1.246

In /etc/fstab I added: //192.168.1.246/Muziek /mnt/music cifs defaults,username=admin,password=mypassword 0 0

In /etc/mpd.conf I did not change the music player name

In /etc/mpd.conf there are 2 lines # bind_to_address. I removed # only in front of the the line where I had to change localhost in 0.0.0.0

/etc/default/cpufrequtils appeared to be am empty file. I added GOVERNOR=“performance”

In the end I typed ncmpc and a window appeared

I hit the letter Q and tried MPaD. MPaD showed nothing.

I assume I did something wrong. I repeated the whole even three times

At some point ssh root did not work. After googling I solved this by typing ssh-keygen -R 192.168.1.221

At some point mount -a gave an error, so I started over again.

Right now I feel pretty stupid not be able to get this thing going.

Any help would be appreciated

Using ncmpc can you play music?

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

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