

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

# SynthesizeSpeech 并 StartSpeechSynthesisStream 进行了比较
<a name="bidirectional-streaming-choosing"></a>

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

**[StartSpeechSynthesisStream](https://docs.aws.amazon.com/polly/latest/dg/API_StartSpeechSynthesisStream.html)**是一种双向流媒体操作。它会打开一个 HTTP/2 连接，您可以通过该连接增量发送文本，并在合成时接收音频。由于文本是连续流式传输的，因此没有每个请求的文本限制。它需要生成引擎，并且不支持语音标记。当文本以增量方式到达，并且您希望在所有输入都可用之前开始音频输出时，请使用此操作。常见场景包括：
+ **对话式 AI 和语音助手**。大型语言模型以小块（标记）的形式生成响应文本。当每个文本块到达时将其转发到 Amazon Polly，这样用户就可以在模型仍在生成时听到语音。
+ **Real-time 翻译**。翻译系统逐段生成翻译后的文本。流式传输每个片段进行合成，无需等待完整翻译完成。
+ **Long-form 内容超出 SynthesizeSpeech 限制**。长度超过 6,000 个字符的文本可以连续流式传输，而无需拆分为多个请求或管理区块边界。


**SynthesizeSpeech 和的比较 StartSpeechSynthesisStream**  

| 方面 | SynthesizeSpeech | StartSpeechSynthesisStream | 
| --- | --- | --- | 
| 协议 | Request-response | 双向事件流 () HTTP/2 | 
| 文字传送 | 请求正文中的全文 | 通过 TextEvent 消息流式传输输入文本 | 
| 音频传输 | 通过 HTTP 响应正文流式传输音频响应 | 通过 AudioEvent 消息流式传输音频响应 | 
| 发动机支架 | 标准、神经、长形、生成式 | 仅限生成式 | 
| SSML 支持 | 是（所有引擎；[支持的标签因引擎而异](https://docs.aws.amazon.com/polly/latest/dg/supportedtags.html)） | 是（[仅限生成引擎标签](https://docs.aws.amazon.com/polly/latest/dg/supportedtags.html)） | 
| 词典 | 支持 | 是 | 
| 语音标记 | 是 | 否 | 
| 文字限制 | 每个请求总共有 6,000 个字符（计费 3,000 个） | 每个 6,000 个字符（计费 3,000 个） TextEvent | 
| AWS CLI 支持 | 是 | 否（双向直播需要 SDK） | 