Jump to content
  • The Computer Audiophile
    The Computer Audiophile

    Geek Speak: Raspberry Pi HiFi Is Here

    thumb.png

    Over the years I've researched countless software and hardware combinations, based on the Raspberry Pi, for use in HiFi audio systems. I'm not alone. Audiophiles all over the world have been trying to squeeze every ounce of audio quality from the device since its release in February 2012. During the early attempts it was "nerd city" with massive tweaking and lackluster results. Now, with the Raspberry Pi 2 Model B, the right software, and a few optional add-ons, audiophiles have a simple solution for HiFi sound starting at around $50.

     

    After publishing the previous CA Geek Speak article with instructions for using a Beaglebone Black as a UPnP renderer, I noticed many user comments seeking additional features. Members of the CA Community asked for WiFi, Spotify, and different audio output options among other things. Satisfying these needs wasn't possible with the hardware limitations of the Beaglebone Black. Thus, I went back to the Raspberry Pi platform and pieced together three different solutions for bit perfect playback.[PRBREAK][/PRBREAK]

     

    1) Raspberry Pi board with high quality digital audio output via coaxial RCA or optical TosLink.

    2) Raspberry Pi board with high quality analog audio output via RCA.

    3) Raspberry Pi board with high quality USB audio output or HDMI output

     

    All three devices can support gapless wired or wireless audio playback up through 24 bit / 192 kHz. The USB output can support higher sample rates including DSD. The HDMI output currently passes all audio out at 48 kHz. I believe a software fix is in the works for this HDMI limitation.

     

    The software used for all three devices is called Volumio. Volumio offers terrific features and a nice user interface. Here are some features:

     

    Supports accessing music stored on a NAS or USB drive

    Supports UPnP / DLNA / openHome as a media renderer

    Supports Spotify with a Premium Account

    Supports HiFiBerry audio hardware add-ons such as the DAC+ and Digi+ without manual file edits

    Supports USB audio output without pops, ticks, and other issues commonly found with the Raspberry Pi

    Supports AirPlay as an audio receiver

    Supports the Wi-Pi 802.11n (2.4 GHz) wireless adapter

     

     

     

    Requirements

     

    Device 1 - Digital audio output via coaxial RCA or optical TosLink

     

    Raspberry Pi 2 Model B $35.00

    Power Supply (5v 2a) $7.75

    microSD Card $8.91

    HiFiBerry Digi+ w/ output transformer $37.50

    Volumio Software $0

    Wi-Pi USB Wireless Card $9.69 (optional)

    USB microSD Card Reader $5.95 (optional)

    Win32 Disk Image $0 (Windows users only)

     

    Device-1.png

     

     

     

     

     

    Device 2 - Analog audio output via RCA

     

    Raspberry Pi 2 Model B $35.00

    Power Supply (5v 2a) $7.75

    microSD Card $8.91

    HiFiBerry DAC+ $32

    Volumio Software $0

    Wi-Pi USB Wireless Card $9.69 (optional)

    USB microSD Card Reader $5.95 (optional)

    Win32 Disk Image $0 (Windows users only)

     

    Device-2.png

     

     

     

     

     

    Device 3 - USB or HDMI output

     

    Raspberry Pi 2 Model B $35.00

    Power Supply (5v 2a) $7.75

    microSD Card $8.91

    Volumio Software $0

    Wi-Pi USB Wireless Card $9.69 (optional)

    USB microSD Card Reader $5.95 (optional)

    Win32 Disk Image $0 (Windows users only)

     

    Device-3.png

     

     

     

     

    Step-By-Step Instructions

     

    Almost all the instructions are identical for all three devices. Here are the instructions that are the same for all devices, followed by specific instructions for each device as needed.

     

     

     

    Step-By-Step Mac OS X (All Devices)

     

     

    - Connect the MicroSD card to the computer

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

    - Download the image file from Volumio (HERE ex.png).

    - Double-click the downloaded preconfigured image file named Volumio1.55PI.img.zip. This will automatically extract the image file named Volumio1.55PI.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 Volumio image file named Volumio1.55PI.img on to the Terminal window to automatically fill in the path to the file. 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 >> sudo dd if=/Users/chris/Desktop/Volumio1.55PI.img.

    - Make sure there is a single space after the path to the Volumio image file named Volumio1.55PI.img 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.

    - 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/Volumio1.55PI.img of=/dev/disk1 bs=1m

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

    3781+1 records in

    3781+1 records out

    3965190144 bytes transferred in 2489.137016 secs

    - 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 Raspberry Pi's MicroSD card slot.

    - Connect an Ethernet cable to the board or put the Wi-Pi USB wireless card into a USB port, and your USB DAC to a USB port and connect the power supply.

    - The Raspberry Pi will boot up into the Volumio operating system and will be ready for the final configuration for optimal audio output.

    - Wait a few minutes for the Raspberry Pi to boot, then open a web browser such as Safari, Chrome, or Firefox and go to http://volumio.local . If the Volumio web page for your device doesn't appear, I recommend typing in the IP address of the raspberry Pi. To find the IP address I recommend using the LanScan application from the App Store Link ex.png. Please leave a comment below if you get stuck at this step.

     

     

     

     

     

     

     

    Step-By-Step Windows (All Devices)

     

    - Connect the MicroSD card to the computer

    - Install Win32 Disk Image Link ex.png

    - Download the image file from Volumio (HERE ex.png).

    - Right-click the downloaded Volumio image file named Volumio1.55PI.img.zip. Select Extract All (you may have to click Next after this). This will extract the image file named Volumio1.55PI.img into a folder with the same name Volumio1.55PI.img.

    - 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 previously extracted named Volumio1.55PI.img. Don't select the .zip compressed file.

    - 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 Raspberry Pi's MicroSD card slot.

    - Connect an Ethernet cable to the board or put the Wi-Pi USB wireless card into a USB port, and your USB DAC to a USB port and connect the power supply.

    - The Raspberry Pi will boot up into the Volumio operating system and will be ready for the final configuration for optimal audio output.

    - Wait a few minutes for the Raspberry Pi to boot, then open a web browser such as Internet Explorer, Spartan, Chrome, or Firefox and go to http://volumio.local . If the Volumio web page for your device doesn't appear, I recommend typing in the IP address of the raspberry Pi. To find the IP address I recommend using the Advanced IP Scanner application Link ex.png. Please leave a comment below if you get stuck at this step.

     

     

     

     

     

     

     

     

     

     

    Device 1 Configuration - Digital audio output via coaxial RCA or optical TosLink

     

    - Open the Volumio web interface in your web browser

    - Select Menu in the upper right, then select System

    - On the System page you can enter a unique name for the device is desired.

    - On this page you can also enable AirPlay and Spotify

    - Scroll down to the section labeled I2S Driver, click the down arrow, select Hifiberry Digi, then click Apply

    - Reboot the device by Menu > Turn Off > Reboot

    - Reopen the Volumio web interface, select Menu > Playback

    - On this page you can set different volume options, DSD options, and resampling options.

    - Under the section labeled Audio Output click the down arrow and select sndrpihifiberry, then click Save Changes

    - By default the Raspberry Pi will now be capable of accepting audio as a UPnP / DLNA / openHome renderer and sending audio out the digital audio output via coaxial RCA or optical TosLink

     

    Optional Steps

     

    - For wireless configuration select Menu > Network, scroll down to Wireless Connection. Please note that the network name must be broadcast (Can't be a hidden network SSID). Enter the pertinent details and reboot.

     

    - Adding a USB disk or NAS drive is done by selecting Menu > Library

     

     

     

     

     

     

     

    Device 2 Configuration - Analog audio output via RCA

     

    - Open the Volumio web interface in your web browser

    - Select Menu in the upper right, then select System

    - On the System page you can enter a unique name for the device is desired.

    - On this page you can also enable AirPlay and Spotify

    - Scroll down to the section labeled I2S Driver, click the down arrow, select Hifiberry +, then click Apply

    - Reboot the device by Menu > Turn Off > Reboot

    - Reopen the Volumio web interface, select Menu > Playback

    - On this page you can set different volume options, DSD options, and resampling options.

    - Under the section labeled Audio Output click the down arrow and select sndrpihifiberry, then click Save Changes

    - By default the Raspberry Pi will now be capable of accepting audio as a UPnP / DLNA / openHome renderer and sending audio out the analog audio output via RCA

     

    Optional Steps

     

    - For wireless configuration select Menu > Network, scroll down to Wireless Connection. Please note that the network name must be broadcast (Can't be a hidden network SSID). Enter the pertinent details and reboot.

     

    - Adding a USB disk or NAS drive is done by selecting Menu > Library

     

     

     

     

     

     

     

    Device 3 Configuration - USB or HDMI output

     

    - Open the Volumio web interface in your web browser

    - Select Menu in the upper right, then select System

    - On the System page you can enter a unique name for the device is desired.

    - On this page you can also enable AirPlay and Spotify

    - Select Menu > Playback

    - On this page you can set different volume options, DSD options, and resampling options.

    - Under the section labeled Audio Output click the down arrow and select your USB DAC or ALSA, then click Save Changes

    - By default the Raspberry Pi will now be capable of accepting audio as a UPnP / DLNA / openHome renderer and sending audio out the USB or HDMI output

     

    Optional Steps

     

    - For wireless configuration select Menu > Network, scroll down to Wireless Connection. Please note that the network name must be broadcast (Can't be a hidden network SSID). Enter the pertinent details and reboot.

     

    - Adding a USB disk or NAS drive is done by selecting Menu > Library

     

     

     

     

     

     

     

    Wrap-up

     

    The Volumio web interface is great for browsing the options and trying different configurations without the requirement of Linux knowledge. I encourage everyone to snoop around and try items such as the Sound Quality Tweaks listed on the System menu. As usual please let me know if there are any errors in the above instructions and leave comments, questions, or concerns below.

     

     

     

     

     

    1-Pixel.png




    User Feedback

    Recommended Comments



    Is it possible to control the media player (raspberry pi) without a network- example if I want to carry this around in an offline environment- how do i control it ?

     

    Yes, but I suspect it leads to many potential compromises. You can connect a monitor to the hdmi connector and a keyboard and mouse via USB and use a command line interface with some players and possibly load a browser to use web interfaces, but as many people say, the additional IO loads plus the added software involved may degrade the sound quality. There are wifi adapters and bluetooth adapters which might work well with an IOS/android phone if a 2 node network could be configured (no router). I would pursue that approach first.

     

    Some folks have attached small touch screens to RPIs, so that might be a good choice. The availability of doodads for them seems to be endless and your eagerness to become the integrator is the factor here.

     

    Skip

    Share this comment


    Link to comment
    Share on other sites

    Is there any aes3 interface card for PI 2? I want to connect digital speaker like genelec 8330 directly, which have internal dac within the speaker.

    Share this comment


    Link to comment
    Share on other sites

    I have both an RPi 2 and BBB and have played with both of Chris's guides (thank you). While I can get the M2tech (xmos version) working with either, nothing I do has lead to the Audiophilleo/PP working with either of these setups. I am a total linux newbie but have experimented quite a bit with different settings in MPD and alsa, with no luck.

     

    On the BBB I get music but lots of stuttering. On the Pi, I get a few seconds of garbled music then silence.

     

    I really want to get the AP/PP/Pi or BBB combo working to see if it beats the Mac Mini/Audirvana. The M2tech/Pi or BBB definitely does not beat the MacMini.

     

    Any thoughts?

    Share this comment


    Link to comment
    Share on other sites

    Did you see that a Volumio 2.0 is hopefully coming out soon. Looks promising: https://volumio.org/introducing-volumio-2/

     

    Very encouraging -- Sounds like they're addressing the very issues I mentioned earlier:

     

    "Volumio sounds noticeably clearer to me than OpenELEC, with better depth of sound-field. On the other hand, OpenELEC has a much richer media interface and broad support base. It also seems to be a lot more robust: I hardly ever have a problem connecting with it or using it, whereas with Volumio I often lose connection to my Synology DS-411 NAS. Volumio also seems to have a slower, and more variable, command response time."

     

    Regards,

    Share this comment


    Link to comment
    Share on other sites

    I'd like to install the USB version of this in my system. I plan to connect the Option 3 (USB) Raspberry to an external usb hard drive. With all the talk about running multiple usb devices on a single bus and stuff, is running hard drive and high rez files both over usb a problem?

    Share this comment


    Link to comment
    Share on other sites

    I'd like to install the USB version of this in my system. I plan to connect the Option 3 (USB) Raspberry to an external usb hard drive. With all the talk about running multiple usb devices on a single bus and stuff, is running hard drive and high rez files both over usb a problem?

     

    I haven't tried high rez but cd quality works ok if the hard drive is powered by its own psu. I tried running a USB powered HD and that didn't work well. But, my first preference is to stream it via wired ethernet connection and second option is to stream via USB WiFi dongle. I connected my external drive to my WiFi routers USB input and used it as a simple NAS.

    Share this comment


    Link to comment
    Share on other sites

    I haven't tried high rez but cd quality works ok if the hard drive is powered by its own psu. I tried running a USB powered HD and that didn't work well. But, my first preference is to stream it via wired ethernet connection and second option is to stream via USB WiFi dongle. I connected my external drive to my WiFi routers USB input and used it as a simple NAS.

    My router does have a ReadyNAS function so that may work well. I plan to pickup the wifi dongle suggested in the write up.

    Share this comment


    Link to comment
    Share on other sites

    I'm stuck at the opening volumio.local stage. My Raspberry Pi doesn't show up on my network at all, either with the USB wireless card or an ethernet cable. Is there anything I need to do before I load the operating system on the microSD card and put it in the slot?

    Share this comment


    Link to comment
    Share on other sites

    I'm stuck at the opening volumio.local stage. My Raspberry Pi doesn't show up on my network at all, either with the USB wireless card or an ethernet cable. Is there anything I need to do before I load the operating system on the microSD card and put it in the slot?

    I would try using an IP network scanning application to find its IP address and enter that into your browser rather than the name.

    Share this comment


    Link to comment
    Share on other sites

    I would try using an IP network scanning application to find its IP address and enter that into your browser rather than the name.

     

    Good advice. It is also possible to see what IP address has been assigned by connecting the RPI to a monitor and looking through the text output for the "Bound to..." address. Once you do connect, it's probably best to use a fixed IP address, as your router may periodically reassign addresses.

     

    I've also observed that when you type "volumio.local" on an iPhone control point, for example, the resultant output may also include suffixes from the previous connection that may be inappropriate and will cause Volumio to hang.

    Share this comment


    Link to comment
    Share on other sites

    pardon this question but in your description of the construction you mention connecting an ethernet cable to the Raspberry Pi board but not where to connect the other end of the cable. To the router? Thanks for all the information and help.

    Share this comment


    Link to comment
    Share on other sites

    pardon this question but in your description of the construction you mention connecting an ethernet cable to the Raspberry Pi board but not where to connect the other end of the cable. To the router? Thanks for all the information and help.

    The other end would connect to a spare port on your router (or another switch as part of your network).

    Share this comment


    Link to comment
    Share on other sites

    I notice on the Volumio site there is a link to a program for Mac OS called PiWriter. It evidently allows for writing the Volumio OS to the Micro SD card without using terminal commands. Have I got that right? Any problem using it?

    Share this comment


    Link to comment
    Share on other sites

    Is anyone familiar with these folks: https://audio359.eu? Based in Belgium they're selling a system composed of a

    Raspberry Pi 2/HiFiBerry DAC plus Audioengine A5+'s w/speaker stands. Price, current euro/dollar conversion, is ~$765.00/$831.00 depending upon the speaker cabinet type.

    Share this comment


    Link to comment
    Share on other sites

    Is anyone familiar with these folks: https://audio359.eu? Based in Belgium they're selling a system composed of a

    Raspberry Pi 2/HiFiBerry DAC plus Audioengine A5+'s w/speaker stands. Price, current euro/dollar conversion, is ~$765.00/$831.00 depending upon the speaker cabinet type.

     

    Looks like a good value-based system for those not DIY-inclined. (Website indicates they use a Raspberry Pi-B+, not Pi 2.)

    Share this comment


    Link to comment
    Share on other sites

    Finally got the Rasberry Pi2 installed but upon boot up I see that the local file system is corrupt which causes processes to fail. I believe it's the SD card that is getting corrupted and it couldn't load volumio. The items I have connected to the device are:

     

    usb keyboard

    usb mouse

    hdmi tv monitor

    wireless card or ethernet cable to router

    4gb Sd card inserted into rasberry micro sd slot

     

    Steps I've taken to resolve issue:

    Reformatted SD card

    Re-Wrote Volumio back to sd card

    Waiting to reinstall

     

    Any ideas on how to resolve it?

    Share this comment


    Link to comment
    Share on other sites

    Finally got the Rasberry Pi2 installed but upon boot up I see that the local file system is corrupt which causes processes to fail. I believe it's the SD card that is getting corrupted and it couldn't load volumio. Any ideas on how to resolve it?

     

    I have found (as many reported) that certain types or brands of SD card simply will not work in a RPi, even though they may work in a camera, for example. I've had good luck with SanDisk and MicroCenter-branded cards. There are lists of trusted cards available on several Raspberry help sites.

     

    It has also been reported that USB power converters must put out at least 5 Volts under load for the RPi to function reliably.

    Share this comment


    Link to comment
    Share on other sites

    Finally got the Rasberry Pi2 installed but upon boot up I see that the local file system is corrupt which causes processes to fail. I believe it's the SD card that is getting corrupted and it couldn't load volumio. The items I have connected to the device are:

     

    usb keyboard

    usb mouse

    hdmi tv monitor

    wireless card or ethernet cable to router

    4gb Sd card inserted into rasberry micro sd slot

     

    Steps I've taken to resolve issue:

    Reformatted SD card

    Re-Wrote Volumio back to sd card

    Waiting to reinstall

     

    Any ideas on how to resolve it?

     

     

    Maybe a larger capacity SD card (6 or ten speed) also increase the usb power of the rpi (google is your friend)

     

    stick to Ethernet If you can.

     

    A headless install is possible with Volumio and Moode (I prefer the latter OS)

     

     

    atb

     

    Ronnie.

    Share this comment


    Link to comment
    Share on other sites

    I'm having a problem getting wifi connected. Raspberry Pi 2, Edimax USB adapter, Roon and Volumio OS's. I'm able to get on the Internet using Ethernet connection. Both Roon and Volumio show the wifi adapter connected but there is no light on in the USB and it won't connect to the Internet if I remove the Ethernet cable. Any suggestions would be appreciated

    Share this comment


    Link to comment
    Share on other sites

    I'm having a problem getting wifi connected. Raspberry Pi 2, Edimax USB adapter, Roon and Volumio OS's. I'm able to get on the Internet using Ethernet connection. Both Roon and Volumio show the wifi adapter connected but there is no light on in the USB and it won't connect to the Internet if I remove the Ethernet cable. Any suggestions would be appreciated

     

     

     

     

    This is from another forum

     

    A brief follow up on what Peter has said and the ref to his post at theaudiostandard forum. Once you have worked out how to connect to your RPi via SSH, you can log in as the "root" user with password "volumio" (unless your're not using Volumio).

     

    Two points - (a) commands do not need to be prefixed by "sudo" , (b) the following single command will append the appropriate line of text to the "/boot/config.txt" file:

     

     

     

     echo max_usb_current=1 >> /boot/config.txt

     

    Then reboot your RPi either via the Volumio web interface, or via the command line:

     

     

     

    reboot

     

    The usb dongle takes a while to reboot, watch until you see the blue light flashing on the dongle before opening the WEB GUI of Volumio.

     

     

    atb

     

    Ronnie.

     

    Edit:

     

    Good info available here

     

    How to Build a Raspberry Pi Based Audio Streamer |

    Share this comment


    Link to comment
    Share on other sites

    First - Thanks for the site and the GREAT articles. You explain things clearly and I can actually understand most of it (My fault not yours.)

     

    Second - I bought the equipment and now have my Pi, HiFiBerry and Volumio set up working (option 1) and Thank You Very Much, it sounds great.

     

    But... I notice you are a fan a JRiver software which I am using for the rendering and library management. I'd love your thoughts on using the JRiver Linux in liu of Volumio. Have you had a chance to play around with it on this Pi system?

     

    Thanks for all you are doing.

    Share this comment


    Link to comment
    Share on other sites




    Guest
    This is now closed for further comments




×
×
  • Create New...