Amazon Polly 更新,时间驱动的韵律和异步合成

阅读数:40 2019 年 10 月 22 日 08:00

Amazon Polly 更新,时间驱动的韵律和异步合成

希望您喜欢在本博客的最新文章中提供的由 Polly 加以支持的音频,这些文章包括 DeepLens 挑战赛 Storage Gateway 概述。作为博客写作过程的一部分,我现在正聆听我的草稿博文的合成语音,以便更好地了解相关内容如何铺展。

今天,我们将推出 Amazon Polly 的两项新功能:

时间驱动的韵律

– 现在,您可以为同部分或全部输入文本相对应的合成语音指定所需的持续时间。

异步合成

– 现在,您可以处理大量文本,并在 Amazon S3 中使用单个调用存储合成的语音。
以上两种功能现已推出,您可以立即开始使用。我们来深入了解一下!

时间驱动的韵律

假设您正在创建一个多语言版本的视频或自行运行的演示文稿。在以一种语言编写脚本、录制视频之后,您使用 Amazon Translate 和 Amazon Polly 以其他语言创建音轨。为了使每种语言与视觉内容保持同步,您需要对每个片段的持续时间进行精细控制。这正是此新功能的用武之地。现在,您可以指定任何所需片段的最大所需持续时间,依靠 Polly 调整语速以限制每个片段的长度。
如果我使用 Amazon Polly 的 Joanna 语音并且不使用任何其他选项,以上段落会生成时长 19 秒的音频:

col 1 col 2

Xml

复制代码
<speak>
In order to keep each language in sync with the visual content,
you need to exercise fine-grained control over the duration of
each segment. That's where this new feature comes in. You can
now specify the maximum desired duration for any desired segments,
counting on Polly to adjust the speech rate in order to limit
the length of each segment.
</speak>

|

我可以使用 <prosody> 标签将时长限制为 15 秒:

col 1 col 2

Xml

复制代码
<speak>
<prosody amazon:max-duration="15s">
In order to keep each language in sync with the visual content,
you need to exercise fine-grained control over the duration of
each segment. That's where this new feature comes in. You can
now specify the maximum desired duration for any desired segments,
counting on Polly to adjust the speech rate in order to limit
the length of each segment.
</prosody>
</speak>

|

我可以使用多个 <prosody> 标签更精细地控制持续时间:

col 1 col 2

Xml

复制代码
<prosody amazon:max-duration="10s">
In order to keep each language in sync with the visual content,
you need to exercise fine-grained control over the duration of
each segment.
</prosody>
<prosody amazon:max-duration="7s">
That's where this new feature comes in. You can now specify
the maximum desired duration for any desired segments,
counting on Polly to adjust the speech rate in order to limit
the length of each segment.
</prosody>

|

我的英语文本的西班牙语版本(由 Amazon Translate 提供)要稍长一些,速度也明显加快:

col 1 col 2

Xml

复制代码
<speak>
<prosody amazon:max-duration="15s">
Para mantener cada idioma sincronizado con el contenido
visual, es necesario ejercer un control detallado sobre
la duración de cada segmento. Ahí es donde entra esta
nueva característica. Ahora puede especificar la
duración máxima deseada para los segmentos deseados,
contando con que Polly ajuste la velocidad de voz para
limitar la longitud de cada segmento.
</prosody>
</speak>

|

每个有时间限制的 <prosody> 标签内的文本字符数必须控制在 1500 个以内,并且不得嵌套(内部标签将被忽略)。为了确保音频依然容易理解,Polly 会将音频速度最高加快 5 倍。

异步合成

借助此功能,您可以使用异步请求一次处理具有多达 100000 个字符的文本,从而可更轻松地使用 Polly 为文章或书籍章节等长篇内容生成语音。系统会将合成后的语音传送至您选择的 S3 存储桶,并将失败通知有选择地路由至您选择的 Amazon Simple Notification Service (SNS) 主题。所生成的音频长度上限为 6 小时,并且通常在几分钟内即可准备就绪。除了具有 100000 个字符的文本外,每个请求还可以额外包含 100000 个字符的语音合成标记语言 (SSML) 标记。
每个异步请求都会创建一个新的语音合成任务。您可以通过 Polly 控制台、CLI (start-speech-synthesis-task) 或 API (StartSpeechSynthesisTask) 启动和管理任务。

为了测试此功能,我为自己撰写的已经完全过时的 AWS 书籍创建了纯文本版本,并插入了一些 SSML 标签,在此过程中将其变为有效的 XML。然后,我打开 Polly 控制台,单击文本到语音转换,粘贴该 XML,然后单击 Synthesize to S3(合成到 S3):
Amazon Polly 更新,时间驱动的韵律和异步合成

我输入 S3 存储桶的名称(该存储桶必须位于我计划创建任务的区域中),然后单击 Synthesize(合成) 以继续:

Amazon Polly 更新,时间驱动的韵律和异步合成

我的任务已创建:

Amazon Polly 更新,时间驱动的韵律和异步合成

我可以在任务列表中看到该任务:

Amazon Polly 更新,时间驱动的韵律和异步合成

在合成完毕后,我收到一封电子邮件:

Amazon Polly 更新,时间驱动的韵律和异步合成

而且,正如预期的那样,文件位于我的存储桶中:

Amazon Polly 更新,时间驱动的韵律和异步合成

我并未花很多时间进行标记,但结果却非常可观:

值得注意的是,这一章的大部分内容仍然具有重要意义。这本书的其余内容已经过时,最好就此尘封!也许以后我会再写一本。

总之,如您所看到和听到的,异步语音合成不仅功能强大,而且易于使用。何不试一试,构建一些酷炫的内容,然后跟我说说?

本文转载自 AWS 技术博客。

原文链接:
https://amazonaws-china.com/cn/blogs/china/amazon-polly-update-time-driven-prosody-and-asynchronous-synthesis/

欲了解 AWS 的更多信息,请访问【AWS 技术专区】

评论

发布