Local speech recognition & synthesis

Home Assistant voice announcements: speaking through the house with a Piper voice

An announcement is not an Assist reply: you send one sentence to one speaker.

An Assist reply returns to the device you spoke to, while an announcement goes to a speaker you choose. Give tts1.speak the TTS engine, the speaker and the sentence, and the Piper voice plays in that room. This guide covers splitting speakers per room and setting a night volume.

Requirements and key details
  • Give tts.speak a TTS entity, a speaker and a sentence, and the audio plays in that room.
  • Unlike an Assist reply, an announcement does not return to the device you spoke to.
  • Split speakers per room and lower the volume at night.

A reply and an announcement move differently

When you speak to Assist the reply returns to that satellite or phone. An announcement instead goes to the speaker you chose, so 'the front door is open' comes out of the living-room speaker, not the device you spoke to.

Once that difference is clear, the two get designed separately: conversation near the satellite, announcements in the room where people are.

An open book, a small computer, and a speaker sit on a desk by a window.
The announcement comes from the speaker you chose, not the device you spoke to.

Sending a sentence with tts.speak

In an automation action, choose tts.speak, target the TTS entity (for example the one Piper provides), and give the speaker and the sentence as data. The speaker is a media_player entity.

Repeating the same sentence reuses the cache and is faster from the second time. Values such as time or temperature change every run and miss the cache, so keep fixed announcements apart from value-carrying ones.

One speaker per room

With several speakers, name them by room and pick the target by where the event happened: the entry sensor to the living room, the washing machine to the laundry area.

To speak everywhere at once, group the speakers and send once. Sending to each room separately makes the sentences drift and overlap.

A microphone, headphones, and a monitor showing an audio waveform.
Splitting speakers per room puts the sound where people are.

Quieter at night

At night, lower the volume and postpone anything not urgent until morning. Only urgent events, such as a door opening or smoke, should make noise at night.

Volume has to be set per speaker. The same value sounds different on a small and a large speaker, so listen once in each room before fixing it.

What changes with a long sentence

A long sentence takes longer to synthesize and is easier to miss halfway. Keep announcements to two sentences and send the detail to a phone notification or a screen.

Numbers read more reliably written as they sound, 'twenty-three degrees' rather than '23'. Writing device names the way they should sound cuts odd readings.

Two metal devices sit on a desk and shelf beside a laptop, with cables connected to a switch box in front
Lower the volume at night and keep only urgent announcements audible.

Terminology notes

  1. Text-to-Speech — Technology that converts text into spoken audio with pronunciation and prosody.

    Back to the text

Frequently asked questions

What should you check first in this article?
An Assist reply returns to the device you spoke to, while an announcement goes to a speaker you choose. Give tts.speak the TTS engine, the speaker and the sentence, and the Piper voice plays in that room. This guide covers splitting speakers per room and setting a night volume.