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

时间:2019-07-06 10:32:45

标签: python amazon-web-services boto3 text-to-speech amazon-polly

我正在使用Amazon Polly for 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文件到我的PC中?

2 个答案:

答案 0 :(得分:1)

此代码示例直接来自文档: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()

答案 1 :(得分:0)

虽然与原始问题没有直接关系,但我回答了其中一项有关热点的评论,以便在不将音频保存到文件的情况下访问音频流。

您也可以查看此示例的文档: 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发出请求,并将响应存储在响应对象中,而第二行从响应对象获取音频流。