I recently acquired a turntable with a built in USB audio interface and while that’s not the main reason I bought it it got me thinking about hooking it up to some sort of streaming server so the audio would be available anywhere… I have Google chromecast (audio) along with Volumio & Sonos devices around the house so it would be good if I could support them all.
I installed a Raspberry Pi as a permanent companion to the turntable and started looking for existing projects that might have done similar.
I found some good info in this medium post by Guy Dupont. This introduced me to Icecast and Darkice to handle the audio stream and HTTP encapsulation. I installed the stock versions as Darkice seems to support mp3 anyway (one of the sub-references Guy Dupont’s piece includes a custom build of “Darkice+MP3” but I didn’t use that). I didn’t need an external USB i/f as my turntable already had one built in and I didn’t need another app to control streaming to chromecast etc. – the excellent VLC can do just about anything, including streaming to chromecast. I also use Volumio and Sonos in other rooms: Volumio can handle “web radio” which is effectively what the Icecast/Darkice combo is creating and Sonos can do the same via TuneIn Radio’s “My Radio Stations/Add new radio station” option:
Of course if you have a VPN connection back to home, you can listen to your home audio from anywhere whilst you’re out and about – I listened to one of my old LPs through my phone/car audio on the way to do the school pick-up 😀
Turntable analogue audio –> A/D –> USB –> Pi –> Darkice/Icecast –> network –> VPN –> Internet –> 4G –> phone –> Bluetooth –> in-car Audio
Of course this method isn’t limited to audio from the turntable. I’ve since added an external USB interface to the Pi and hooked up the cassette & minidisc decks too. The same Pi is handling all the audio and also performing remote control functions for the old cassette deck.