When I set up my system to announce doors and windows open/closed, it used the Google Assistant voice. Recently that has been slowly changing. Some voices are Google Assistant and some are this new voice which is a more robotic female voice (Robo). It seems they are changing more and more to the robotic voice.
Currently when I open my front door, it is Google Assistant, but when I close it’s Robo. I don’t know what the rhyme or reason to the change is. I believe there must be a cache somewhere that is being replaced.
Is there a setting in HA that I changed? Is there a way to get the old Google Assitant voice instead of Robo?
My configuration, an automation with several triggers and a single data template to handle them.
data_template:
message: >
The
{{trigger.to_state.attributes.friendly_name|regex_replace(find='contact',replace='',ignorecase=True)
}} is {% if trigger.to_state.state == 'on' %} open {% else %} closed {%
endif %}
entity_id: media_player.announcer_group
service: tts.google_translate_say
Well, at least there’s some confirmation. They’re slowly changing over to Robo.
I was reading on this page, TTS Integration: Service say, there is support for setting options such as voice, but there are no examples.
The say service support language and on some platforms also options for set, i.e., voice, motion, speed, etc . The text for speech is set with message . Since release 0.92, service name can be defined in configuration service_name option.
Cheers Adam, I’ll google around a bit.
What I don’t get is it isnt consitient?
I have many automations using speech, some use Robo, some the old voice.
Did you install a TTS battery notification blueprint or other TTS-related automation? This started happening around the time I did that. So I checked it out and the voice for “en-gb” or “en-us” sounds highly similar to Robo. I haven’t had a battery notification in a while, and the sounds are starting to right themselves. I think we need to figure out the "language: " setting for Google Assistant voice.
Yeah, I’m finding that all the old announcements are in a nice “posh English” voice, but any new ones sound like the Texas instruments speak and spell I had 20 years ago… And that’s using the exact same format to play them.
Edit: looks like all the “en” language options use the standard non special voice.
en-gb en-au, en-us, etc all give the same non accent voice.
Seems to be since it switched from being able to use upper case letters like en-GB, en-AU etc…
After some googling, it appears that there are two types of tts voices - standard and wavenet voices. The wavenet voices are the “realistic” ones and the standard are synthesised. Apparently the google assistant uses the wavenet ones hence why I assume the assistant_relay solution works that caj380 created.
My understanding is that home assistant has a cache of tts phrases (found in the home assistant tts directory). If the text isn’t changed the cache is used until it expires or is deleted. That may be why some still use old voice and some use new voice.