Как использовать AWS polly в boto3 для приостановки

#amazon-web-services #amazon-polly

#amazon-веб-сервисы #amazon-polly

Вопрос:

Мой код следующий:

 import boto3
polly_client = boto3.Session().client('polly')    

response = polly_client.synthesize_speech(
    VoiceId='Joanna',
    OutputFormat='mp3', 
    Text = sentence
)
audio = response['AudioStream']
  

Я попытался использовать следующее предложение:

 sentence = '''<speak><s>Mary had a little lamb</s> <s>Whose fleece was white as snow</s>And everywhere that Mary went, the lamb was sure to go.</speak>'''
  

но сгенерированный звук не имеет паузы, он просто считывает текст.

Комментарии:

1. Первая ссылка, когда я ищу «AWS Polly Pause»: docs.aws.amazon.com/polly/latest/dg/supportedtags.html который показывает, что вам нужно использовать <break> вместо <pause> .

2. @MarkB Спасибо за отрицательный отзыв. Я пытался <break time="3s"/> , но это не работает

Ответ №1:

При этом генерируется аудиофайл для фразы «Hello world» с 2-секундной паузой между словами:

 import boto3
polly_client = boto3.Session().client('polly')

sentence = '''<speak>Hello <break time='2000ms'/> World</speak>'''

response = polly_client.synthesize_speech(
    VoiceId='Joanna',
    OutputFormat='mp3',
    TextType='ssml',
    Text=sentence
)

file = open('speech.mp3', 'wb')
file.write(response['AudioStream'].read())
file.close()
  

Более подробную информацию смотрите в подразделах документации aws в разделе Использование SSML.