The Vinyl Streamer Turns a Raspberry Pi Into an Automated Record Recognizer, Digitizer, and Streamer
On-device fingerprinting lets this clever system recognize a record and stream it, with metadata, to AirPlay and Bluetooth devices.
Pseudonymous maker "palavido" has automated the process of preserving their vinyl record collection — by hooking a turntable into a Raspberry Pi capable of recognizing the music, recording it, and streaming digital copies on-demand.
"Vinyl Streamer captures audio from your turntable through a USB audio interface, learns your record collection through audio fingerprinting, and streams lossless audio to [Apple] AirPlay and Bluetooth speakers throughout your home," palavido explains of the project. "It also records full album sides as FLAC [Free Lossless Audio Codec] files, turning your [Raspberry] Pi into a vinyl jukebox — play back your entire collection at CD quality without ever touching the physical records. Drop the needle once to teach it. After that, play the vinyl or play the recording — your choice."
Vinyl records, the most popular form of in-home music consumption before being dethroned by Audio CDs that were in turn supplanted by streaming services, remain a popular way to collect and enjoy music — and even if you're not convinced by arguments as to the superior "warm" tones of a vinyl record playing through a good amplifier versus "cold" digital audio, it's hard to ignore the enjoyable tactility of physical media.
That tactility can work against the music, though: records work by bouncing a needle through a groove, turning the tiny vibrations into an audio signal. While contactless players, which read the groove using lasers, exist, they're extremely expensive and very sensitive to dust and scratches — meaning the only real way for most people to play their records is by dragging the needle over the top, wearing it away a tiny bit at a time.
The Vinyl Streamer aims to fix that, by automating the process of digitizing records. "Vinyl Streamer sits between your turntable and your speakers," palavido explains. "It captures analog audio via a USB DAC [Digital to Analog Converter, actually an Analog to Digital Converter in this instance], identifies the record using local audio fingerprinting, and streams 16-bit/44.1kHz lossless audio to any AirPlay or Bluetooth speaker on your network. But it goes further than just streaming live vinyl. Every album you teach it gets recorded as a high-quality FLAC file."
The music recognition part of the process isn't entirely automated: rather than rely on a cloud-based service, palavido's approach is to have the user "teach" the system by adding a record to a database manually — with the process eased by providing metadata and artwork import from Discogs. Once added a local instance of the open-source Acoustid Chromaprint system creates a fingerprint of the audio, and the next time the record is played it is recognized automatically.
Once a record has been added, there are two ways to play. The first has the Vinyl Streamer living up to its name: the record is played on the turntable as normal, but a digital stream is sent to compatible wireless speaker and headphone systems. The second relies on the previously-recorded lossless digitized version, playing it back on-demand without the physical record ever having to leave the shelf.
"I'm not an audiophile, and I don't pretend to be," palavido admits. "This started as a personal project — I just wanted a simple way to play my records on speakers around the house without re-buying everything digitally. I also wanted to preserve my vinyl. I know vinyl purists may have opinions about digitizing analog audio, and that's totally fair. I built this for myself and I'm sharing it in case it's useful to anyone else."
Source code for the project has been released on GitHub under the permissive MIT license, along with a one-line installation script for setting it up on your own Raspberry Pi; palavido is planning to also make it available as a flashable SD card image for rapid deployment.