Midtempo is an automated radio station, managed by athat selects the next track based on what it thinks will sound best.
It analyses the harmonics at the end of the current song – key, intensity, instrumentation, ending style – and looks for another to follow gracefully, either blending or sequencing, so you barely notice the transition. It doesn't get it right all of the time, but it's getting there.
Unlike other streaming platforms, there's no tracking, advertising, or harvesting your data. The focus is purely on improving the AI's selection skills.
Telling you all about the recent changes is, apparently, too dull for a newsletter. Instead, let me explain why I don't want to know whether you're here...
“I want to create [...] without fear of judgement, pressure, or demand. Midtempo is not a commercial product, and I've no intention of making it so. Today's audience figures, and whether that's more or fewer listeners than yesterday, serve no purpose other than as an anxiety-inducing distraction.
Midtempo, the station and the underlying technology, is a non-commercial project. My name is Chris, I write code for a living, and I used to work in radio and with music festivals. This place is a mix of what I do and love.
The station is built to be...
Autonomous – broadcast constantly, without fail, and without oversight.
Elegant – sound like it is carefully curated by a great DJ with a deep understanding of the music they play. It should flow, evolve, and sound both professional and effortless.
Unpredictable – no discernible patterns or awareness of what may play next. That means selections have to happen real-time (so no advance scheduling) with carefully balanced rules; great sounding choices yet relaxed enough for surprises.
Midtempo has been the name of a few online and offline projects of mine, all the way back to '95. It fits as a description of the music style too – I was always more comfortable as a Sunday-afternoon dj. Blues, electronic, ambient, soul, hip-hop, swing, folk, dub, R&B, psychedelia, jazz, funk, reggae... if you're here for the music, hello.
The station is free of ads and sponsorship. The development – server costs, music license fees, bandwidth – is mostly self-funded. I'm conscious that the costs rise as the audience develops so, if you find yourself listening for any length of time, your financial support is most welcome.
The Midtempo platform was created from scratch. There are a couple ofto help with some heavy lifting, and a few to add depth, but the rest is hand-built.
The goal of the technology is to automate the selection and blending of tracks:
The AI should move from genre to genre – 1930's Swing to Modern Electronica – gracefully, as though everything was planned in advance. It should consider what has played before, how long ago the track/artist played and how often each potential combination has been together, then throw in a little chaos to keep things fresh. It should automatically find and insert album covers and artist biographies. The only manual process should be uploading the song, the system must manage everything from there.
Midtempo has no user tracking, no Google Analytics, and no how it might work, rather than whether there is an audience.. The focus is
Manipulating an audio file after it has started streaming, real-time, is either really expensive, or requires someone poking things in the dark with a stick until something happens. Midtempo is very much the latter – what you're listening to has evolved from months of manual track processing and years of code development.
The management and the broadcast systems are separate in case it grows beyond one station (old developer habits, rather than a goal). This structure enables near-continuous improvements to the code and the AI without interrupting the music – everything happens elegantly in the background.
There is total visibility over the AI, with a "Producer's Dashboard" providing real-time track and algorithm control. Every decision can be reviewed, understood, and adjusted so that each iteration improves.
The next goal is to further automate track analysis, which should speed up the time required to get each song uploaded. Which means it will be easier to add more music. Which means I hopefully won't get tired of the current library so quickly...
Please, follow on social media and/or get in touch if you've questions... oh, and any support is most welcome!
We post occasionally on Twitter. There's also a Facebook page, but I'd rather not.