Check out Cadence, my radio software suite project.
With Cadence, you get an audio stream complete with music search, song request, artwork, and real-time update APIs pre-bundled with stream software.
It’s source-available, free, and can be installed in minutes.
<aside> 📻 Want to see the live demo first? https://cadenceradio.com/ You can also get started now with instructions available on README: https://github.com/kenellorando/cadence
</aside>
I originally started this project (well, originally an experiment) in 2017.
I was a college student just trying to set up a web radio out of my dorm room. Cadence as you see it today is the culmination of years of repeated installations of radio components, piecemeal development of things I thought would be useful, and running different deployments of cadenceradio.com.
In this post, I’ll teach you what the basic architecture of a hobby web radio looks like and show you what value Cadence provides.
Let’s first examine a basic web radio stack.
A vanilla hobbyist web radio is generally composed of two software components:
Basically, take a server with audio files (e.g. mp3
), configure a source client to use the files for an audio output, and send that audio output to a stream server which will broadcast it to the internet.
Two of the most popular source client and stream server programs are, respectively, Liquidsoap and Icecast. The setup of the components looks like this: