Latest / Big Iron Radio / Homelab Brief - TTS Announcements Across the House with Snapcast
Transcript
- 0:02Welcome to the Homelab Brief from Big Iron.
- 0:06Today, injecting a doorbell chime or a text-to-speech announcement into a whole-house Snapcast setup.
- 0:13Quick note, this is an AI voice drawn from a Big Iron guide.
- 0:18Links below.
- 0:19Here's the core problem.
- 0:21Snapcast has no native concept of duck and resume.
- 0:25Each client just plays whatever bytes arrive from its assigned source group.
- 0:29So an announcement means one of two things either you swap the source the zone is listening to,
- 0:35or the underlying player handles the duck and resume itself.
- 0:39Option 1 is a meta stream.
- 0:41You point the zone at a special stream that can switch between your music and the announcement.
- 0:47Use this when your zones are fed by a mix of players a raw Libra spot here, an MPD there,
- 0:53a line in somewhere that aren't all behind one abstraction.
- 0:56Option 2 is Music Assistant's Announce Service It's Play Announcement Call.
- 1:02Use this when everything already routes through Music Assistant.
- 1:06It's less code, and it handles the resume atomically, so you don't have to choreograph it yourself.
- 1:12Under the hood, the local recipe is clean.
- 1:14Render the TTS through Piper a local voice.
- 1:18Nothing leaves the house.
- 1:20Write the raw PCM into a dedicated announcement pipe, and then drive Snapcast's group.
- 1:25Set stream JSON RPC call to point the zones at that pipe and back again when it's done.
- 1:31So the decision is just.
- 1:33Mixed players use a meta stream.
- 1:36Everything on Music Assistant use its announce service.
- 1:39Either way, Piper does the talking locally.
- 1:43The full configs in the show notes.
- 1:45That's your brief.