I still get this problem reguarly despite being “Desktop” now on OH3. It appears to lose the authentication every few weeks. No idea why. Anyone else me this and found a solution?
I know it doesn’t help to solve your problem but when I followed the whole setup on Google side it worked for me ever since, so I wonder if it is really related to openHAB.
this resolved my issue as wel!! (white space in front of client secret)
Where can I get the instructions for the Google Side? I was informed that I need to change my OAuth client.
Google says: Our records indicate you have OAuth clients that used the OAuth OOB flow in the past.
What do I need to do?
I really do not get how this thing works.
I have to renew the authorisation almost every day or restart. I am busy with the OH so I restart a lot and I was not really following the exact loss of service.
In the OH documentation it is mentioned that a web application needs to be configured, some people here mention Desktop application. I used both in the past but no success.
Can anyone (if any) with long term working Google TTS share the exact settings?
Or maybe advise on actual working TTS service that can run on Google Home speakers?
Thanks
Can we please go step by step? And please, take your time - it is kind of complicated (not openHABs fault - enabling google apis is tricky):
-
Did you add Google TTS here: settings/addons
-
Did you check this page? Multimedia | openHAB
Did you read this page as it explains how to create the values that you need to enter in the page above? Google Cloud Text-to-Speech - Voices | openHAB
This is actually the hardest part!
-
Goto Google APIs and enable text-to-speech: https://console.cloud.google.com/apis/api/texttospeech.googleapis.com
-
After you have created a project within your google account, goto https://console.cloud.google.com/apis/dashboard?project=MY_PROJECT_NAME and press “enable APIS and Service” and add “Cloud Text-to-Speech API”
-
Click on “Credentials” on the left and then Click on “Create credentials” on the top
-
Create an API key
-
Create an oAuth client Id
-
Click on the download arrow to download your credentials (it is a json file which contains the client_id and client_secret)
-
Go to https://console.developers.google.com/apis/dashboard?project=MY_PROJECT_NAME&folder=&organizationId=
- Go to Consent screen
- Make sure the production status is on Production
-
In openhab goto /settings/services/org.openhab.voice.googletts
-
Fill in clientId and client secret
-
In that dialog box (see screenshot above) is a URL where you need to fill in the clientId. Copy that URL, add that clientID and retrieve your authorization code with that. It is a one time code that needs to be pasted to Authorization code
-
Save the dialog
-
If that did not help you might want to enable TRACE log for org.openhab.voice.googletts and org.openhab.core.auth.oauth2client to get more information and see some details if the communication. (see OH3 Google TTS: Error - grant type authorization_code - #4 by cweitkamp )
-
go to Configuration->System->Voice
- Choose Google TTS here: settings/services/org.openhab.voice ?
cc: @MichaelBrunner It is really about time that we do a comprehensive video on that
I think this problem is fixed in 3.4.
Dear Stefan,
Thanks for the answer.
I have been sporadically busy with this binding since I switched from Smartthings to OpenHAB, almost 3 years ago (I think it was that long ago). And I have been trying to get it working but after having to do the authentication at the Google API few times, I would quit. After several months I would try again, and again after several reauthorisations I would quit, and so on. I started to play with this binding again beginning of this month and I already had to do the authentications 3-4 times I think.
So to answer the questions:
yes
I do not understand the question, but I have several google home devices and groups. I can play doorbell and after i authorize via the Google website, I can hear the say command (but unfortunately not for long)
Yes:
Billing is enabled:
TTS API is enabled
And I have followed the process to get authorisations (both with desktop long time ago and web application in the last few days):
It is in production since long time ago
I do not know how many times I have repeated this. After the first authorisation the sound can be heard for some time, but it doesn’t last long
I will enable the logging
Only difference I have is that my Default Human Language Interpreter is the “Built in interpreter” and not the rule interpreter
I am already on Milestone 3.4.0.M1, but I have the issue
As mentioned, I will enable the logging, maybe that can help
Ok, then please provide the errors from the log when you do the following:
Either in the openhab-console
openhab:voice say Hello world!
or via a rule like in blockly:
I am trying to figure out how to set the log4j2.xml to log the results of those 2 bindings in separate files.
Currently the authorisation is not working and I can see only
2022-09-11 20:46:16.565 [WARN ] [core.voice.internal.VoiceManagerImpl] - Error saying 'Hello world! ': No TTS service can be found for voice googletts:enGBWavenetC
and bunch of OAuthStoreHandlerImpl logs but I think they are from some other services.
Can you please guide me how to filter the right logs?
You can find the documentation on logging here
- org.openhab.voice.googletts
- org.openhab.core.auth.oauth2client
should be logged on higher level
Thanks, I was already looking at it but there is no much description on how to configure the xml file in order to filter the logs to separate file.
I tried this but it doesn’t work:
<!-- Google TTS file appender -->
<RollingFile fileName="${sys:openhab.logdir}/GoogleTTS.log" filePattern="${sys:openhab.logdir}/GoogleTTS.log.%i.gz" name="GOOGLETTS">
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5.5p] [%-36.36c] - %m%n"/>
<Policies>
<OnStartupTriggeringPolicy/>
<SizeBasedTriggeringPolicy size="16 MB"/>
</Policies>
<DefaultRolloverStrategy max="7"/>
</RollingFile>
<!-- oauth2client file appender -->
<RollingFile fileName="${sys:openhab.logdir}/oauth2client.log" filePattern="${sys:openhab.logdir}/oauth2client.log.%i.gz" name="OAUTH2CLIENT">
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5.5p] [%-36.36c] - %m%n"/>
<Policies>
<OnStartupTriggeringPolicy/>
<SizeBasedTriggeringPolicy size="16 MB"/>
</Policies>
<DefaultRolloverStrategy max="7"/>
</RollingFile>
</Appenders>
<Loggers>
<!-- Google TTS logger -->
<Logger level="TRACE" name="org.openhab.voice.googletts">
<AppenderRef ref="GOOGLETTS"/>
</Logger>
<!-- oauth2client logger -->
<Logger level="TRACE" name="org.openhab.core.auth.oauth2client">
<AppenderRef ref="OAUTH2CLIENT"/>
</Logger>
I authorised again access and the googletts worked as usual and log I have is the following:
022-09-11 22:02:36.132 [DEBUG] [.googletts.internal.GoogleTTSService] - bundle org.openhab.voice.googletts:3.4.0.M1 (323)[org.openhab.voice.googletts.internal.GoogleTTSService(411)] : ConfigurableComponentHolder configuration updated for pid org.openhab.voice.googletts with change count 43
2022-09-11 22:02:36.134 [DEBUG] [.googletts.internal.GoogleTTSService] - bundle org.openhab.voice.googletts:3.4.0.M1 (323)[org.openhab.voice.googletts.internal.GoogleTTSService(411)] : Querying state active
2022-09-11 22:02:36.135 [DEBUG] [.googletts.internal.GoogleTTSService] - bundle org.openhab.voice.googletts:3.4.0.M1 (323)[org.openhab.voice.googletts.internal.GoogleTTSService(411)] : Querying state active
2022-09-11 22:02:36.137 [DEBUG] [.googletts.internal.GoogleTTSService] - bundle org.openhab.voice.googletts:3.4.0.M1 (323)[org.openhab.voice.googletts.internal.GoogleTTSService(411)] : getting modified: updateConfig
2022-09-11 22:02:36.138 [DEBUG] [.googletts.internal.GoogleTTSService] - bundle org.openhab.voice.googletts:3.4.0.M1 (323)[org.openhab.voice.googletts.internal.GoogleTTSService(411)] : Locating method updateConfig in class org.openhab.voice.googletts.internal.GoogleTTSService
2022-09-11 22:02:36.140 [DEBUG] [.googletts.internal.GoogleTTSService] - bundle org.openhab.voice.googletts:3.4.0.M1 (323)[org.openhab.voice.googletts.internal.GoogleTTSService(411)] : Declared Method org.openhab.voice.googletts.internal.GoogleTTSService.updateConfig([interface org.osgi.service.component.ComponentContext]) not found
2022-09-11 22:02:36.141 [DEBUG] [.googletts.internal.GoogleTTSService] - bundle org.openhab.voice.googletts:3.4.0.M1 (323)[org.openhab.voice.googletts.internal.GoogleTTSService(411)] : Found modified method: private void org.openhab.voice.googletts.internal.GoogleTTSService.updateConfig(java.util.Map)
2022-09-11 22:02:36.143 [DEBUG] [.googletts.internal.GoogleTTSService] - bundle org.openhab.voice.googletts:3.4.0.M1 (323)[org.openhab.voice.googletts.internal.GoogleTTSService(411)] : invoking modified: updateConfig: parameters [org.apache.felix.scr.impl.helper.ReadOnlyDictionary]
2022-09-11 22:02:36.144 [DEBUG] [.googletts.internal.GoogleTTSService] - Updating configuration
2022-09-11 22:02:36.145 [TRACE] [.googletts.internal.GoogleTTSService] - New configuration: GoogleTTSConfig{pitch=0.0, speakingRate=1.0, volumeGainDb=0.0, purgeCache=false}
2022-09-11 22:02:36.147 [DEBUG] [ce.googletts.internal.GoogleCloudAPI] - Trying to get access and refresh tokens.
2022-09-11 22:02:46.439 [WARN ] [ce.googletts.internal.GoogleCloudAPI] - Error initializing Google Cloud TTS service: An unexpected IOException occurred: java.util.concurrent.TimeoutException: Total timeout 5000 ms elapsed
2022-09-11 22:02:46.441 [DEBUG] [.googletts.internal.GoogleTTSService] - bundle org.openhab.voice.googletts:3.4.0.M1 (323)[org.openhab.voice.googletts.internal.GoogleTTSService(411)] : invoked modified: updateConfig
2022-09-11 22:02:46.443 [DEBUG] [.googletts.internal.GoogleTTSService] - bundle org.openhab.voice.googletts:3.4.0.M1 (323)[org.openhab.voice.googletts.internal.GoogleTTSService(411)] : No change in target property for dependency $000: currently registered: true
2022-09-11 22:02:46.445 [DEBUG] [.googletts.internal.GoogleTTSService] - bundle org.openhab.voice.googletts:3.4.0.M1 (323)[org.openhab.voice.googletts.internal.GoogleTTSService(411)] : No change in target property for dependency $001: currently registered: true
2022-09-11 22:02:46.446 [DEBUG] [.googletts.internal.GoogleTTSService] - bundle org.openhab.voice.googletts:3.4.0.M1 (323)[org.openhab.voice.googletts.internal.GoogleTTSService(411)] : Querying state active
2022-09-11 22:02:46.451 [DEBUG] [.googletts.internal.GoogleTTSService] - bundle org.openhab.voice.googletts:3.4.0.M1 (323)[org.openhab.voice.googletts.internal.GoogleTTSService(411)] : ImmediateComponentHolder Finished configuring the dependency managers for component for pid org.openhab.voice.googletts
2022-09-11 22:02:46.452 [DEBUG] [.googletts.internal.GoogleTTSService] - bundle org.openhab.voice.googletts:3.4.0.M1 (323)[org.openhab.voice.googletts.internal.GoogleTTSService(411)] : ImmediateComponentHolder Will not enable component for pid org.openhab.voice.googletts: holder enabled state: true, metadata enabled: true
2022-09-11 22:02:46.458 [DEBUG] [.googletts.internal.GoogleTTSService] - bundle org.openhab.voice.googletts:3.4.0.M1 (323)[org.openhab.voice.googletts.internal.GoogleTTSService(411)] : ConfigurableComponentHolder configuration updated for pid org.openhab.voice.googletts with change count 44
2022-09-11 22:02:46.459 [DEBUG] [.googletts.internal.GoogleTTSService] - bundle org.openhab.voice.googletts:3.4.0.M1 (323)[org.openhab.voice.googletts.internal.GoogleTTSService(411)] : Querying state active
2022-09-11 22:02:46.460 [DEBUG] [.googletts.internal.GoogleTTSService] - bundle org.openhab.voice.googletts:3.4.0.M1 (323)[org.openhab.voice.googletts.internal.GoogleTTSService(411)] : Querying state active
2022-09-11 22:02:46.461 [DEBUG] [.googletts.internal.GoogleTTSService] - bundle org.openhab.voice.googletts:3.4.0.M1 (323)[org.openhab.voice.googletts.internal.GoogleTTSService(411)] : invoking modified: updateConfig: parameters [org.apache.felix.scr.impl.helper.ReadOnlyDictionary]
2022-09-11 22:02:46.462 [DEBUG] [.googletts.internal.GoogleTTSService] - Updating configuration
2022-09-11 22:02:46.464 [TRACE] [.googletts.internal.GoogleTTSService] - New configuration: GoogleTTSConfig{pitch=0.0, speakingRate=1.0, volumeGainDb=0.0, purgeCache=false}
2022-09-11 22:02:46.711 [TRACE] [.googletts.internal.GoogleTTSService] - Initializing voices
2022-09-11 22:02:46.712 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: kn-IN-Standard-A
2022-09-11 22:02:46.713 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: yue-HK-Standard-A
2022-09-11 22:02:46.715 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: vi-VN-Wavenet-A
2022-09-11 22:02:46.716 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: cmn-TW-Standard-A
2022-09-11 22:02:46.717 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: es-ES-Standard-D
2022-09-11 22:02:46.718 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: mr-IN-Standard-A
2022-09-11 22:02:46.719 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: nl-BE-Standard-B
2022-09-11 22:02:46.720 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: it-IT-Standard-C
2022-09-11 22:02:46.721 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: it-IT-Wavenet-D
2022-09-11 22:02:46.722 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: en-US-Standard-F
2022-09-11 22:02:46.723 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: vi-VN-Standard-D
2022-09-11 22:02:46.724 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: en-US-Standard-A
2022-09-11 22:02:46.725 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: gu-IN-Wavenet-B
2022-09-11 22:02:46.726 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: es-US-Standard-C
2022-09-11 22:02:46.727 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: en-US-Standard-B
2022-09-11 22:02:46.729 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: ko-KR-Wavenet-D
2022-09-11 22:02:46.729 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: de-DE-Wavenet-C
2022-09-11 22:02:46.730 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: es-ES-Wavenet-D
2022-09-11 22:02:46.731 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: ta-IN-Wavenet-B
2022-09-11 22:02:46.733 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: yue-HK-Standard-B
2022-09-11 22:02:46.733 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: da-DK-Wavenet-A
2022-09-11 22:02:46.735 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: fr-CA-Standard-A
2022-09-11 22:02:46.736 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: fr-CA-Standard-D
2022-09-11 22:02:46.738 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: nb-NO-Wavenet-B
2022-09-11 22:02:46.739 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: es-US-Wavenet-B
2022-09-11 22:02:46.740 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: ja-JP-Standard-A
2022-09-11 22:02:46.741 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: en-US-Standard-C
2022-09-11 22:02:46.742 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: fr-CA-Wavenet-D
2022-09-11 22:02:46.743 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: pt-PT-Standard-C
2022-09-11 22:02:46.744 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: pt-BR-Standard-A
2022-09-11 22:02:46.745 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: ko-KR-Standard-D
2022-09-11 22:02:46.746 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: cmn-CN-Standard-C
2022-09-11 22:02:46.747 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: sv-SE-Wavenet-D
2022-09-11 22:02:46.748 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: en-GB-Wavenet-D
2022-09-11 22:02:46.749 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: ko-KR-Wavenet-B
2022-09-11 22:02:46.750 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: hi-IN-Wavenet-D
2022-09-11 22:02:46.751 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: es-ES-Standard-B
2022-09-11 22:02:46.752 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: pt-PT-Wavenet-B
2022-09-11 22:02:46.753 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: tr-TR-Standard-B
2022-09-11 22:02:46.753 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: en-AU-Wavenet-C
2022-09-11 22:02:46.754 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: de-DE-Standard-F
2022-09-11 22:02:46.755 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: ms-MY-Wavenet-A
2022-09-11 22:02:46.756 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: yue-HK-Standard-C
2022-09-11 22:02:46.757 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: pt-PT-Wavenet-A
2022-09-11 22:02:46.759 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: pa-IN-Standard-C
2022-09-11 22:02:46.760 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: en-IN-Standard-A
2022-09-11 22:02:46.762 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: nl-NL-Wavenet-B
2022-09-11 22:02:46.763 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: en-AU-Wavenet-A
2022-09-11 22:02:46.765 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: nl-NL-Wavenet-E
2022-09-11 22:02:46.766 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: fr-FR-Standard-D
2022-09-11 22:02:46.767 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: pt-PT-Standard-D
2022-09-11 22:02:46.768 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: fil-PH-Wavenet-A
2022-09-11 22:02:46.769 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: cmn-CN-Wavenet-A
2022-09-11 22:02:46.770 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: ms-MY-Wavenet-D
2022-09-11 22:02:46.771 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: en-IN-Standard-B
2022-09-11 22:02:46.772 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: hu-HU-Standard-A
2022-09-11 22:02:46.773 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: en-GB-Neural2-A
2022-09-11 22:02:46.774 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: pl-PL-Standard-B
2022-09-11 22:02:46.776 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: fr-CA-Standard-C
2022-09-11 22:02:46.777 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: pt-BR-Wavenet-B
2022-09-11 22:02:46.778 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: da-DK-Wavenet-E
2022-09-11 22:02:46.779 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: pa-IN-Wavenet-B
2022-09-11 22:02:46.780 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: en-IN-Wavenet-B
2022-09-11 22:02:46.781 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: nb-NO-Standard-A
2022-09-11 22:02:46.782 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: cmn-CN-Standard-D
2022-09-11 22:02:46.783 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: id-ID-Wavenet-B
2022-09-11 22:02:46.784 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: fil-PH-Wavenet-C
2022-09-11 22:02:46.785 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: ko-KR-Standard-A
2022-09-11 22:02:46.786 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: af-ZA-Standard-A
2022-09-11 22:02:46.787 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: en-GB-Standard-C
2022-09-11 22:02:46.789 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: ml-IN-Wavenet-B
2022-09-11 22:02:46.790 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: hi-IN-Wavenet-C
2022-09-11 22:02:46.791 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: tr-TR-Standard-A
2022-09-11 22:02:46.792 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: cmn-CN-Wavenet-D
2022-09-11 22:02:46.793 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: sv-SE-Standard-E
2022-09-11 22:02:46.795 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: ro-RO-Standard-A
2022-09-11 22:02:46.796 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: de-DE-Standard-C
2022-09-11 22:02:46.797 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: ms-MY-Wavenet-B
2022-09-11 22:02:46.798 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: it-IT-Standard-B
2022-09-11 22:02:46.800 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: id-ID-Standard-A
2022-09-11 22:02:46.801 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: nl-BE-Standard-A
2022-09-11 22:02:46.802 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: en-US-Standard-E
2022-09-11 22:02:46.803 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: nl-NL-Standard-C
2022-09-11 22:02:46.805 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: de-DE-Wavenet-E
2022-09-11 22:02:46.806 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: nb-NO-Standard-C
2022-09-11 22:02:46.807 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: da-DK-Standard-E
2022-09-11 22:02:46.808 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: en-IN-Wavenet-D
2022-09-11 22:02:46.809 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: pl-PL-Standard-D
2022-09-11 22:02:46.810 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: ro-RO-Wavenet-A
2022-09-11 22:02:46.811 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: en-GB-Wavenet-A
2022-09-11 22:02:46.812 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: vi-VN-Standard-A
2022-09-11 22:02:46.813 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: da-DK-Standard-A
2022-09-11 22:02:46.814 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: en-GB-Wavenet-F
2022-09-11 22:02:46.815 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: ja-JP-Standard-B
2022-09-11 22:02:46.816 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: en-AU-Standard-B
2022-09-11 22:02:46.817 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: mr-IN-Wavenet-C
2022-09-11 22:02:46.818 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: nl-NL-Standard-B
2022-09-11 22:02:46.819 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: nl-NL-Wavenet-C
2022-09-11 22:02:46.820 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: ru-RU-Standard-C
2022-09-11 22:02:46.821 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: mr-IN-Wavenet-B
2022-09-11 22:02:46.822 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: en-US-Wavenet-D
2022-09-11 22:02:46.823 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: ta-IN-Wavenet-C
2022-09-11 22:02:46.824 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: tr-TR-Standard-E
2022-09-11 22:02:46.824 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: te-IN-Standard-A
2022-09-11 22:02:46.825 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: ko-KR-Wavenet-C
2022-09-11 22:02:46.826 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: bn-IN-Standard-B
2022-09-11 22:02:46.827 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: en-GB-Standard-F
2022-09-11 22:02:46.828 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: de-DE-Wavenet-F
2022-09-11 22:02:46.829 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: en-US-Wavenet-B
2022-09-11 22:02:46.830 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: en-US-Neural2-A
2022-09-11 22:02:46.831 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: ms-MY-Standard-D
2022-09-11 22:02:46.832 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: pa-IN-Wavenet-A
2022-09-11 22:02:46.833 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: cmn-TW-Standard-C
2022-09-11 22:02:46.834 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: es-US-Neural2-A
2022-09-11 22:02:46.835 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: sv-SE-Standard-D
2022-09-11 22:02:46.836 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: en-AU-Standard-D
2022-09-11 22:02:46.837 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: ms-MY-Wavenet-C
2022-09-11 22:02:46.838 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: nl-NL-Standard-A
2022-09-11 22:02:46.839 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: sv-SE-Standard-B
2022-09-11 22:02:46.840 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: sv-SE-Standard-A
2022-09-11 22:02:46.841 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: nl-NL-Wavenet-A
2022-09-11 22:02:46.842 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: en-GB-Neural2-C
2022-09-11 22:02:46.843 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: en-US-Wavenet-E
2022-09-11 22:02:46.843 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: ru-RU-Standard-E
2022-09-11 22:02:46.844 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: fr-CA-Wavenet-C
2022-09-11 22:02:46.845 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: ru-RU-Wavenet-B
2022-09-11 22:02:46.846 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: ms-MY-Standard-B
2022-09-11 22:02:46.847 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: en-IN-Standard-D
2022-09-11 22:02:46.848 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: nl-BE-Wavenet-A
2022-09-11 22:02:46.849 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: ta-IN-Standard-C
2022-09-11 22:02:46.850 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: pa-IN-Standard-A
2022-09-11 22:02:46.851 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: hi-IN-Standard-C
2022-09-11 22:02:46.852 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: de-DE-Wavenet-B
2022-09-11 22:02:46.853 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: pt-BR-Standard-C
2022-09-11 22:02:46.855 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: tr-TR-Wavenet-E
2022-09-11 22:02:46.856 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: ru-RU-Wavenet-E
2022-09-11 22:02:46.857 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: ta-IN-Standard-D
2022-09-11 22:02:46.858 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: vi-VN-Wavenet-D
2022-09-11 22:02:46.860 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: ru-RU-Standard-A
2022-09-11 22:02:46.861 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: sv-SE-Wavenet-A
2022-09-11 22:02:46.862 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: gu-IN-Standard-A
2022-09-11 22:02:46.863 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: vi-VN-Wavenet-B
2022-09-11 22:02:46.865 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: bg-BG-Standard-A
2022-09-11 22:02:46.866 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: es-US-Neural2-C
2022-09-11 22:02:46.867 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: en-US-Wavenet-A
2022-09-11 22:02:46.868 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: sr-rs-Standard-A
2022-09-11 22:02:46.869 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: sv-SE-Wavenet-C
2022-09-11 22:02:46.870 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: cs-CZ-Standard-A
2022-09-11 22:02:46.871 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: nb-NO-Wavenet-C
2022-09-11 22:02:46.872 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: fil-PH-Wavenet-B
2022-09-11 22:02:46.873 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: vi-VN-Standard-C
2022-09-11 22:02:46.874 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: id-ID-Standard-D
2022-09-11 22:02:46.876 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: fr-CA-Wavenet-B
2022-09-11 22:02:46.877 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: de-DE-Standard-E
2022-09-11 22:02:46.878 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: pt-BR-Wavenet-C
2022-09-11 22:02:46.879 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: hi-IN-Standard-B
2022-09-11 22:02:46.880 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: nb-NO-Wavenet-D
2022-09-11 22:02:46.881 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: de-DE-Wavenet-D
2022-09-11 22:02:46.882 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: tr-TR-Standard-D
2022-09-11 22:02:46.884 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: da-DK-Standard-C
2022-09-11 22:02:46.885 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: kn-IN-Standard-B
2022-09-11 22:02:46.886 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: sv-SE-Wavenet-B
2022-09-11 22:02:46.887 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: da-DK-Wavenet-D
2022-09-11 22:02:46.888 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: gu-IN-Standard-B
2022-09-11 22:02:46.890 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: is-IS-Standard-A
2022-09-11 22:02:46.891 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: es-ES-Wavenet-C
2022-09-11 22:02:46.892 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: ar-XA-Standard-C
2022-09-11 22:02:46.893 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: pt-PT-Standard-B
2022-09-11 22:02:46.894 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: nl-NL-Standard-D
2022-09-11 22:02:46.895 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: ta-IN-Wavenet-D
2022-09-11 22:02:46.897 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: ar-XA-Wavenet-A
2022-09-11 22:02:46.898 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: mr-IN-Standard-C
2022-09-11 22:02:46.899 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: cmn-CN-Standard-B
2022-09-11 22:02:46.900 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: fr-FR-Wavenet-C
2022-09-11 22:02:46.901 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: en-AU-Standard-C
2022-09-11 22:02:46.902 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: ja-JP-Wavenet-B
2022-09-11 22:02:46.903 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: it-IT-Standard-A
2022-09-11 22:02:46.905 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: id-ID-Wavenet-D
2022-09-11 22:02:46.906 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: hi-IN-Wavenet-B
2022-09-11 22:02:46.907 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: de-DE-Standard-B
2022-09-11 22:02:46.908 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: pa-IN-Standard-B
2022-09-11 22:02:46.909 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: en-AU-Wavenet-B
2022-09-11 22:02:46.911 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: gu-IN-Wavenet-A
2022-09-11 22:02:46.912 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: cmn-TW-Wavenet-A
2022-09-11 22:02:46.913 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: fil-PH-Standard-A
2022-09-11 22:02:46.914 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: ru-RU-Wavenet-C
2022-09-11 22:02:46.915 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: tr-TR-Wavenet-C
2022-09-11 22:02:46.916 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: mr-IN-Standard-B
2022-09-11 22:02:46.918 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: vi-VN-Standard-B
2022-09-11 22:02:46.919 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: en-US-Standard-I
2022-09-11 22:02:46.921 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: hi-IN-Standard-D
2022-09-11 22:02:46.922 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: en-US-Standard-H
2022-09-11 22:02:46.923 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: en-US-Wavenet-F
2022-09-11 22:02:46.924 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: fil-PH-Wavenet-D
2022-09-11 22:02:46.925 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: sv-SE-Wavenet-E
2022-09-11 22:02:46.926 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: el-GR-Standard-A
2022-09-11 22:02:46.928 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: it-IT-Wavenet-C
2022-09-11 22:02:46.929 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: ja-JP-Standard-D
2022-09-11 22:02:46.930 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: id-ID-Standard-C
2022-09-11 22:02:46.931 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: mr-IN-Wavenet-A
2022-09-11 22:02:46.932 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: ja-JP-Standard-C
2022-09-11 22:02:46.933 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: fi-FI-Wavenet-A
2022-09-11 22:02:46.934 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: nb-NO-Standard-B
2022-09-11 22:02:46.936 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: fil-PH-Standard-D
2022-09-11 22:02:46.937 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: fil-PH-Standard-C
2022-09-11 22:02:46.938 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: fr-CA-Standard-B
2022-09-11 22:02:46.939 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: el-GR-Wavenet-A
2022-09-11 22:02:46.940 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: sk-SK-Wavenet-A
2022-09-11 22:02:46.942 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: en-AU-Neural2-A
2022-09-11 22:02:46.943 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: es-US-Standard-A
2022-09-11 22:02:46.944 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: nb-NO-Wavenet-A
2022-09-11 22:02:46.945 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: pt-BR-Standard-B
2022-09-11 22:02:46.946 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: cmn-TW-Wavenet-C
2022-09-11 22:02:46.947 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: ca-ES-Standard-A
2022-09-11 22:02:46.948 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: fr-FR-Standard-E
2022-09-11 22:02:46.949 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: ja-JP-Wavenet-D
2022-09-11 22:02:46.951 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: cmn-CN-Wavenet-C
2022-09-11 22:02:46.952 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: ml-IN-Standard-A
2022-09-11 22:02:46.953 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: en-AU-Wavenet-D
2022-09-11 22:02:46.954 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: es-ES-Wavenet-B
2022-09-11 22:02:46.955 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: fr-FR-Wavenet-B
2022-09-11 22:02:46.957 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: nb-NO-Standard-D
2022-09-11 22:02:46.958 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: en-AU-Neural2-C
2022-09-11 22:02:46.959 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: nl-NL-Wavenet-D
2022-09-11 22:02:46.960 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: it-IT-Wavenet-A
2022-09-11 22:02:46.961 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: ru-RU-Standard-B
2022-09-11 22:02:46.962 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: pa-IN-Wavenet-C
2022-09-11 22:02:46.963 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: fr-FR-Standard-C
2022-09-11 22:02:46.965 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: pl-PL-Wavenet-A
2022-09-11 22:02:46.966 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: ja-JP-Wavenet-A
2022-09-11 22:02:46.967 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: en-GB-Standard-D
2022-09-11 22:02:46.968 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: ar-XA-Standard-A
2022-09-11 22:02:46.970 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: en-US-Wavenet-G
2022-09-11 22:02:46.971 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: bn-IN-Wavenet-A
2022-09-11 22:02:46.972 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: pl-PL-Wavenet-B
2022-09-11 22:02:46.973 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: ms-MY-Standard-A
2022-09-11 22:02:46.974 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: es-US-Wavenet-A
2022-09-11 22:02:46.975 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: id-ID-Wavenet-C
2022-09-11 22:02:46.976 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: en-US-Wavenet-I
2022-09-11 22:02:46.978 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: pl-PL-Standard-E
2022-09-11 22:02:46.979 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: cmn-CN-Wavenet-B
2022-09-11 22:02:46.980 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: ar-XA-Wavenet-C
2022-09-11 22:02:46.981 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: kn-IN-Wavenet-B
2022-09-11 22:02:46.982 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: fr-FR-Wavenet-A
2022-09-11 22:02:46.983 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: fr-FR-Standard-A
2022-09-11 22:02:46.985 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: en-IN-Wavenet-C
2022-09-11 22:02:46.986 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: fr-CA-Wavenet-A
2022-09-11 22:02:46.987 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: te-IN-Standard-B
2022-09-11 22:02:46.988 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: bn-IN-Standard-A
2022-09-11 22:02:46.989 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: ta-IN-Standard-B
2022-09-11 22:02:46.990 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: pl-PL-Wavenet-C
2022-09-11 22:02:46.992 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: hu-HU-Wavenet-A
2022-09-11 22:02:46.993 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: en-US-Standard-D
2022-09-11 22:02:46.994 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: id-ID-Standard-B
2022-09-11 22:02:46.995 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: en-GB-Standard-B
2022-09-11 22:02:46.996 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: fr-FR-Wavenet-E
2022-09-11 22:02:46.997 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: fil-PH-Standard-B
2022-09-11 22:02:46.998 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: ar-XA-Wavenet-D
2022-09-11 22:02:47.000 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: ko-KR-Standard-C
2022-09-11 22:02:47.001 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: ru-RU-Wavenet-D
2022-09-11 22:02:47.002 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: uk-UA-Standard-A
2022-09-11 22:02:47.003 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: cmn-CN-Standard-A
2022-09-11 22:02:47.004 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: es-ES-Standard-A
2022-09-11 22:02:47.005 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: de-DE-Standard-D
2022-09-11 22:02:47.007 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: lv-LV-Standard-A
2022-09-11 22:02:47.008 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: pa-IN-Wavenet-D
2022-09-11 22:02:47.009 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: ar-XA-Standard-D
2022-09-11 22:02:47.010 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: id-ID-Wavenet-A
2022-09-11 22:02:47.011 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: pl-PL-Wavenet-E
2022-09-11 22:02:47.012 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: pl-PL-Standard-C
2022-09-11 22:02:47.013 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: es-ES-Standard-C
2022-09-11 22:02:47.014 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: da-DK-Wavenet-C
2022-09-11 22:02:47.016 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: pt-PT-Wavenet-D
2022-09-11 22:02:47.018 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: fr-FR-Wavenet-D
2022-09-11 22:02:47.019 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: nl-NL-Standard-E
2022-09-11 22:02:47.020 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: ta-IN-Standard-A
2022-09-11 22:02:47.021 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: tr-TR-Wavenet-A
2022-09-11 22:02:47.022 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: en-US-Wavenet-J
2022-09-11 22:02:47.023 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: pt-BR-Wavenet-A
2022-09-11 22:02:47.024 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: pl-PL-Standard-A
2022-09-11 22:02:47.026 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: en-US-Standard-G
2022-09-11 22:02:47.027 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: da-DK-Standard-D
2022-09-11 22:02:47.028 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: ko-KR-Wavenet-A
2022-09-11 22:02:47.029 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: ru-RU-Wavenet-A
2022-09-11 22:02:47.030 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: ar-XA-Standard-B
2022-09-11 22:02:47.031 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: pt-PT-Wavenet-C
2022-09-11 22:02:47.032 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: ta-IN-Wavenet-A
2022-09-11 22:02:47.034 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: tr-TR-Wavenet-D
2022-09-11 22:02:47.035 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: sk-SK-Standard-A
2022-09-11 22:02:47.036 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: en-GB-Standard-A
2022-09-11 22:02:47.037 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: hi-IN-Wavenet-A
2022-09-11 22:02:47.038 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: bn-IN-Wavenet-B
2022-09-11 22:02:47.039 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: ml-IN-Wavenet-A
2022-09-11 22:02:47.040 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: nl-BE-Wavenet-B
2022-09-11 22:02:47.042 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: ko-KR-Standard-B
2022-09-11 22:02:47.043 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: nb-NO-Wavenet-E
2022-09-11 22:02:47.044 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: es-US-Standard-B
2022-09-11 22:02:47.045 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: sv-SE-Standard-C
2022-09-11 22:02:47.046 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: en-IN-Standard-C
2022-09-11 22:02:47.047 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: ja-JP-Wavenet-C
2022-09-11 22:02:47.048 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: hi-IN-Standard-A
2022-09-11 22:02:47.049 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: vi-VN-Wavenet-C
2022-09-11 22:02:47.050 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: nb-NO-Standard-E
2022-09-11 22:02:47.051 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: ru-RU-Standard-D
2022-09-11 22:02:47.052 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: en-GB-Wavenet-B
2022-09-11 22:02:47.053 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: en-GB-Wavenet-C
2022-09-11 22:02:47.054 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: it-IT-Standard-D
2022-09-11 22:02:47.056 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: ar-XA-Wavenet-B
2022-09-11 22:02:47.057 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: es-US-Wavenet-C
2022-09-11 22:02:47.058 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: tr-TR-Wavenet-B
2022-09-11 22:02:47.059 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: yue-HK-Standard-D
2022-09-11 22:02:47.060 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: pa-IN-Standard-D
2022-09-11 22:02:47.062 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: cmn-TW-Wavenet-B
2022-09-11 22:02:47.063 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: th-TH-Standard-A
2022-09-11 22:02:47.064 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: en-US-Wavenet-H
2022-09-11 22:02:47.065 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: fi-FI-Standard-A
2022-09-11 22:02:47.066 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: pl-PL-Wavenet-D
2022-09-11 22:02:47.067 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: it-IT-Wavenet-B
2022-09-11 22:02:47.069 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: uk-UA-Wavenet-A
2022-09-11 22:02:47.070 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: ml-IN-Standard-B
2022-09-11 22:02:47.071 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: tr-TR-Standard-C
2022-09-11 22:02:47.072 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: en-US-Standard-J
2022-09-11 22:02:47.073 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: kn-IN-Wavenet-A
2022-09-11 22:02:47.074 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: cs-CZ-Wavenet-A
2022-09-11 22:02:47.076 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: pt-PT-Standard-A
2022-09-11 22:02:47.077 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: de-DE-Standard-A
2022-09-11 22:02:47.078 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: fr-FR-Standard-B
2022-09-11 22:02:47.079 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: en-IN-Wavenet-A
2022-09-11 22:02:47.080 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: en-US-Wavenet-C
2022-09-11 22:02:47.082 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: cmn-TW-Standard-B
2022-09-11 22:02:47.083 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: de-DE-Wavenet-A
2022-09-11 22:02:47.084 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: en-AU-Standard-A
2022-09-11 22:02:47.085 [TRACE] [.googletts.internal.GoogleTTSService] - Google Cloud TTS voice: ms-MY-Standard-C
2022-09-11 22:02:47.086 [TRACE] [.googletts.internal.GoogleTTSService] - Initializing audio formats
2022-09-11 22:02:47.089 [WARN ] [.googletts.internal.GoogleTTSService] - Audio format OGG_OPUS is not yet supported.
2022-09-11 22:02:47.090 [TRACE] [.googletts.internal.GoogleTTSService] - Audio format not supported: OGG_OPUS
2022-09-11 22:02:47.091 [TRACE] [.googletts.internal.GoogleTTSService] - Audio format supported: MP3
2022-09-11 22:02:47.093 [TRACE] [.googletts.internal.GoogleTTSService] - Audio format supported: LINEAR16
2022-09-11 22:02:47.095 [DEBUG] [.googletts.internal.GoogleTTSService] - bundle org.openhab.voice.googletts:3.4.0.M1 (323)[org.openhab.voice.googletts.internal.GoogleTTSService(411)] : invoked modified: updateConfig
2022-09-11 22:02:47.097 [DEBUG] [.googletts.internal.GoogleTTSService] - bundle org.openhab.voice.googletts:3.4.0.M1 (323)[org.openhab.voice.googletts.internal.GoogleTTSService(411)] : No change in target property for dependency $000: currently registered: true
2022-09-11 22:02:47.099 [DEBUG] [.googletts.internal.GoogleTTSService] - bundle org.openhab.voice.googletts:3.4.0.M1 (323)[org.openhab.voice.googletts.internal.GoogleTTSService(411)] : No change in target property for dependency $001: currently registered: true
2022-09-11 22:02:47.100 [DEBUG] [.googletts.internal.GoogleTTSService] - bundle org.openhab.voice.googletts:3.4.0.M1 (323)[org.openhab.voice.googletts.internal.GoogleTTSService(411)] : Querying state active
2022-09-11 22:02:47.103 [DEBUG] [.googletts.internal.GoogleTTSService] - bundle org.openhab.voice.googletts:3.4.0.M1 (323)[org.openhab.voice.googletts.internal.GoogleTTSService(411)] : ImmediateComponentHolder Finished configuring the dependency managers for component for pid org.openhab.voice.googletts
2022-09-11 22:02:47.104 [DEBUG] [.googletts.internal.GoogleTTSService] - bundle org.openhab.voice.googletts:3.4.0.M1 (323)[org.openhab.voice.googletts.internal.GoogleTTSService(411)] : ImmediateComponentHolder Will not enable component for pid org.openhab.voice.googletts: holder enabled state: true, metadata enabled: true
2022-09-11 22:03:06.311 [DEBUG] [.googletts.internal.GoogleTTSService] - Synthesize ',,Hallo!' for voice 'googletts:enGBWavenetC' in format AudioFormat [codec=MP3, container=NONE, bitDepth=16, bitRate=64000, frequency=44100channels=1]
2022-09-11 22:03:06.318 [DEBUG] [ce.googletts.internal.GoogleCloudAPI] - Audio file enGBWavenetC_b71e4fb9ca77850d960ef7bc9ed4aa80.mp3 was found in cache.
2022-09-11 22:03:08.932 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'ChromecastGrpGoogleTTSOFF' changed from ON to OFF
2022-09-11 22:03:19.032 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'ChromecastGrpGoogleTTSOFF' changed from OFF to ON
The oauth2 log is:
Line 27092: 2022-09-11 22:02:36.157 [DEBUG] [oauth2client.internal.OAuthConnector] - Oauth request parameter grant_type, value authorization_code
Line 27093: 2022-09-11 22:02:36.159 [DEBUG] [oauth2client.internal.OAuthConnector] - Oauth request parameter code, value XXxxXXXXXXXXXXXXXXXXX
Line 27094: 2022-09-11 22:02:36.161 [DEBUG] [oauth2client.internal.OAuthConnector] - Oauth request parameter redirect_uri, value https://www.google.com
Line 27095: 2022-09-11 22:02:36.162 [DEBUG] [oauth2client.internal.OAuthConnector] - Setting authentication for clientId XXXXXXXXXXXXXX. Using basic auth false
Line 27100: 2022-09-11 22:02:41.423 [DEBUG] [oauth2client.internal.OAuthConnector] - grant type authorization_code to URL https://accounts.google.com/o/oauth2/token success
In the first moment I hear sound, after some time I cant hear anything on the speaker:
2022-09-11 23:43:57.387 [DEBUG] [.googletts.internal.GoogleTTSService] - Synthesize 'Hello world! ' for voice 'googletts:enGBWavenetC' in format AudioFormat [codec=MP3, container=NONE, bitDepth=16, bitRate=64000, frequency=44100channels=1]
2022-09-11 23:43:57.389 [WARN ] [core.voice.internal.VoiceManagerImpl] - Error saying 'Hello world! ': Missing service configuration.
Hi,
Are the logs I sent 2 weeks ago sufficient or do I need to do something else?
Still not success with Google TTL
Greetings
Sorry, I didn’t have the time lately to look into it:
Looking at the logs everything is actually looking pretty good (even oauth works). It is loading the voices and even generating the sound file
2022-09-11 22:03:06.311 [DEBUG] [.googletts.internal.GoogleTTSService] - Synthesize ',,Hallo!' for voice 'googletts:enGBWavenetC' in format AudioFormat [codec=MP3, container=NONE, bitDepth=16, bitRate=64000, frequency=44100channels=1]
2022-09-11 22:03:06.318 [DEBUG] [ce.googletts.internal.GoogleCloudAPI] - Audio file enGBWavenetC_b71e4fb9ca77850d960ef7bc9ed4aa80.mp3 was found in cache.
2022-09-11 22:03:08.932 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'ChromecastGrpGoogleTTSOFF' changed from ON to OFF
2022-09-11 22:03:19.032 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'ChromecastGrpGoogleTTSOFF' changed from OFF to ON
The cache is at /var/lib/openhab/cache/org.openhab.voice.googletts (you can look up the userdata folder in the about page of openHAB under “Technical Information”) and in my case if I copied these files to my computer, played them and they all sound fine. Can you do that with the file mentioned above, so we know that file works?
You can then copy the file (rename to test.mp3) to
and use the console to play the file:
openhab-cli console
openhab:audio sinks
choose one of the sinks (here “Arbeitszimmer (chromecast:chromecast:40b736dcf5769977ed035d702f3ffffff)” and play the audio via
play chromecast:chromecast:40b736dcf5769977ed035d702f3ffffff test.mp3
If that works and is received by your speaker then we know at least that this is not the problem.
2022-09-11 23:43:57.389 [WARN ] [core.voice.internal.VoiceManagerImpl] - Error saying 'Hello world! ': Missing service configuration.
When looking into the source where this error is thrown
public AudioStream synthesize(String text, Voice voice, AudioFormat requestedFormat) throws TTSException {
logger.debug("Synthesize '{}' for voice '{}' in format {}", text, voice.getUID(), requestedFormat);
// Validate known api key
if (!apiImpl.isInitialized()) {
throw new TTSException("Missing service configuration.");
}
it says it the API is not initialized and the comment hints into the direction of the API key:
void setConfig(GoogleTTSConfig config) {
this.config = config;
String clientId = config.clientId;
String clientSecret = config.clientSecret;
if (clientId != null && !clientId.isEmpty() && clientSecret != null && !clientSecret.isEmpty()) {
try {
final OAuthClientService oAuthService = oAuthFactory.createOAuthClientService(
GoogleTTSService.SERVICE_PID, GCP_TOKEN_URI, GCP_AUTH_URI, clientId, clientSecret, GCP_SCOPE,
false);
this.oAuthService = oAuthService;
getAccessToken();
initialized = true;
initVoices();
} catch (AuthenticationException | CommunicationException e) {
logger.warn("Error initializing Google Cloud TTS service: {}", e.getMessage());
oAuthService = null;
initialized = false;
voices.clear();
}
}
But looking into the code, I wonder how the voices can be initialized (as can be seen in the logs) but the API isn’t?
Maybe some of the code contributors (I found through git) @mhilbush, @dalgwen, @wborn have an idea what is going on here?
There is also another problem that may be related?
I also get
2022-09-26 09:50:35.983 [WARN ] [ce.googletts.internal.GoogleCloudAPI] - Error initializing Google Cloud TTS service: An unexpected IOException occurred: Exception in oauth communication, grant type authorization_code
when trying to initialize the API.
Hi
Yes the file woks on Windows player
And I can hear the message when I run it manually using play from the console
This is weird. It tells us that google actually generates that voice file. I am running out of ideas now. Can you try to use a different sink? If you have none, can you try the new webaudio setting (there is a preliminary documentation I wrote for that which is not published yet) ?
btw, the way I changed my Google TTS not to use OOB as described here and it works fine.
It generates the file but after some time loses the authentication, so I think that file has been generated while the connection to Google tts was possible.
I dont really see how the webaudio settings would help. My problem is not related to the chromecasts and playing sounds, that has always worked. My problem is because openhab looses the authentication.