def synthesize_speech( self, text, language="en-US", name="en-US-Standard-B", gender="MALE", encoding="MP3", target_file="synthesized.mp3", ): """Synthesize speech synchronously :param text: input text to synthesize :param language: voice language, defaults to "en-US" :param name: voice name, defaults to "en-US-Standard-B" :param gender: voice gender, defaults to "MALE" :param encoding: result encoding type, defaults to "MP3" :param target_file: save synthesized output to file, defaults to "synthesized.mp3" :return: synthesized output in bytes """ if not text: raise KeyError("text is required for kw: synthesize_speech") client = self._get_client_for_service(self.__service_name) synth_input = SynthesisInput(text=text) voice_selection = VoiceSelectionParams( language_code=language, name=name, ssml_gender=gender ) audio_config = AudioConfig(audio_encoding=encoding) response = client.synthesize_speech(synth_input, voice_selection, audio_config) if target_file: with open(target_file, "wb") as f: f.write(response.audio_content) return response.audio_content
def synthesize_speech( self, text: str, language: str = "en-US", name: str = "en-US-Standard-B", gender: str = "MALE", encoding: str = "MP3", target_file: str = "synthesized.mp3", ) -> List: """Synthesize speech synchronously :param text: input text to synthesize :param language: voice language, defaults to "en-US" :param name: voice name, defaults to "en-US-Standard-B" :param gender: voice gender, defaults to "MALE" :param encoding: result encoding type, defaults to "MP3" :param target_file: save synthesized output to file, defaults to "synthesized.mp3" :return: synthesized output in bytes **Examples** **Robot Framework** .. code-block:: robotframework ${result}= Synthesize Speech ${text} """ synth_input = SynthesisInput(text=text) voice_selection = VoiceSelectionParams( language_code=language, name=name, ssml_gender=gender ) audio_config = AudioConfig(audio_encoding=encoding) response = self.service.synthesize_speech( request={ "input": synth_input, "voice": voice_selection, "audio_config": audio_config, } ) if target_file: with open(target_file, "wb") as f: f.write(response.audio_content) return response.audio_content