使用文字轉換語音 API
與語音 轉換文字 API 類似,Azure AI 語音服務提供其他 REST API 進行語音合成:
- 文字到語音轉換 API,這是執行語音合成的主要方式。
- Batch 合成 API,其設計目的是支援將大量文字轉換成音訊的批次作業,例如從來源文字產生音訊書籍。
您可以在 文字到語音轉換 REST API 檔中深入瞭解 REST API。 實際上,大部分啟用互動式語音的應用程式會透過特定語言 SDK 使用 Azure AI 語音服務。
使用 Azure AI 語音 SDK
與語音辨識一樣,在實務上,大部分啟用互動式語音的應用程式都是使用 Azure AI 語音 SDK 所建置。
實作語音合成的模式類似於語音辨識的模式:
- 使用 SpeechConfig 物件來封裝連線到 Azure AI 語音資源所需的資訊。 具體來說,其位置和鍵。
- 或者,使用 AudioConfig 來定義要合成之語音的輸出裝置。 根據預設,這是預設的系統喇叭,但您也可以指定音訊檔案,或藉由明確將此值設定為 Null 值,即可直接處理傳回的音訊數據流物件。
- 使用 SpeechConfig 和 AudioConfig 來建立 SpeechSynthesizer 物件。 此物件是 文字到語音 轉換 API 的 Proxy 用戶端。
- 使用 SpeechSynthesizer 物件的方法來呼叫基礎 API 函式。 例如, SpeakTextAsync() 方法會使用 Azure AI 語音服務將文字轉換成語音。
- 處理來自 Azure AI 語音服務的回應。 在 SpeakTextAsync 方法的案例中,結果是 SpeechSynthesisResult 物件,其中包含下列屬性:
- AudioData
- 性能
- 原因
- 結果編號
成功合成語音時, Reason 屬性會設定為 合成AudioCompleted 列舉, 而 AudioData 屬性會包含音訊數據流(視 AudioConfig 而定,可能已自動傳送至喇叭或檔案)。