如何使用 Python 从 Amazon Polly 将文件保存为 mp3

How to save file as mp3 from Amazon Polly using Python

我正在使用 Amazon Polly 进行 TTS,但我不知道如何将转换后的语音保存到我计算机中的 .mp3 文件中

我已经尝试过 gTTS,但我的任务需要 Amazon Polly。

import boto3
client = boto3.client('polly')
response = client.synthesize_speech
(Text = "Hello my name is Shubham", OuptutFormat = "mp3", VoiceId = 'Aditi')

现在,我应该如何播放这个转换后的语音或将其作为 .mp3 文件保存到我的电脑中?

此代码示例直接取自文档:https://docs.aws.amazon.com/polly/latest/dg/SynthesizeSpeechSamplePython.html

import boto3

polly_client = boto3.Session(
                aws_access_key_id=,                     
    aws_secret_access_key=,
    region_name='us-west-2').client('polly')

response = polly_client.synthesize_speech(VoiceId='Joanna',
                OutputFormat='mp3', 
                Text = 'This is a sample text to be synthesized.')

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

虽然与原始问题没有直接关系,但我回应了其中一条关于在不将音频保存到文件的情况下获取音频流的评论。

您还可以查看此示例的文档: https://docs.aws.amazon.com/polly/latest/dg/example-Python-server-code.html

这表明从 Polly 收到了回复:

    response = polly.synthesize_speech(Text=text, VoiceId=voiceId, OutputFormat=outputFormat)
    data_stream=response.get("AudioStream")

第一行向 Polly 发出请求并将响应存储在响应对象中,而第二行从响应对象中获取音频流。