Я начинаю знать, как использовать API Google, изменяющие пример кода Python API texttospeech. Я обнаружил проблему, когда я использую ssml Язык в текстовом файле для передачи текста в API, результирующий mp3-аудио изменил символ «é» с предложением «derechos de autor» и символ «á» с молчанием. Это происходит только тогда, когда я читаю текст из файла, если я предоставляю ssml-предложение непосредственно заявлению аргументом, при вызове этого изменения не происходит.
Я искал эту проблему, и я не нашел ее, кто-нибудь может намекнуть, что здесь происходит?
Это функция, которая берет текстовое сообщение ssml из консоли и создает правильный аудиофайл mp3:
def synthesize_ssml(ssml, output):
from google.cloud import texttospeech as texttospeech
client = texttospeech.TextToSpeechClient()
input_text = texttospeech.types.SynthesisInput(ssml=ssml)
voice = texttospeech.types.VoiceSelectionParams(language_code='es-ES')
audio_config = texttospeech.types.AudioConfig(
audio_encoding=texttospeech.enums.AudioEncoding.MP3)
response = client.synthesize_speech(input_text, voice, audio_config)
with open(output, 'wb') as out:
out.write(response.audio_content)
print('Audio content written to file "%s"' % output)
И это функция, которая берет ssml из файла, одного и того же текста, создает разные аудио файлы:
def synthesize_ssml_file(input, output):
from google.cloud import texttospeech as texttospeech
with open(input,'r') as inp:
input_text=texttospeech.types.SynthesisInput(ssml=str(inp.read()))
client = texttospeech.TextToSpeechClient()
voice = texttospeech.types.VoiceSelectionParams(language_code='es-ES')
audio_config = texttospeech.types.AudioConfig(
audio_encoding=texttospeech.enums.AudioEncoding.MP3)
response = client.synthesize_speech(input_text, voice, audio_config)
with open(output, 'wb') as out:
out.write(response.audio_content)
print('Audio content written to file "%s"' % output)