选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

为合成语音设置最长持续时间

聚焦模式
为合成语音设置最长持续时间 - Amazon Polly

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

<prosody amazon:max-duration>

目前只有标准 TTS 格式支持此标签。

要控制您希望语音在合成后花费多长时间,请使用具有 <prosody> 属性的 amazon:max-duration 标签。

合成的语音的持续时间会因您选择的语音而略有不同。这样很难使合成的语音与需要精确计时的视觉效果或其他活动匹配。对于翻译应用程序来说,此问题被扩大,因为使用不同语言说特定短语所需的时间可能大不相同。

<prosody amazon:max-duration> 标签使合成的语音与所需的时间量(持续时间)匹配。

此标签使用以下语法:

<prosody amazon:max-duration="time duration">

使用 <prosody amazon:max-duration> 标签,您可以指定持续时间,以秒或毫秒为单位:

  • ns:最长持续时间,以秒为单位

  • nms:最长持续时间,以毫秒为单位

例如,以下说出的文本的最长持续时间为 2 秒:

<speak> <prosody amazon:max-duration="2s"> Human speech is a powerful way to communicate. </prosody> </speak>

放置在标签中的文本没有超过指定的持续时间。如果所选语音或语言所需时间通常长于该持续时间,Amazon Polly 可加快语音以使其符合指定的持续时间。

如果指定的持续时间长于以正常速率读取文本所需的时间,Amazon Polly 将正常读取语音。它不会减慢语音或添加静默,因此生成的音频比请求的短。

注意

Amazon Polly 提高的速度不会超过正常速率的 5 倍。如果文本的说出速度超过此值,则通常不明智。如果语音在加速到最大值后仍无法符合指定的持续时间,则音频将加速,但持续时间将长于指定的持续时间。

您可以在 <prosody amazon:max-duration> 标签中包括单个句子或多个句子,并且可以在文本中使用多个 <prosody amazon:max-duration> 标签。

例如:

<speak> <prosody amazon:max-duration="2400ms"> Human speech is a powerful way to communicate. </prosody> <break strength="strong"/> <prosody amazon:max-duration="5100ms"> Even a simple ‘Hello’ can convey a lot of information depending on the pitch, intonation, and tempo. </prosody> <break strength="strong"/> <prosody amazon:max-duration="8900ms"> We naturally understand this information, which is why speech is ideal for creating applications where a screen isn’t practical or possible, or simply isn’t convenient. </prosody> </speak>

使用 <prosody amazon:max-duration> 标签可增加 Amazon Polly 返回合成的语音时的延迟。延迟程度取决于段落及其长度。我们建议使用由较短文本段落组成的文本。

限制

在如何使用 <prosody amazon:max-duration> 标签及其如何与其他 SSML 标签结合使用方面存在限制:

  • <prosody amazon:max-duration> 标签中的文本不能超过 1500 个字符。

  • 不能嵌套 <prosody amazon:max-duration> 标签。如果您将一个 <prosody amazon:max-duration> 标签放置在另一个此标签中,则 Amazon Polly 会忽略内部标签。

    例如,在下面,将忽略 <prosody amazon:max-duration="5s"> 标签:

    <speak> <prosody amazon:max-duration="16s"> Human speech is a powerful way to communicate. <prosody amazon:max-duration="5s"> Even a simple ‘Hello’ can convey a lot of information depending on the pitch, intonation, and tempo. </prosody> We naturally understand this information, which is why speech is ideal for creating applications where a screen isn’t practical or possible, or simply isn’t convenient. </prosody> </speak>
  • 不能在 <prosody> 标签中使用具有 rate 属性的 <prosody amazon:max-duration> 标签。这是因为二者都会影响文本的朗读速度。

    在以下示例中,Amazon Polly 将忽略 <prosody rate="2"> 标签:

    <speak> <prosody amazon:max-duration="7500ms"> Human speech is a powerful way to communicate. <prosody rate="2"> Even a simple ‘Hello’ can convey a lot of information depending on the pitch, intonation, and tempo. </prosody> </prosody> </speak>

停顿和 max-duration

当使用 max-duration 标签时,您仍可以在文本中插入停顿。但是,Amazon Polly 在计算语音的最长持续时间时会包括停顿的长度。此外,Amazon Polly 会保留放置在段落中的逗号和句号处出现的短停顿并包括在最长持续时间中。

例如,在下面的数据块中,在 8 秒语音中出现由逗号和句号引起的 600 毫秒中断:

<speak> <prosody amazon:max-duration="8s"> Human speech is a powerful way to communicate. <break time="600ms"/> Even a simple ‘Hello’ can convey a lot of information depending on the pitch, intonation, and tempo. </prosody> </speak>

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。