View a markdown version of this page

比較 SynthesizeSpeech 和 StartSpeechSynthesisStream - Amazon Polly

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

比較 SynthesizeSpeech 和 StartSpeechSynthesisStream

SynthesizeSpeech 是一種請求回應操作。您可以在單一請求中提供完整文字,並在單一回應中接收完整合成的音訊。它支援所有引擎 (標準、神經、長形、生成式)、包括語音標記在內的所有輸出格式,每個請求的文字限制為 6,000 個字元 (其中不超過 3,000 個字元)。回應會在第一個位元組可用時立即串流音訊。當您有所有可用的文字時,請使用此操作。

StartSpeechSynthesisStream 是一種雙向串流操作。它會開啟 HTTP/2 連線,您在其中遞增傳送文字,並在合成時接收音訊。由於文字會持續串流,因此沒有每個請求的文字限制。它需要生成式引擎,且不支援語音標記。當文字增量到達,且您希望音訊輸出在所有輸入可用之前開始,請使用此操作。常見案例包括:

  • 對話式 AI 和語音助理。大型語言模型會以小區塊 (權杖) 產生回應文字。將每個文字區塊轉送到 Amazon Polly,讓使用者在模型仍在產生時聽到語音。

  • 即時轉譯。轉譯系統會依區段產生翻譯的文字區段。串流每個區段以進行合成,無需等待完整轉譯完成。

  • 超過 SynthesizeSpeech 限制的長格式內容。超過 6,000 個字元的文字可以持續串流,而無需分割為多個請求或管理區塊邊界。

SynthesizeSpeech 和 StartSpeechSynthesisStream 的比較
面向 SynthesizeSpeech StartSpeechSynthesisStream

通訊協定

請求-回應

雙向事件串流 (HTTP/2)

文字交付

請求內文中的全文

透過 TextEvent 訊息串流輸入文字

音訊交付

透過 HTTP 回應內文串流音訊回應

透過 AudioEvent 訊息串流音訊回應

引擎支援

標準、神經、長形、生成式

僅限生成式

SSML 支援

是 (所有引擎;支援的標籤因引擎而異)

是 (僅限生成引擎標籤)

語彙

語音標記

文字限制

每個請求總計 6,000 個字元 (3,000 個計費)

每個 TextEvent 總計 6,000 個字元 (3,000 個計費)

AWS CLI 支援

否 (雙向串流需要 SDK)