Update google-cloud-texttospeech to 2.10.0 (#66726)

This commit is contained in:
Franck Nijhof 2022-02-17 12:06:49 +01:00 committed by GitHub
parent a1b81b2de4
commit 72fad87aef
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 18 additions and 17 deletions

View file

@ -122,13 +122,9 @@ SUPPORTED_OPTIONS = [
CONF_TEXT_TYPE,
]
GENDER_SCHEMA = vol.All(
vol.Upper, vol.In(texttospeech.enums.SsmlVoiceGender.__members__)
)
GENDER_SCHEMA = vol.All(vol.Upper, vol.In(texttospeech.SsmlVoiceGender.__members__))
VOICE_SCHEMA = cv.matches_regex(VOICE_REGEX)
SCHEMA_ENCODING = vol.All(
vol.Upper, vol.In(texttospeech.enums.AudioEncoding.__members__)
)
SCHEMA_ENCODING = vol.All(vol.Upper, vol.In(texttospeech.AudioEncoding.__members__))
SPEED_SCHEMA = vol.All(vol.Coerce(float), vol.Clamp(min=MIN_SPEED, max=MAX_SPEED))
PITCH_SCHEMA = vol.All(vol.Coerce(float), vol.Clamp(min=MIN_PITCH, max=MAX_PITCH))
GAIN_SCHEMA = vol.All(vol.Coerce(float), vol.Clamp(min=MIN_GAIN, max=MAX_GAIN))
@ -263,27 +259,32 @@ class GoogleCloudTTSProvider(Provider):
try:
params = {options[CONF_TEXT_TYPE]: message}
# pylint: disable=no-member
synthesis_input = texttospeech.types.SynthesisInput(**params)
synthesis_input = texttospeech.SynthesisInput(**params)
voice = texttospeech.types.VoiceSelectionParams(
voice = texttospeech.VoiceSelectionParams(
language_code=language,
ssml_gender=texttospeech.enums.SsmlVoiceGender[options[CONF_GENDER]],
ssml_gender=texttospeech.SsmlVoiceGender[options[CONF_GENDER]],
name=_voice,
)
audio_config = texttospeech.types.AudioConfig(
audio_encoding=texttospeech.enums.AudioEncoding[_encoding],
audio_config = texttospeech.AudioConfig(
audio_encoding=texttospeech.AudioEncoding[_encoding],
speaking_rate=options[CONF_SPEED],
pitch=options[CONF_PITCH],
volume_gain_db=options[CONF_GAIN],
effects_profile_id=options[CONF_PROFILES],
)
# pylint: enable=no-member
request = {
"voice": voice,
"audio_config": audio_config,
"input": synthesis_input,
}
async with async_timeout.timeout(10):
assert self.hass
response = await self.hass.async_add_executor_job(
self._client.synthesize_speech, synthesis_input, voice, audio_config
self._client.synthesize_speech, request
)
return _encoding, response.audio_content