Introduction: Raspberry Pi As Hi-Fi Player With RuneAudio
This Instructable will show you how to turn your Raspberry Pi in a Hi-Fi music player with surprising sound quality when used in combination with an USB DAC.
We are going to introduce here RuneAudio, a free and open source software that we developed to replace the personal computer as digital source with a dedicated, cheap, silent and low-consumption board, running a custom-build Linux distribution. It's a new-born project but it already offers many features, it is under active development and it counts on a fresh but growing community.
As many other open source projects, RuneAudio came out from personal needs: we all were using a laptop as digital source before, but we weren’t happy about absolute sound quality and ease of use. Our girlfriends didn’t like it either, as messing around with laptop and cables in the living room was dramatically lowering the WAF of our Hi-Fi systems :) We thought that our work could be useful for many other people out there with the same needs, so we set up an open source project, encouraging people to download it for free and to contribute to the development.
RuneAudio project has two main and clear goals.
Our first goal is sound quality: we are working hard to get the best results from the Raspberry Pi and the other supported platforms, using Arch Linux as the base of our RuneOS and optimizing it as best we can for audio reproduction.
Our second main goal is to make it easy to use for everyone, so we developed a handly web interface (RuneUI) who lets users control the playback and system settings with absolute no need to use Linux command line. The web interface is cross-platform and responsive (it adapts to screen size), making it accessible from every kind of device (desktop computers, notebooks, tablets and smartphones). The installation process is as easy as writing an .img file to your SD card.
So let's begin with the (short) quick start guide.
Step 1: Download and Extract
Once download is completed, extract the content of the .zip file with a compressed file manipulation utility (for instance: 7-Zip on Windows, Zipeg on Mac, Unzip on Linux). You will now have an .img (raw disk image) file.
Step 2: Write the Image to the SD Card
Write the extracted .img file to your SD card, following the instruction of one of the following guides on elinux.org:
- (Windows) HowTo (we also suggest USB Image Tool that does the job even quickier)
- (Mac) HowTo
- (Linux) HowTo
Make sure your SD card is not write protected before writing the image on it or before plugging it in your device.
When the write process has finished, safe unmount the SD card and plug it into your device.
Step 3: Set Up the Raspberry Pi
- If you have a USB DAC plug it into a USB port, otherwise just plug the analog jack;
- If you have a USB storage, plug it into a USB port. In case of USB hard drive it’s strongly suggested the use of an external power supply if available or at least a USB powered hub;
- Plug your ethernet connector in
- Plug the PSU to the device
- Power the device on
RuneAudio will now boot on your device for the first time, acquiring an IP address (with enabled DHCP on your LAN).
Step 4: Access the Web Interface – RuneUI
You can reach the PlayerUI in several ways:
- (Windows) open the following address in your browser: http://runeaudio or http://runeaudio.local (works if an Avahi/Bonjour client is installed)
- (OSX / Linux) open the following address in your browser: http://runeaudio.local
- (Windows) you should find a new icon under My Network Places, called RuneAudio: double click it to open you the PlayerUI in your default browser
- If everything from above fails, try to discover the IP address of your device (check on your router) and point your browser to it (e.g. http://192.168.1.xxx)
Once inside, the Playback main view shows up.
We are not going to write here a manual of the web interface because it is designed to be easy to use and intuitive, so here there are just some hints.
You will notice three tabs on the bottom: Browse, Playback and Playlist. These are the main and most used sections of the RuneUI during music reproduction.
- Browse tab will be populated once you connect a USB drive containing music files to the Raspberry, or after you add a network mount (NAS) through the MENU > Database wizard.
- Playlist tab will be populated after you add items from the Database view.
And now a final hint about a way to quickly access RuneUI: if you are using Google Chrome in Windows you can create an application shortcut in your desktop and/or in your taskbar. Here's a video showing how to do it:
That's all, enjoy your low-cost/high-quality digital player!
Step 5: Get the Best Sound Quality Results
Some tips to get the best sound quality and enjoy your music:
- Use USB output for a true Hi-Fi experience, with an external USB DAC (a dedicated Digital Analog Converter). The built-in 3.5mm analog output is not that bad, but it's far away from high fidelity.
- Access your music through network. You can also read it from USB storages, but best results occur when music is stored on a NAS, mounted via NFS protocol.
- Use a good power supply, at least 10W (5V 2A). The Raspberry Pi has some known power issues and if you plan to plug more USB peripheals (e.g. a USB storage) it's strongly recommended to connect them via a powered USB hub.
- Try different system profiles under MENU > Settings > Sound quality tweaks in RuneUI. Every profile contains a set of kernel and system settings that may make your device perform better or worst, depending on surrounding condition (DAC model, NAS model, mount protocol, etc). On a revealing setup you should notice audible differences between them, so choose the one which adapts better to your taste.
Step 6: Final Thoughts
The Raspberry Pi is a very popular platform and has been used for every kind of projects. Now it can be used as a dedicated/cheaper/smaller/silent replacement of the PC for computer audio, with surprising results.
RuneAudio is a new-born project and we still are in a early development stage, so in the first beta releases some features are limited and there could still be some small bugs. We invite you to give us your feedback in our forums and help us grow in number and quality.
We hope you'll find our work useful for you, we put a lot of effort in it.
Thank you for your attention! Ciao!
Finalist in the
Raspberry Pi Contest