5

我的想法是用来从提要中AWS Polly大声朗读一些新闻。RSS根据此链接,我了解 Polly 在要转换的字符方面非常灵活,例如"Adventures of Huckelberry Finn" by Mark Twain ~600k characters ,问题是当我尝试将文章转换为语音时,出现以下错误:

An error occurred (TextLengthExceededException) when calling the SynthesizeSpeech operation: Maximum text length has been exceeded

我试图转换的文本大约有 5000 个字符。

有没有办法(有或没有 API)用 Polly 转换长字符串,而不必将它们切割成数百万个不同的片段?

任何正确方向的提示将不胜感激,

谢谢

4

4 回答 4

5

输入文本的大小最多为 1500 个计费字符(总共 3000 个字符)。SSML 标签不计为计费字符。

http://docs.aws.amazon.com/polly/latest/dg/limits.html

定价示例似乎是为了让人感觉为大型作品配音的成本相对较低,但实际上需要将作品分成几组句子并提交给 API,这是唯一的接口——SDK和 CLI 调用相同的SynthesizeSpeechAPI。

于 2016-12-25T02:18:03.903 回答
3

文档中描述了如何创建长音频文件:https ://docs.aws.amazon.com/polly/latest/dg/longer-cli.html

aws-CLI 调用可能如下所示:

aws polly start-speech-synthesis-task \
--region eu-central-1 \
--endpoint-url "https://polly.eu-central-1.amazonaws.com/" \
--output-format mp3 \
--output-s3-bucket-name your-bucket-name \
--output-s3-key-prefix optional/prefix/path/file \
--voice-id Hans \
--text-type ssml \
--text file://output.xml \
--speech-mark-types='["sentence", "word", "ssml"]' \

如您所见,您将需要一个 S3 存储桶用于(临时)存储。

于 2018-12-18T10:47:28.667 回答
1

如果不将文本分成几段,我没有什么特别的提示,但是我写了一篇文章,介绍了在 NodeJS 中实现它的方法。如果您没有其他选择,请随时查看和评论!

如何使用 AWS Polly 文本转语音处理超过 1500 个字符

于 2017-03-19T12:15:08.467 回答
1

我相信您已经找到了答案或现在继续前进。但我想在未来帮助任何人解决这个问题。

我在使用 AWS Polly 时遇到了同样的问题,不允许我一次发送超过 1500 个字符。所以我写了一些 javascript 来帮助将文本分成 230 个单词的块,然后一个接一个地发送到 API,然后在缓冲并播放之前将所有 mp3 文件拼接在一起。

这是我的 Github: https ://github.com/Aaronbest94/Polly-Character-Limitations

它不是最优雅的 Javascript,但它确实有效,我希望它可以帮助任何人在未来阅读这篇文章。

于 2017-04-06T14:19:52.770 回答