For the past 10 years, I have mostly worked remotely, but when I walked into the office, I sat in a room filled with introverted colleagues who could easily be distracted by ambient noise and conversations. We found that listening to music could suppress the office noise, making the sound less intrusive and providing a pleasant working environment with enjoyable music.
Initially, one of our colleagues brought in some old active computer speakers, connected them to his desktop, and then asked us what we wanted to listen to. It worked, but the sound quality wasn’t great, and it was only usable when he was in the office. Next, we bought a pair of Altec Lansing speakers. The sound quality improved, but there was still no flexibility.
Not long after, we got a generic ARM single-board computer (SBC), which meant anyone could control the playlists and speakers via a web interface. But a regular ARM development board meant we couldn’t use popular music device software. Due to a non-standard kernel, updating the operating system was a painful process, and the web interface frequently crashed.
As the team grew and moved into a larger room, we began dreaming of better speakers and an easier way to handle the combination of software and hardware.
To solve our problem in a relatively cheap, flexible, and good-sounding way, we developed an office HiFi using a Raspberry Pi, speakers, and open-source software.
HiFi Hardware
Using a dedicated PC to play background music is a bit excessive. It’s expensive, noisy (unless muted, but that’s even more costly), and not environmentally friendly. Even the cheapest ARM boards can handle this job, but they often have issues from a software perspective. The Raspberry Pi is relatively cheap, and while it’s not a standard computer, it has good support in both hardware and software.
The next question is: what speakers to use? Quality active speakers are expensive. Passive speakers are cheaper but require an amplifier, adding another box to the setup. They also have to use the audio output from the Raspberry Pi; while it can work, it’s not the best, especially when you’ve already invested in high-quality speakers and amplifiers.
Fortunately, among the thousands of Raspberry Pi hardware expansions, there are amplifiers with built-in digital-to-analog converters (DACs). We chose the HiFiBerry Amp. It was discontinued shortly after we bought it (replaced by the Amp+ model with better sample rates), but it was good enough for our purposes. With the air conditioning on, I think you wouldn’t hear a difference between a 48kHz or 192kHz DAC anyway.
For speakers, we chose the Audioengine P4, purchased at a clearance sale from a store at a very low price. It easily filled our office room with sound without distortion (and could carry into our room with some distortion, which the engineers next door often disliked).
HiFi Software
On our old generic ARM SBC, we needed to maintain an Ubuntu system, using a fixed, outdated kernel outside the package repository, which was problematic. The Raspberry Pi operating system includes a well-maintained kernel package, making it a stable and easy-to-update base system, but it still required us to regularly update Python scripts to access Spotify and YouTube. For our purposes, this was a bit too high maintenance.
Fortunately, using the Raspberry Pi as a base means there are many ready-made software devices available.
We chose Volumio, an open-source project that turns the Raspberry Pi into a music playback device. The installation is a straightforward step-by-step process. Installing and upgrading is completely painless, without the hassle of installing and maintaining an operating system and regularly debugging broken Python code. Configuring the HiFiBerry amplifier doesn’t require editing any configuration files; you just select from a list. Of course, getting used to the new user interface takes some time, but the stability and ease of maintenance make the change worthwhile.
Volumio interface
Playing Music and Experiencing
Although we all worked from home during the pandemic, I installed the office HiFi in my home office, which meant I could operate it freely. A constantly changing user interface can be painful for a team, but for someone with a development background, playing with a device is very interesting.
I am not a programmer, but I have a strong background in Linux and Unix system administration. This means that while I find fixing broken Python code annoying, Volumio is perfect enough for me, boring enough (which is a good “problem”). Fortunately, there are many other possibilities for playing music on the Raspberry Pi.
As a terminal enthusiast (I even start LibreOffice from the terminal window), I primarily use Music on Console (MOC) to play music from my NAS. I have hundreds of CDs, all converted to FLAC files. I have also purchased many digital albums from sources like BandCamp or Society of Sound.
Another option is the Music Player Daemon (MPD). Running it on the Raspberry Pi, I can remotely interact with my music using one of the many clients available for Linux and Android.
Music Never Stops
As you can see, creating a cheap HiFi system has almost limitless possibilities in both software and hardware. Our solution is just one of many, and I hope it inspires you to build something suitable for your environment.