JSK Sound

AudioBox

AudioBox Raspberry PI recorder
December 30, 2020

Often as I listen to records, I'll come across something that is interesting. Something to sample, something to re-imagine, an interesting lick or progression that I want to come back to. Something that sparks an idea. As luck would have it, I find that inspiration happens more often than not at a time where I'm not free to deviate from what I'm already doing. I needed a quick way to capture these fleeting ideas so I can come back to them later. In theory I could run a cable to my desk and launch something (reaper, ableton, etc) to make a quick recording. Based on experience I've realized that I needed a quick, light solution, or I would let the moment pass without capturing it. So I built what I'm calling my "AudioBox".

The AudioBox is a Raspberry PI with a HifiBerry DAC+ ADC audio "hat" running the latest Ubuntu desktop (20.10, 64 bit Desktop at the time I put it together). The DAC+ ADC essentially works as an audio interface with analog audio inputs, and analog audio outputs.

Although the AudioBox is setup with a desktop version of Ubuntu (truthfully, I'm not sure if this would work with headless Ubuntu, probably would, but I haven't tried it), I only have audio connections going in and out of the box. No screen, no keyboard, no mouse. I'm essentially running it headless.

Audio flows from my turntable, into a phono preamp, from the preamp into the input of the AudioBox. The output of the AudioBox is then connected to my powered monitors (via a small mixer for volume control, etc). Inside the AudioBox, the input is looped back to the output. Doing so means that I can always hear what's coming off the turntable, regardless of if I'm recording or not. Playback from the AudioBox is also always pushed to my monitors.

I recognize that the world's audiophile types are giving me the side-eye right now. This can't be the best signal flow, where everything is running through the DAC and back before it hits the speakers. I'm fine with that. My vinyl collection isn't here for audio purity sake, it's here after years of looking for these hard to find records, in whatever shape they happen to be. So yes, there are much better setups if you're listening to vinyl as a way to be morally superior. For the rest of us, this works just fine :)

In order to record, manipulate (mostly normalizing) recordings, access the recordings, or to playback anything, I am currently ssh'ing to the AudioBox and using a combination of arecord, aplay and sox. I'm really comfortable with linux and a shell, but I realize that this is now into serious nerd territory. One of these future weekends, I'm going to build a web app that hides this complexity behind a clean, simple UI that lets you just hit a local web address to record, playback, download etc all from a browser. That web app will also let me tag and search for recordings. Until then this much nerdier version is working pretty well for me.

I'll come back with another post on some of the technical hurdles I hit along the way. Most of the HifiBerry docs are meant for Rasbian OS (not Ubuntu). There were a few obstacles to overcome, I might as well document them in case others are up for building something similar.