View a markdown version of this page

SynthesizeSpeech 并 StartSpeechSynthesisStream 进行了比较 - Amazon Polly

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

SynthesizeSpeech 并 StartSpeechSynthesisStream 进行了比较

SynthesizeSpeech是一个请求-响应操作。您可以在单个请求中提供完整的文本,并在单个响应中接收完整的合成音频。它支持所有引擎(标准、神经、长格式、生成式)、包括语音标记在内的所有输出格式,并且每个请求的文本限制为 6,000 个总字符(其中计费字符不能超过 3,000 个)。一旦第一个字节可用,响应就会将音频流回去。当您预先准备好所有文本时,请使用此操作。

StartSpeechSynthesisStream是一种双向流媒体操作。它会打开一个 HTTP/2 连接,您可以通过该连接增量发送文本,并在合成时接收音频。由于文本是连续流式传输的,因此没有每个请求的文本限制。它需要生成引擎,并且不支持语音标记。当文本以增量方式到达,并且您希望在所有输入都可用之前开始音频输出时,请使用此操作。常见场景包括:

  • 对话式 AI 和语音助手。大型语言模型以小块(标记)的形式生成响应文本。当每个文本块到达时将其转发到 Amazon Polly,这样用户就可以在模型仍在生成时听到语音。

  • Real-time 翻译。翻译系统逐段生成翻译后的文本。流式传输每个片段进行合成,无需等待完整翻译完成。

  • Long-form 内容超出 SynthesizeSpeech 限制。长度超过 6,000 个字符的文本可以连续流式传输,而无需拆分为多个请求或管理区块边界。

SynthesizeSpeech 和的比较 StartSpeechSynthesisStream
方面 SynthesizeSpeech StartSpeechSynthesisStream

协议

Request-response

双向事件流 () HTTP/2

文字传送

请求正文中的全文

通过 TextEvent 消息流式传输输入文本

音频传输

通过 HTTP 响应正文流式传输音频响应

通过 AudioEvent 消息流式传输音频响应

发动机支架

标准、神经、长形、生成式

仅限生成式

SSML 支持

是(所有引擎;支持的标签因引擎而异

是(仅限生成引擎标签

词典

支持

语音标记

文字限制

每个请求总共有 6,000 个字符(计费 3,000 个)

每个 6,000 个字符(计费 3,000 个) TextEvent

AWS CLI 支持

否(双向直播需要 SDK)