OH3 Google TTS: Error - grant type authorization_code

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?

Did you read what had put together here? Rules Blockly - Voice and Multimedia | openHAB

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 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!

  • 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 :smiley:

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.