Chromecast your LPs With a Little Help From WebAudio

As it usually does, this all started in the thrift store. I was perusing the usual DVD racks and furniture when something caught my eye. It was an ion USB turntable, the kind with no speakers. These types of cheap turntables clutter the electronics sections of most thrift stores, as the replacement needle is generally more valuable than the turntable itself. Nevertheless I decided to take a look.

Lo and behold, the needle still had the plastic sleeve on, and had never been used, for 5$ I was in! One small problem, as I generally listen to my music through a Chromecast audio device, and I’d like to be able to cast this from my Linux desktop. For some strange reason, you can’t currently cast a Linux desktop to a Chromecast audio device.

Why must you hurt me when I love you so Chromecast Audio

What to do? Hack it somehow! We’ve only got one connection on this thing, and that’s a USB out, so we’re talking a software hack.

I realized that if I could get a tab broadcasting the audio, then I’d be in business, as you can cast a tab to a Chromecast audio device? (I know right, I should just VNC in from a tab or something) I quickly found an HTML5 audio demo using some open source tech I could hack up to play the audio as it was coming in.

After downloading the source code, I began to dig in. Simple HTML and Javscript, just how I like. For ease of use and sharing out you can try this on my GitHub Pages here.

The solution was simply to add an audio output destination node to the webaudio processing workflow.

And that’s that! I can listen to my records and Chromecast them to Chromecast audio devices.