有没有办法告诉亚马逊的Polly服务直接将音频文件转储到S3?使用SDK,您可以获得响应的流,然后我可以将其上传到S3,但是我希望跳过此步骤并直接执行它。我尝试将Polly S3预签名的post url作为文件位置发送,但尚未使其正常工作。
更新:自问题被提出以来,这已成为可能。请参见Amazon Polly现在支持输入字符限制为100K并将输出文件存储在S3中。
嘿,你可以看一下startSpeechSynthesisTask函数
根据https://aws.amazon.com/about-aws/whats-new/2018/07/amazon-polly-now-supports-input-character-limit-of-100k-and-stores-output-files-in-s3/,自2018年7月17日起,这是可能的:
从今天开始,您可以...将输出文件存储在S3中。
@Mohit是正确的 - 虽然我不知道AWS Polly Ruby SDK是否有本地支持,但它肯定通过REST API支持。根据StartSpeechSynthesisTask
操作的docs,StartSpeechSynthesisTask
需要语音合成所需的所有标准信息,以及Amazon S3存储合成任务输出的桶名称和两个可选参数(OutputS3KeyPrefix和SnsTopicArn)。
...此操作需要语音合成所需的所有标准信息,以及Amazon S3存储合成任务输出的桶名称和两个可选参数(OutputS3KeyPrefix和SnsTopicArn)。
请求语法如下:
POST /v1/synthesisTasks HTTP/1.1
Content-type: application/json
{
"Engine": "string",
"LanguageCode": "string",
"LexiconNames": [ "string" ],
"OutputFormat": "string",
"OutputS3BucketName": "string",
"OutputS3KeyPrefix": "string",
"SampleRate": "string",
"SnsTopicArn": "string",
"SpeechMarkTypes": [ "string" ],
"Text": "string",
"TextType": "string",
"VoiceId": "string"
}