本頁面說明如何使用 Cloud Speech-to-Text 轉錄包含多個頻道的音訊檔案。多聲道辨識功能適用於 Cloud STT 支援的大部分音訊編碼,但並非全部。如要瞭解每種編碼類型的音訊檔案可辨識的聲道數,請參閱 audioChannelCount。
音訊資料通常會為錄音中的每位說話者提供一個聲道。舉例來說,兩個人講電話的音訊可能包含兩個聲道,分別錄製兩人的聲音。
如要轉錄含有多個聲道的音訊資料,您必須在 Cloud Speech-to-Text API 的要求中提供聲道數量。在要求中,將要求中的 audioChannelCount 欄位設為音訊中的聲道數量。
當您傳送含有多個聲道的要求時,Cloud STT 會傳回結果,識別音訊中的不同聲道,並為每個結果的替代方案加上 channelTag 欄位的標籤。
下列程式碼範例會示範如何對包含多頻道的音訊執行語音轉錄。
通訊協定
如需完整資訊,請參閱 speech:recognize API 端點。
如要執行同步語音辨識,請提出 POST 要求並提供適當的要求內容。以下為使用 curl 的 POST 要求範例,這個範例使用 Google Cloud CLI 產生存取權杖。如需 gcloud CLI 的安裝操作說明,請參閱快速入門導覽課程。
以下範例說明如何使用 curl 傳送 POST 要求,其中要求主體會指定音訊樣本中的聲道數量。
curl -X POST -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data '{ "config": { "encoding": "LINEAR16", "languageCode": "en-US", "audioChannelCount": 2, "enableSeparateRecognitionPerChannel": true }, "audio": { "uri": "gs://cloud-samples-tests/speech/commercial_stereo.wav" } }' "https://speech.googleapis.com/v1/speech:recognize" > multi-channel.txt
如果要求成功,伺服器會傳回 200 OK HTTP 狀態碼與 JSON 格式的回應,並另存成名為 multi-channel.json 的檔案。
{
"results": [
{
"alternatives": [
{
"transcript": "hi I'd like to buy a Chromecast I'm always wondering whether you could help me with that",
"confidence": 0.8991147
}
],
"channelTag": 1,
"languageCode": "en-us"
},
{
"alternatives": [
{
"transcript": "certainly which color would you like we have blue black and red",
"confidence": 0.9408236
}
],
"channelTag": 2,
"languageCode": "en-us"
},
{
"alternatives": [
{
"transcript": " let's go with the black one",
"confidence": 0.98783094
}
],
"channelTag": 1,
"languageCode": "en-us"
},
{
"alternatives": [
{
"transcript": " would you like the new Chromecast Ultra model or the regular Chromecast",
"confidence": 0.9573053
}
],
"channelTag": 2,
"languageCode": "en-us"
},
{
"alternatives": [
{
"transcript": " regular Chromecast is fine thank you",
"confidence": 0.9671048
}
],
"channelTag": 1,
"languageCode": "en-us"
},
{
"alternatives": [
{
"transcript": " okay sure would you like to ship it regular or Express",
"confidence": 0.9544821
}
],
"channelTag": 2,
"languageCode": "en-us"
},
{
"alternatives": [
{
"transcript": " express please",
"confidence": 0.9487205
}
],
"channelTag": 1,
"languageCode": "en-us"
},
{
"alternatives": [
{
"transcript": " terrific it's on the way thank you",
"confidence": 0.97655964
}
],
"channelTag": 2,
"languageCode": "en-us"
},
{
"alternatives": [
{
"transcript": " thank you very much bye",
"confidence": 0.9735077
}
],
"channelTag": 1,
"languageCode": "en-us"
}
]
}
Go
如要瞭解如何安裝及使用 Cloud STT 的用戶端程式庫,請參閱「Cloud STT 用戶端程式庫」。詳情請參閱「Cloud STT Go API 參考文件」。
如要向 Cloud STT 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Java
如要瞭解如何安裝及使用 Cloud STT 的用戶端程式庫,請參閱「Cloud STT 用戶端程式庫」。詳情請參閱「Cloud STT Java API 參考文件」。
如要向 Cloud STT 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Node.js
如要瞭解如何安裝及使用 Cloud STT 的用戶端程式庫,請參閱「Cloud STT 用戶端程式庫」。詳情請參閱「Cloud STT Node.js API 參考文件」。
如要向 Cloud STT 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Python
如要瞭解如何安裝及使用 Cloud STT 的用戶端程式庫,請參閱「Cloud STT 用戶端程式庫」。詳情請參閱「Cloud STT Python API 參考文件」。
如要向 Cloud STT 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
其他語言
C#:請按照用戶端程式庫頁面上的 C# 設定操作說明完成相關步驟,然後參閱「.NET 適用的 Cloud STT 參考文件」。
PHP:請按照用戶端程式庫頁面上的 PHP 設定操作說明完成相關步驟,然後參閱「PHP 適用的 Cloud STT 參考文件」。
Ruby:請按照用戶端程式庫頁面上的 Ruby 設定操作說明完成相關步驟,然後參閱「Ruby 適用的 Cloud STT 參考文件」。