本頁面會說明如何在「Cloud 語音轉文字」轉錄的音訊資料中,標籤不同的說話者。
有時候,音訊資料內的樣本會含有多人談話內容。例如,電話通話的音訊通常會有兩人以上的語音。理想情況下,電話通話的語音轉錄會加入相關資訊,讓您知道哪個時間點誰在說話。
說話者分段標記
「Cloud 語音轉文字」可辨識同個音訊剪輯內的多位說話者。當您將音訊語音轉錄要求傳送至「Cloud 語音轉文字」時,可加入參數,讓「Cloud 語音轉文字」辨識音訊樣本中不同的說話者。此功能稱為「說話者分段標記」,可偵測說話者換人的時間點,並為音訊中偵測到的個別語音加上數字標籤。
如您在語音轉錄要求中啟用說話者分段標記,「Cloud 語音轉文字」即會嘗試區別音訊樣本中所含的不同語音。語音轉錄結果會以個別說話者指派到的編號,為每個字詞加上標記。同一位說話者所說的字詞會帶有相同的編號。語音轉錄結果包含的編號數字,取決於「Cloud 語音轉文字」能在音訊樣本中識別的說話者人數。
如果使用說話者分段標記,「Cloud 語音轉文字」就會針對語音轉錄中提供的所有結果,產生一份執行匯總資料。每個結果均會包含上個結果的字詞。因此,最終結果中的 words 陣列會提供完整的語音轉錄結果,並標示說話者。
請參閱語言支援頁面,瞭解這項功能是否支援你的語言。
在要求中啟用說話者分段標記
如要啟用說話者分段標記,請將要求中 SpeakerDiarizationConfig 參數的 enableSpeakerDiarization 欄位設為 true。如要提升轉錄結果的準確度,請在 SpeakerDiarizationConfig 參數中設定 diarizationSpeakerCount 欄位,指定音訊片段中的說話者人數。如果未提供 diarizationSpeakerCount 的值,「Cloud 語音轉文字」會使用預設值。
Cloud STT 支援所有語音辨識方法的說話者區分功能:speech:recognize
speech:longrunningrecognize,以及串流。
使用本機檔案
下列程式碼片段會示範如何在「Cloud 語音轉文字」的語音轉錄要求中,使用本機檔案啟用說話者分段標記。
通訊協定
如需完整資訊,請參閱 speech:recognize API 端點。
如要執行同步語音辨識,請提出 POST 要求並提供適當的要求內容。以下為使用 curl 的 POST 要求範例,這個範例使用 Google Cloud CLI 產生存取權杖。如需 gcloud CLI 的安裝操作說明,請參閱快速入門導覽課程。
curl -s -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ https://speech.googleapis.com/v1p1beta1/speech:recognize \ --data '{ "config": { "encoding": "LINEAR16", "languageCode": "en-US", "diarizationConfig": { "enableSpeakerDiarization": true, "minSpeakerCount": 2, "maxSpeakerCount": 2 }, "model": "phone_call", }, "audio": { "uri": "gs://cloud-samples-tests/speech/commercial_mono.wav" } }' > speaker-diarization.txt
如果要求成功,伺服器會傳回 200 OK HTTP 狀態碼與 JSON 格式的回應,並另存成名為 speaker-diarization.txt 的檔案。
{ "results": [ { "alternatives": [ { "transcript": "hi I'd like to buy a Chromecast and I was wondering whether you could help me with that certainly which color would you like we have blue black and red uh let's go with the black one would you like the new Chromecast Ultra model or the regular Chrome Cast regular Chromecast is fine thank you okay sure we like to ship it regular or Express Express please terrific it's on the way thank you thank you very much bye", "confidence": 0.92142606, "words": [ { "startTime": "0s", "endTime": "1.100s", "word": "hi", "speakerTag": 2 }, { "startTime": "1.100s", "endTime": "2s", "word": "I'd", "speakerTag": 2 }, { "startTime": "2s", "endTime": "2s", "word": "like", "speakerTag": 2 }, { "startTime": "2s", "endTime": "2.100s", "word": "to", "speakerTag": 2 }, ... { "startTime": "6.500s", "endTime": "6.900s", "word": "certainly", "speakerTag": 1 }, { "startTime": "6.900s", "endTime": "7.300s", "word": "which", "speakerTag": 1 }, { "startTime": "7.300s", "endTime": "7.500s", "word": "color", "speakerTag": 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 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
使用 Cloud Storage 值區
下列程式碼片段會示範如何在「Cloud 語音轉文字」的語音轉錄要求中,使用 Cloud Storage 檔案啟用說話者分段標記。
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 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。