TTS service (e. g. VoiceRSS): set voice

How can I set the voice of a TTS service (like specifically VoiceRSS VoiceRSS - Home Assistant)?

According to the API doc (Voice RSS - Text-to-speech (TTS) API documentation) it is possible by adding e. g. “&v=Amy” to the HTTP GET request.

But the integration is taking care of that (encapsulates the HTTP GET request I guess) and it does not have a configuration option VoiceRSS - Home Assistant for this.

So I tried few combinations (wild guesses) for the platform-specific options when executing the service. Example:

service: tts.voicerss_say
data:
  message: Test
  entity_id: media_player.speaker
  options: v=Amy

… which fails with error Error when executing service tts.voicerss_say. expected dict for dictionary value @ data['options']. Got None.

Any ideas?

  1. Find the right option syntax to select the voice
  2. Ask the integration (GitHub feature request?) to simply provide a voice configuration variable
  3. …?

Not sure about that integration, but it can be done with Amazon Polly. However, the voice selection is at the integration level, so you can’t readily change voices from one message to another. It supports SSML, so you can whisper, emphasise, pause etc as documented here. I have not used Polly with HA for a couple of years, but assume it’s still working ok.

Still looking for a solution for VoiceRSS, not interested in Amazon Polly…

Is someone able to enhance the integration at

by adding voices config as another config option according to “Voices” section of Voice RSS - Text-to-speech (TTS) API documentation ?

At the same time the docs at VoiceRSS - Home Assistant need to be updated to reflect this additional config option, ideally noting that the configured voice needs to match the selected language (it’s not possible to cross-mix voices with languages).


Edit: tested locally and created the necessary PRs (my first time contributing to an integration, wohoo :tada:):

Edit: 3 weeks later and no one took even a look at the PRs. Well, first and probably last time filing a PR to HA Core.