如何使用AWS Polly API来将网页TTS并保存在AWS S3中

时间:2019-08-28 05:58:52

标签: node.js amazon-web-services amazon-polly

我正在尝试使AWS Polly保存URL内容的mp3音频转录。我已经尝试了一些预烘焙的脚本,但是似乎都没有用。

这是我的目标蓝图: (1)lambda函数 -调用polly API StartSpeechSynthesisTask -使用URL内容作为文本 -将音频文件保存在s3

这就是我在Lambda中尝试过的

public partial class AppUser : Microsoft.AspNet.Identity.EntityFramework.IdentityUser<int, IdentityUserLogin<int>, IdentityUserRole<int>, IdentityUserClaim<int>>
{
}

我希望输出是保存在s3存储桶中的MP3文件。

1 个答案:

答案 0 :(得分:0)

嗨,欢迎来到stackoverflow,

您似乎有一些语法错误(尤其是在params内部),并且您需要将polly. startSpeechSynthesisTask包装在请求的回调中,因为您依赖于请求的响应。

根据您的初始帖子,我假设您正在使用AWS Lambda。因此,请尝试以下

var request = require('request');

exports.handler = () => {
    request({ uri: 'https://www.canalmeio.com.br/ultima-edicao/' }, function (error, response, body) {
        var params = {
            OutputFormat: 'mp3',
            OutputS3BucketName: 'BUCKETNAMEXXXX',
            Text: body,
            VoiceId: 'Cristiano',
            Engine: 'standard',
            LanguageCode: 'pt-BR',
            OutputS3KeyPrefix: 'meio',
            SampleRate: '22050',
            TextType: 'text'
        };
        polly.startSpeechSynthesisTask(params, function (error) {
            if (error) {
                throw new Error(error);
            }
            return 'Success';
        });
    });
};

免责声明:未经测试!