Jump to content
  • The Computer Audiophile
    The Computer Audiophile

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

    thumb.jpgWarning the following article contains some geeky stuff. What follows is a step by step guide to building a tiny 2.4" x 0.82" x 3.54" Linux music server. It's not rocket science and the instructions make the process fairly easy, but the article isn't for everybody. Thanks to CA readers K-man and Richard Dale for additional information and tweaks for setting up the BeagleBone Black so it runs great. Please note there are many ways to setup and configure the BBB. This is just one way using either Mac OS X or Windows. Readers are encouraged to leave comments with additional tips, tricks, and tweaks. I will update this article accordingly.[PRBREAK][/PRBREAK]

     

    1-Pixel.png

     

     

     

    1-Pixel.png

     

     

    opening.jpg

     

     

     

    1-Pixel.png

     

     

     

     

    Introduction

    The new $45 BeagleBone Black motherboard has excited many computer audio entusiasts. This tiny board has enough power and ports to run a Linux based MPD music server. In addition, Logic Supply has released a new BeagleBone Black case in a very cool orange color as well as a more traditional black. The case is made specifically for the BBB. All the ports line up perfectly and the finished product with BBB inside looks really neat. I attached the four rubber feet to the bottom of my Logic Supply case and the BBB sits nicely on any of my audio components without scratching itself or the other device. The case is made of sturdy metal, unlike the plastic options available heretofore. If you have a BBB or are going to pick one up I'd pick up the Logic Supply case as well.

     

    bbb-board.jpg

     

     

    1-Pixel.png

     

     

    Here is a list of requirements and step by step instructions for the BBB-MPD server running Linux from the built-in eMMC flash drive.

     

     

     

    Requirements:

     

     

     

    1-Pixel.png

     

     

    Step By Step Mac

     

    - Connect the MicroSD card using an adapter to a Mac or PC.

    - Open Disk Utility (Applications > Utilities > Disk Utility), select select all volumes under the MicroSD card, then select Unmount. In my example the volume is named 8GB. (Image Link ex.png)

    - Install The Unarchiver (App Link ex.png)

    - Download the Debian Wheezy image (Direct Link ex.png). During the download if asked a question about the file extension .img or .xz, click "Use .xz" (Image Link ex.png)

    - Double-click the downloaded Debian Wheezy image. This will open The Unarchiver and automatically extract the needed image file (BBB-eMMC-flasher-debian-7.4-2014-03-27.img)

    - Open the Terminal app (Applications > Utilities > Terminal)

    - Type -> sudo su (without the arrow ->)

    - Enter your password if asked.

    - Type -> diskutil list

    - Take note of the disk number of the MicroSD card connected to your computer. My MicroSD card is listed as /dev/disk1. The MicroSD card should be easily identifiable by its small size. My MicroSD card is listed as 7.9 GB (Image Link ex.png)

    - Type -> sudo dd if=

    - Drag the Debian Wheezy image file on to the Terminal window to automatically fill in the path to the file (Image Link ex.png) You can also type this in manually if desired.

    - After dropping the image file on to the Terminal window the command line should read something like this >> dd if=/Users/chris/Desktop/BBB-eMMC-flasher-debian-7.4-2014-03-27.img (Image Link ex.png).

    - Make sure there is a single space after the path to the Debian Wheezy image file entered in the previous steps.

    - Type -> of=

    - Then enter the disk number of your MicroSD card. In my case this is /dev/disk1

    - The text should look something like this of=/dev/disk1 (Image Link ex.png).

    - Make sure there is a single space after the path to your MicroSD card entered in the previous steps.

    - Type -> bs=1m

    - The entire line should now look something like this >> dd if=/Users/chris/Desktop/BBB-eMMC-flasher-debian-7.4-2014-03-27.img of=/dev/disk1 bs=1m

    - Here is an image of my Terminal (Image Link ex.png)

    - Hit Enter on your keyboard and wait for the image to be written to the MicroSD card. This will take several minutes and appear like your computer is stuck. Please wait for the command to finish.

    - Once the image has been written to the MicroSD card the Terminal window will list something like this

    700+0 records in

    700+0 records out

    734003200 bytes transferred in 393.606273 secs (1864816 bytes/sec) (Image Link ex.png)

    - If you receive an error message stating "Resource busy" (Image Link ex.png) you likely skipped step 2. Please unmount the volume and try again.

    - Open Disk Utility (Applications > Utilities > Disk Utility), select the MicroSd card, click Eject or Eject Disk via the right-click menu.

    - Place the MicroSD card into the BeagleBone Black's MicroSD card slot.

    - Hold down the small Boot Switch / Button ex.png while connecting the power supply to the board.

    - As soon as one of the User LEDs illuminates, release the Boot Switch / Button.

    - The User LEDs should continue flashing while the MicroSD card image is copied to the on-board eMMC flash memory. The process should take about five minutes.

    - When all four User LEDs are illuminated steady, pull the power supply from the board and remove the MicroSD card.

    - Connect an Ethernet cable to the board and re-connect the power supply.

    - The BeagleBone Black will boot into Debian Linux.

    - Install the LanScan application from the App Store Link ex.png

    - Open LanScan and click Lan your Scan.

    - Once the network scan has completed locate the BeagleBone Black's IP address. The vendor will be listed as Texas Instruments. My BeagleBone Black's IP address is 10.0.1.179 (Image Link ex.png)

    - Open the Terminal app (Applications > Utilities > Terminal)

    - Type -> sudo su

    - Enter your password if asked.

    - Type -> ssh root@

    - After the @ symbol type the IP address of your BeagleBone Black and hit enter. Mine looks like this ssh [email protected] (Image Link ex.png)

    - You should receive a message about the authenticity of the of and the RSA key fingerprint. Type the entire word YES and hit enter.

    - You'll then be asked for the root password to login to the BeagleBone Black. Enter root as the password.

    - Here is an image of the entire login sequence (Image Link ex.png)

    - From here the Mac OS X and Windows configuration is the same because the work is done on the BeagleBone Black. Skip to the BeagleBone Black OS configuration.

     

     

     

     

     

     

     

    Step By Step Windows

     

    - Connect the MicroSD card using an adapter to a Mac or PC.

    - Install 7-Zip Link ex.png

    - Install Win32 Disk Image Link ex.png

    - Download the Debian Wheezy image (Direct Link ex.png).

    - Right-click the downloaded Debian Wheezy image. Select 7-Zip in the right-click menu, then select Extract Here. The file BBB-eMMC-flasher-debian-7.4-2014-03-27 will appear next to the downloaded image when the extraction is complete. (Image Link ex.png)

    - Open Win32 Disk Imager

    - Make sure the MicroSD card drive letter is selected under Device (Image Link ex.png)

    - Select the small folder to the left of the Device drive letter and browse to the file extracted using the 7-Zip program. You will need to click the drop-down arrow above the Cancel button (lower right) and select *.* to show all files (Image Link ex.png). (The Debian Wheezy image is extract without the .img file extension). Once *.* is selected you can select the file BBB-eMMC-flasher-debian-7.4-2014-03-27 that was extracted using the 7-Zip program. Don't select the .xz compressed file. (Image Link ex.png)

    - Click the Write button and Yes to any popup questions.

    - Eject the MicroSd card when Win32 Disk Imager finishes writing the image.

    - Place the MicroSD card into the BeagleBone Black's MicroSD card slot.

    - Hold down the small Boot Switch / Button ex.png while connecting the power supply to the board.

    - As soon as one of the User LEDs illuminates, release the Boot Switch / Button.

    - The User LEDs should continue flashing while the MicroSD card image is copied to the on-board eMMC flash memory. The process should take about five minutes.

    - When all four User LEDs are illuminated steady, pull the power supply from the board and remove the MicroSD card.

    - Connect an Ethernet cable to the board and re-connect the power supply.

    - The BeagleBone Black will boot into Debian Linux.

    - Download the PuTTY application Link ex.png

    - Download the Advanced IP Scanner application Link ex.png

    - Open Advanced IP Scanner and click the Scan button.

    - Once the network scan has completed locate the BeagleBone Black's IP address. The manufacturer will be listed as Texas Instruments. My BeagleBone Black's IP address is 10.0.1.179 (Image Link ex.png)

    - Open the PuTTY application and enter the IP address of your BeagleBone Black. I've entered 10.0.1.179 (Image Link ex.png)

    - Click Open, then click Yes to the PuTTY Security Alert (Image Link ex.png)

    - Enter root at the login prompt (Image Link ex.png)

    - Enter root as the password.

    - The screen should look like this (Image Link ex.png)

    - From here the Mac OS X and Windows configuration is the same because the work is done on the BeagleBone Black. Skip to the BeagleBone Black OS configuration.

     

     

     

     

     

     

    BeagleBone Black OS configuration.

     

    After using PuTTY or the OS X Terminal app to connect via SSH to the BeagleBone Black you'll need to run several commands to update and configure the BBB as an MPD server.

     

    - Type -> apt-get update

    - Hit Enter and wait for the update to complete.

    - Type -> apt-get upgrade -y

    - Hit Enter and wait for the upgrade to complete.

    - Type -> reboot

    - Hit Enter and wait for the BBB to restart

    - Reconnect to the BBB via SSH using PuTTY or OS X Terminal app as described above.

    - Type -> apt-get install mpd ncmpc alsa-base cifs-utils -y

    - Wait for the installation to complete.

    - Type -> apt-get remove apache2 -y

    - Wait for the removal to complete.

    - Type -> apt-get autoremove -y

    - Wait for the removal to complete.

    - Type -> mkdir /mnt/music

    - Type -> nano /etc/fstab

    - Hit the down arrow to the botom of the file that was opened with the previous command.

    - You will need the IP address of your NAS drive on which your music collection is stored. Use the aforementioned IP scanning tools if necessary. You will also need the Share name of the folder on your NAS. For example when I connect to my NAS I use the IP address 10.0.1.18 and the Share name is Audio. Audio is just a folder on the NAS.

    - Add the following line to the bottom of this opened file (nano /etc/fstab), substituting your NAS IP and Share name rather than using my information. Replace the ********* with the actual password to your NAS Share. Here is an image of my file (Image Link ex.png)

    //10.0.1.18/Audio/Music /mnt/music cifs defaults,username=admin,password=********** 0 0

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

    - Type -> mount -a

    - Type -> nano /etc/mpd.conf

    - Make the following changes to the mpd.conf file that was opened with the previous command.

    Remove the # symbol in front of the following lines

    zeroconf_enabled "yes"

    zeroconf_name "BBB Music Player"

    mixer_type "hardware"

    bind_to_address

     

    Change the line -> bind_to_address "localhost"

    to -> bind_to_address "0.0.0.0"

     

    Change the line -> music_directory "/var/lib/mpd/music"

    to -> music_directory "/mnt/music"

     

    Find the Alsa Audio Output section and make it look like this, placing # symbols in front of the bottom four options and changing the device to hw:1,0. The name can be changed to USB DAC or anything else if you'd like.

     

    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.

    - Type -> nano /etc/modprobe.d/alsa-base.conf

    - Arrow to the bottom of the file and add the following text -> options snd-usb-audio nrpacks=1

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

    - Type -> nano /etc/inittab

    - Place the # symbol in fron of the following lines

     

    1:2345:respawn:/sbin/getty 38400 tty1

    2:23:respawn:/sbin/getty 38400 tty2

    3:23:respawn:/sbin/getty 38400 tty3

    4:23:respawn:/sbin/getty 38400 tty4

    5:23:respawn:/sbin/getty 38400 tty5

    6:23:respawn:/sbin/getty 38400 tty6

     

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

    - Type -> nano /etc/default/cpufrequtils

    - Add the following text -> GOVERNOR="performance"

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

    - Type ncmpc

    - Once the app opens hit Control U (Control key plus the letter U) to update the MPD database with all the music stored on your NAS. This may take awhile depending on how much music you have and how fast your network and NAS are.

    - Hit the letter Q to exit the ncmpc window. The Database update will continue.

    - NCMPC can be used to play music, but the interface is pretty crude compared to MPoD on the iPhone or MPaD on the iPad.

     

    Remote Control

    - Install MPoD or MPaD from the app store

    MPoD Link ex.png

    MPaD Link ex.png

     

    If using MPoD, open the app and select the target looking icon in the upper left corner of the Now Playing window. You should see the your server listed. Select the server and tap the Done button. Second, select the gear icon next to the target icon on the Now Playing Screen. Then select Refresh Local Cache to populate the app with the database of music stored on your NAS and available to the server. Now you'll be able to browse through the bottom of the app selecting Artist, Album, Song, and more.

     

    [ATTACH=CONFIG]6521[/ATTACH] [ATTACH=CONFIG]6519[/ATTACH] [ATTACH=CONFIG]6520[/ATTACH]

     

     

     

     

     

     

     

    Please let me know if you find errors in this guide. I will keep it updated as appropriate. Tips, tricks, and tweaks are also encouraged!

     

     

     

     

    1-Pixel.png

     

     

     

     

    Image Gallery

     

    [ATTACH=CONFIG]6515[/ATTACH][ATTACH=CONFIG]6512[/ATTACH][ATTACH=CONFIG]6509[/ATTACH][ATTACH=CONFIG]6516[/ATTACH][ATTACH=CONFIG]6513[/ATTACH][ATTACH=CONFIG]6510[/ATTACH][ATTACH=CONFIG]6507[/ATTACH][ATTACH=CONFIG]6514[/ATTACH][ATTACH=CONFIG]6511[/ATTACH][ATTACH=CONFIG]6508[/ATTACH][ATTACH=CONFIG]6517[/ATTACH][ATTACH=CONFIG]6518[/ATTACH]

     

     

    1-Pixel.png




    User Feedback

    Recommended Comments



    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?

    Share this comment


    Link to comment
    Share on other sites

    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

    Share this comment


    Link to comment
    Share on other sites

    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.

    Share this comment


    Link to comment
    Share on other sites

    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!

    Share this comment


    Link to comment
    Share on other sites

    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.

    Share this comment


    Link to comment
    Share on other sites

    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

    Share this comment


    Link to comment
    Share on other sites

    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

    Share this comment


    Link to comment
    Share on other sites

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

    Share this comment


    Link to comment
    Share on other sites

    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

    Share this comment


    Link to comment
    Share on other sites

    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.

    Share this comment


    Link to comment
    Share on other sites

    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 ;)

    Share this comment


    Link to comment
    Share on other sites

    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.

    Share this comment


    Link to comment
    Share on other sites

    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.

    Share this comment


    Link to comment
    Share on other sites

    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?

    Share this comment


    Link to comment
    Share on other sites

    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 !

    Share this comment


    Link to comment
    Share on other sites

    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

    Share this comment


    Link to comment
    Share on other sites

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

    Share this comment


    Link to comment
    Share on other sites

    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.

    Share this comment


    Link to comment
    Share on other sites

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

    Share this comment


    Link to comment
    Share on other sites

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

    Share this comment


    Link to comment
    Share on other sites

    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.

    Share this comment


    Link to comment
    Share on other sites

    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

    Share this comment


    Link to comment
    Share on other sites

    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?

    Share this comment


    Link to comment
    Share on other sites

    Using ncmpc can you play music?

     

    Chris, No, I cannot play music,nothing is shown. I think there is no connection with the NAS for some reason. Instead of "//192.168.1.246/Muziek /mnt/music cifs defaults,username=admin,password=mypassword 0 0" I tried "//192.168.1.246/volume2/Muziek /mnt/music cifs defaults,username=admin,password=mypassword 0 0". That did not work either. The image used to start with is BBB-eMMC-flasher-debian-7.2-2013-11-15.img. The NAS is a Synology 1512+ + DX510 running the latest firmware.

    Share this comment


    Link to comment
    Share on other sites




    Guest
    This is now closed for further comments




×
×
  • Create New...