TIL You can change the voices of Nabu Casa Cloud TTS

It’s not documented on the TTS page that you can not only pick a language and a gender, but also pick a specific voice with YAML configuration.

It’s currently based on Azure Speech Service.

I think not documenting it is done on purpose if Nabu Casa decides at some point to change the underlying service for TTS. So be aware that specifying a voice can break your setup if there are changes done by Azure or Nabu Casa.

service: tts.cloud_say
data:
  language: fr-FR
  entity_id: media_player.mini_salle_de_bain
  options:
    voice: JeromeNeural
  message: Bonjour à toutes et à tous

All the available voices are listed here:

10 Likes

Thank you for posting this. I was looking for how to do this for quite a while.
:grinning:

1 Like

If you want to change the voice in the automation editor, this example works for me:

Action → “tts.speak”

Targets → Home assistant cloud (similar may work for other tts services)

Media player entity → your smart speaker

Message → your text

Language → Box checked, fill in a language code from the github file listed above

Options → Box checked, fill in "voice: " followed by one of the voices listed for that language. No quotes.

2 Likes