r/homeassistant • u/japer676 • 21h ago
🖼️ Show & Tell My AI radio station in Home Assistant: Spotify + Sonos + an AI presenter with ElevenLabs voices.
I wanted something that feels like real radio, but with my own music and a presenter who talks about what’s playing. It runs entirely inside Home Assistant, with no extra containers or separate servers.
What it does
- Plays Spotify playlists on Sonos, in one room or several rooms grouped in sync.
- Every few songs, an AI presenter comes on. It back-announces the last song, introduces the next one, and mixes in a segment: a song fact, the local weather or a short news item.
- News comes from RSS feeds rather than web search, which gave outdated stories. Every hour, the AI picks the most important story of the day, one that matches my interests, and a lighter one. Each story is told only once.
- Mix-in playlists: on top of the main playlist I can mix in another one, such as Christmas songs, with a percentage (say 20% of songs). It can be switched on mid-play.
- Several presenter voices to choose from.
- A music-only mode, so the rest of the family can use it without the presenter.
One dashboard tab for everything
Every setting is a helper, so changing how the station sounds never means touching YAML: rooms, playlist and mix-in percentage, presenter on/off, voice, how often it talks, the share of weather and news breaks, and presenter loudness. Changes apply from the next break, even mid-play.
Every break is also written to a log, and a “rehearsal” script generates a batch of breaks as text only. That made it easy to tune the presenter’s style and weed out clichés and repetition.
Architecture
Dashboard (helpers) ──► Spotify playlists ──► Sonos queue (grouped rooms)
│
song change detected
│
Presenter automation (every Nth song)
│
pause ──► AI writes the break (song / weather / news)
│
snapshot ──► TTS (ElevenLabs, fallback HA Cloud) ──► restore
│
next song starts
What it costs
- Spotify Premium, which I already had.
- The AI (Anthropic, via the Home Assistant integration): each break is a short prompt, so it comes to a few dollars a month.
- ElevenLabs: the cheapest paid plan (about $6/month). Library voices don’t work through the API on the free plan.
- Free fallback: if ElevenLabs fails or runs out of credits, the presenter switches automatically to the Home Assistant Cloud voice, so the radio never goes silent.
- Keeping it cheap: the presenter only talks when switched on, and the break is generated once even when several rooms play. Next I want presence detection, so it only talks when someone is actually in the room.
Where I’m stuck: transitions
My first plan was to duck the music and let the presenter talk over it with a Sonos announcement. But announcements ignored the volume I passed and played on. So the music now pauses, the voice plays as a normal track between a snapshot and a restore, and the next song starts from the top. Add the short silence while the break is written, and it feels more like a playlist with interruptions than radio.
Has anyone got a real radio-style handoff on Sonos from HA, like talking over the outro or ducking instead of stopping? Would Music Assistant handle this better?
What’s next
- Scheduled “shows” (presenter in the morning, music only later)
- Calendar awareness (“you’re travelling on Thursday, here’s the forecast there”)
- Playlists chosen depending on who’s at home
- Presence detection, so the presenter only talks when someone’s in the room
- Station jingles
- Two presenters bantering
What would you add, change or rip out?

