使用文字轉換語音 API

已完成

與語音 轉換文字 API 類似,Azure AI 語音服務提供其他 REST API 進行語音合成:

  • 文字到語音轉換 API,這是執行語音合成的主要方式。
  • Batch 合成 API,其設計目的是支援將大量文字轉換成音訊的批次作業,例如從來源文字產生音訊書籍。

您可以在 文字到語音轉換 REST API 檔中深入瞭解 REST API。 實際上,大部分啟用互動式語音的應用程式會透過特定語言 SDK 使用 Azure AI 語音服務。

使用 Azure AI 語音 SDK

與語音辨識一樣,在實務上,大部分啟用互動式語音的應用程式都是使用 Azure AI 語音 SDK 所建置。

實作語音合成的模式類似於語音辨識的模式:

顯示 SpeechSynthesizer 物件如何從 SpeechConfig 和 AudioConfig 建立,以及其 SpeakTextAsync 方法如何用來呼叫語音 API 的圖表。

  1. 使用 SpeechConfig 物件來封裝連線到 Azure AI 語音資源所需的資訊。 具體來說,其位置
  2. 或者,使用 AudioConfig 來定義要合成之語音的輸出裝置。 根據預設,這是預設的系統喇叭,但您也可以指定音訊檔案,或藉由明確將此值設定為 Null 值,即可直接處理傳回的音訊數據流物件。
  3. 使用 SpeechConfigAudioConfig 來建立 SpeechSynthesizer 物件。 此物件是 文字到語音 轉換 API 的 Proxy 用戶端。
  4. 使用 SpeechSynthesizer 物件的方法來呼叫基礎 API 函式。 例如, SpeakTextAsync() 方法會使用 Azure AI 語音服務將文字轉換成語音。
  5. 處理來自 Azure AI 語音服務的回應。 在 SpeakTextAsync 方法的案例中,結果是 SpeechSynthesisResult 物件,其中包含下列屬性:
    • AudioData
    • 性能
    • 原因
    • 結果編號

成功合成語音時, Reason 屬性會設定為 合成AudioCompleted 列舉, 而 AudioData 屬性會包含音訊數據流(視 AudioConfig 而定,可能已自動傳送至喇叭或檔案)。