Service tts.google_translate_say is translating spaces to %20

Hopefully yes. Hasn’t been any response from the dev team yet though…

same issue since update, quotes dont help

Same issue. It also happens to me with the accents. In previous version worked fine.

Wife 2.0 is about to kill me because google. I will have to disable it until fixed.

Thanks for the tip that hyphens can be used between words in lieu of spaces, and Google TTS by default doesn’t pronounce them. I was able to modify the script all my TTS calls make to work around this issue for now. Using regex_replace, I just modify the “say” data parameter contents that my audio_announce script takes as its input…

audio_announce:
  alias: House Announcement - Speak Message
  sequence:
  - data_template:
      cache: false
      entity_id: media_player.ha_announcements
      language: en-uk
      message: '{{ say |regex_replace(find='' '',replace=''-'') }}'
    service: tts.google_translate_say
  mode: single
2 Likes

Hi everybody! It is not just spaces which are spelled wrong! I have the same issue with (german) umlauts (?) “ä, ö ü” :frowning: My wife is killing me :smiley:

1 Like

I have the same issues:

  1. tts is saying %20
  2. Wife is about to kill me
    If there is a fix for either, please send it here ASAP… Don’t want to give up the wife or Google Home.
1 Like

See above at Chad’s answer. For the temporary fix, you can replace the spaces with a hyphen. So “This message is for you” would become “This-message-is-for-you”. Google will still separate the words and not say %20.

1 Like

Was this indeed introduced with version 0.113.2? Or something changed at Google? If related to version then I will rollback to 0.113.1. This is an unexpected breaking change that is pretty annoying.

Is related to 0.113.2! Funny thing is: if tts is called from an automation, everything is fine. If it is called from a script or in the media.player, its broken.
So a rollback to 0.113.1 should do the trick. But I depend on the fixes of 113.2 :-/

1 Like

Fix inbound by Frenck.

3 Likes

For now, take all the spaces out of the message. She talks faster. But you understand her.

Just upgrade to 113.3, it’s fixed there.

113.3 seems to have fixed the problem for my tablet using browser mod/fully kiosk but my Nest/Google Hub still says “%20” instead of spaces

Clean your TTS cache ( remove files from /config/tts)

That was the first thing I tried as some automations did it and some didn’t. Some automations it really confused google without any spaces.

That worked, all working normally for me now, thanks all

Hey guys,
113.3 fixed %20 issue, but now there is another one, which wasn’t here before.

In a couple of automations I have a few lines of text commented out (with #), now TTS doesn’t ignore those lines.

For example in my “Good morning” automation I have the following lines in TTS message:

 #Today in Sydney it will be {{states('sensor.short_summary')}}.....
Today in Sydney it will be {{states('sensor.bom_sydney_summary_0')}}......

Instead of saying just second line it says “Hash tag Today in Sydney … etc.”
Easy fix for me just to remove those commented lines, but I keep them in many other Automations as a reference in case I need to roll back or re-enable commented line.

So basically it stopped ignoring # symbol, hope it doesn’t impact scripts, scenes and other configs.

This started happening for me spontaneously yesterday on my old HA 0.92 system, with no configuration changes. The only thing that happened yesterday was that I rebooted Ubuntu as well has restarting HA a couple of times (trying to get the alexa_media component to re-connect with Alexa).
And while substituting a dash for spaces helps, there are some issues: line breaks are interpreted as spaces by TTS, so the entire string has to be on one very long line. Times with a dash like -09:23 are not read correctly by TTS, but using a comma instead of a dash seems to be ok.
Ok, hang on here - announcements made by Node Red are not suffering the same problem. Why not?? They are also using the same google_translate_say service. Maybe Node Red passes arguments to the same service packaged differently, i.e., as JSON? So the fault must be in how HA automations are passing arguments to the google_translate_say service.

update it…