How we built an A.I Radio Presenter
"Radio, we still love you."
The Immortal words sung by the late, great Queen frontman Freddie Mercury. Really, these words are in some ways the biggest inspiration for our current project.
We do love Radio, we still do and that's why we wanted to bring it to digital but really make it fit for purpose with seamless music discovery at the heart of it.
Even with algorithmic and human curation, discovery is still fundamentally broken, we are stifled with limited playlists that, when done, make somewhat of an attempt to move you on to
something you may like and then after that, choice is hard, finding yourself endlessly scrolling through a list trying to pick out the perfect song for the moment is in my mind a circle of Hell.
That's why we built Radiant. Radiant is an app, but the true magic is Rad, who lives within Radiant
A human-like, AI powered DJ with a voice and a personality.
What can Rad do:
📻 Digital streaming in a traditional radio format
He knows what you love and plays music that's right for whatever time of day you find yourself in, learning as he goes, generating an infinitely long playlist
⛅️ Information Hub
Rad’s not just a DJ, he’s a weatherman, news anchor and traffic reporter all in one.
Listeners can tweet into the show and Rad will read their tweets live to other listeners around the globe
🗣️ An ever evolving personality
Rad pulls in the tweets from his official twitter page and adds them to his personality database.
🎛️ Dial in your experience
Not feeling Rad right now? Find a station that's right for you and set it as a preset so you can quickly tune in to it later.
How we built Radiant
This concept had been pin-balling around our heads for quite some time, we knew that radio offered a pattern that we wanted to bring to the digital streaming space but the technological landscape had to be right for us to do it.
Now, in this highly-connected, Spotify lead, speech driven era, we had all the building blocks we needed to make what we had in our heads a real thing.
A Presenter is born 🎙
So the cornerstone of any good radio station is the DJ behind the mic. We needed a way of generating speech that was:
A) Human sounding enough such that listeners didn’t wind up squarely in uncanny valley and
B) Has self awareness to convince the listener that there is a spark of life there
We started with Rad’s voice, initially looking at leveraging Siri for speech synthesis but this proved, frankly unpleasant. We then looked at the market eventually settling on Google’s DeepMind powered WaveNet.
This provided us with a human sounding voice that we could configure to have whatever cadence, accent, pitch, gender etc we wanted.
Rad’s Personality 🤗
Our next step was to build up a personality.
We had initially crafted a fairly happy-clappy script for Rad, one that delivered the songs and added contextual information in a cheerful, yet deadpan way. The result was a little jarring to the listener and would grate on you over an extended listening session so we took this feedback and went back to the drawing board. Rad now has what some might describe as a bad attitude but he also now leans into his AI identity, making light of some of the fear, warranted or otherwise.
What's a music radio station without music? 🎸
From past experience, licensing music is a nightmare and the last thing we wanted to do was have to engage with this on a region by region basis. So we went off and started building on top of the biggest game in town. Spotify.
It wasn't enough to just regurgitate Spotify’s library at the listener though, it needed to be smart and it needed to be hyper-personalized. Spotify gives us what the listener liked and didnt like and from there we could build a basic understanding of what that listeners taste profile was. We then needed a classifier to make recommendations and what songs were the right songs and when to play them over the course of a day, and across the various days of the week.
Once we had that we had the ability to query Spotify’s catalog in order to fetch a dynamic stream of music that had the right mix of discovery and acoustic characteristics for any given moment. This created that ‘curated-by-DJ’ experience in a far more personal/individual fashion than you’d get with traditional radio programming.
Your own personal DJ is useless if they can’t learn over time. The engine we built needed a learning component that could guide the stream the more you listen to it.
But of course, there are times where you want the options to be a bit more specific, even in the context of lean-back listening. You probably have your favourite station but there are plenty of times where you’ll switch to another station that serves songs of a specific, different genre. To solve this we introduced the concept of themed stations and presets that a listener can quickly jump between to dial in their experience.
It’s not just the music 🤖
Music is a key part of the radio paradigm but there is so much more to the radio and a DJs job than just spinning the hits, we needed to leverage the rich wealth of APIs on the market to dynamically curate information that was relevant to you and present it in a natural fashion.
APIs for events and ticketing, databases of biographical information, Google’s traffic APIs and news and weather services all are core aspects of the value of Rad and with our understanding of traditional radio gleaned from our research phase, would could layer everything in seamlessly to the listening experience.
What's a radio show without a bit of listener engagement? 🗣
Another staple of radio, is listener call-in’s. And as such, we wanted to create a system akin to call-in’s but for the 21st century. Our solution was to leverage the same Twitter channel we used to allow Rad’s personality to be dynamic, to provide a mechanism for listeners ‘call-in’ and have their thoughts shared with other listeners around the globe. People can Tweet at Rad (@OfficialRadDJ) over on Twitter and from there have their tweets read aloud, which is pretty cool, but it couldn't just be a free-for-all.
We stuck a moderation system between Rad and Twitter which analysises the stream of Tweets coming in the door and kicks any overly offensive or spammy Tweets to the curb long before they land in the ears of our listeners. The last thing we want is a good idea to turn into yet another channel for hate or a platform for the far ends of the political spectrum to leverage.
Whats next? ➡️
We have many more features planned for future updates, including maybe something along the lines of group listening and of course an Android app. If you want to hop on board, you can download Radiant for iPhone here
Subscribe to get your daily round-up of top tech stories!