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
Wi-Pi USB Wireless Card $9.69 (optional)
USB microSD Card Reader $5.95 (optional)
Win32 Disk Image $0 (Windows users only)
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
Wi-Pi USB Wireless Card $9.69 (optional)
USB microSD Card Reader $5.95 (optional)
Win32 Disk Image $0 (Windows users only)
Device 3 - USB or HDMI output
Raspberry Pi 2 Model B $35.00
Power Supply (5v 2a) $7.75
microSD Card $8.91
Wi-Pi USB Wireless Card $9.69 (optional)
USB microSD Card Reader $5.95 (optional)
Win32 Disk Image $0 (Windows users only)
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 )
- Download the image file from Volumio (HERE ).
- 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 )
- 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 ) 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 . 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
- Download the image file from Volumio (HERE ).
- 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 )
- 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 . 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.
Recommended Comments