使用 Azure AI 語音轉換文字 API

已完成

Azure AI 語音服務可透過兩個 REST API 支援語音辨識:

  • 語音轉換文字 API,此為執行語音辨識的主要方式。
  • 語音轉換文字的短音訊 API,其已針對音訊的短串流 (最多 60 秒) 進行最佳化。

視預期的語音輸入長度而定,您可使用上述任一種 API 來進行互動式語音辨識。 您也可使用語音轉換文字 API 進行批次轉譯,以批次作業的形式將多個音訊檔案轉譯為文字。

您可以在 語音轉換文字 REST API 文件中深入了解 REST API。 實際上,大部分支援語音功能的互動式應用程式都是透過 (程式設計) 語言專用的 SDK 使用語音服務。

使用 Azure AI 語音 SDK

雖然根據使用的 SDK (Python、C# 等) 不同,具體細節會有差異,但語音轉換文字 API 仍存在一致的使用模式:

A SpeechRecognizer object is created from a SpeechConfig and AudioConfig, and its RecognizeOnceAsync method is used to call the Speech API

  1. 使用 SpeechConfig 物件,封裝連線至您的 Azure AI 語音資源所需的資訊。 具體而言,該資源的 [位置] 和 [金鑰]
  2. (選擇性) 使用 AudioConfig 來定義要轉譯的音訊的輸入來源。 根據預設,這是預設的系統麥克風,但您也可以指定音訊檔案。
  3. 使用 SpeechConfigAudioConfig 建立 SpeechRecognizer 物件。 此物件是語音轉換文字 API 的 Proxy 用戶端。
  4. 使用 SpeechRecognizer 物件的方法呼叫基礎 API 函式。 例如,RecognizeOnceAsync() 方法會使用 Azure AI 語音服務,以非同步方式轉譯單一語音語句。
  5. 處理來自 Azure AI 語音服務的回應。 在 RecognizeOnceAsync() 方法的案例中,結果是 SpeechRecognitionResult 物件,其中包含下列屬性:
    • 期間
    • OffsetInTicks
    • 屬性
    • 原因
    • ResultId
    • Text

如果作業成功,Reason 屬性會有列舉值 RecognizedSpeech,且 Text 屬性會包含轉譯。 [結果] 的其他可能值包括 [無符合] (指出已成功剖析音訊,但尚未辨識任何語音),或顯示 [已取消],代表發生錯誤 (在此情況下,您可以檢查 CancellationReason 屬性的 Properties 集合,以判斷發生錯誤的原因)。