- HTTP 要求
- 要求主體
- 回應主體
- 授權範圍
- SpeechRecognitionResult
- SpeechRecognitionAlternative
- WordInfo
- SpeechAdaptationInfo
- 試試看!
執行同步語音辨識作業:在所有音訊傳送並處理完畢之後接收結果。
HTTP 要求
POST https://speech.googleapis.com/v1p1beta1/speech:recognize
這個網址使用 gRPC 轉碼語法。
要求主體
要求主體包含下列結構的資料:
| JSON 表示法 |
|---|
{ "config": { object ( |
| 欄位 | |
|---|---|
config |
這是必要旗標,提供資訊給語音辨識器,指定處理要求的方式。 |
audio |
這是必要旗標,待辨識的音訊資料。 |
回應主體
這是 speech.recognize 方法傳回給用戶端的唯一訊息。其中包含零或多個連續的 SpeechRecognitionResult 訊息,做為結果。
如果成功,回應主體會含有以下結構的資料:
| JSON 表示法 |
|---|
{ "results": [ { object ( |
| 欄位 | |
|---|---|
results[] |
與音訊部分的順序相對應的轉錄結果連續清單。 |
totalBilledTime |
如果有的話,對應要求的計費音訊秒數。 時間長度以秒為單位,最多可有 9 個小數位數,並應以「 |
speechAdaptationInfo |
提供回應中的調整行為相關資訊 |
requestId |
與要求相關聯的 ID。這是專屬 ID,僅適用於指定要求。 |
usingLegacyModels |
要求是否使用舊版 ASR 模型 (未自動遷移至使用 Conformer 模型)。 |
授權範圍
需要下列 OAuth 範圍:
https://www.googleapis.com/auth/cloud-platform
詳情請參閱Authentication Overview。
SpeechRecognitionResult
對應到某個音訊部分的語音辨識結果。
| JSON 表示法 |
|---|
{
"alternatives": [
{
object ( |
| 欄位 | |
|---|---|
alternatives[] |
可能包含一或多個辨識假設 (最多為 |
channelTag |
如果是多聲道音訊,這是與該聲道音訊辨識結果對應的聲道編號。如果 audioChannelCount = N,則它的輸出值範圍為「1」到「N」。 |
resultEndTime |
這個結果的結尾相對於音訊開頭的時間偏移。 時間長度以秒為單位,最多可有 9 個小數位數,並應以「 |
languageCode |
僅供輸出。這個結果中的 BCP-47 語言代碼。系統偵測到這個語言代碼是音訊內容最有可能使用的語言。 |
SpeechRecognitionAlternative
替代結果假設 (也就是 N 個最佳結果的清單)。
| JSON 表示法 |
|---|
{
"transcript": string,
"confidence": number,
"words": [
{
object ( |
| 欄位 | |
|---|---|
transcript |
轉錄稿文字,代表使用者說出的字詞。在以空格分隔字詞的語言中,如果轉錄稿不是第一個結果,開頭可能會出現空格。您可以串連各項結果,取得完整轉錄稿,不必使用分隔符。 |
confidence |
預估信心值,範圍介於 0.0 和 1.0 之間。數字越大,代表系統預估辨識出的字詞正確無誤的可能性越高。這個欄位只會針對非串流結果的最佳替代方案,或 |
words[] |
每個已辨識字詞的字詞專屬資訊清單。注意:如果 |
WordInfo
已辨識字詞的字詞專屬資訊。
| JSON 表示法 |
|---|
{ "startTime": string, "endTime": string, "word": string, "confidence": number, "speakerTag": integer, "speakerLabel": string } |
| 欄位 | |
|---|---|
startTime |
相對於音訊開頭的時間偏移,且對應到所說字詞的開頭。只有在 時間長度以秒為單位,最多可有 9 個小數位數,並應以「 |
endTime |
相對於音訊開頭的時間偏移,且對應到所說字詞的結尾。只有在 時間長度以秒為單位,最多可有 9 個小數位數,並應以「 |
word |
對應到這組資訊的字詞。 |
confidence |
預估信心值,範圍介於 0.0 和 1.0 之間。數字越大,代表系統預估辨識出的字詞正確無誤的可能性越高。這個欄位只會針對非串流結果的最佳替代方案,或 |
speakerTag |
僅供輸出。指派給音訊中每位說話者的不同整數值。這個欄位會指定當這個字詞被說出時,系統會偵測到哪位說話者。值範圍為「1」到 diarizationSpeakerCount。如果 enableSpeakerDiarization =「true」,系統會設定 speakerTag,且僅適用於最佳替代轉錄。注意:請改用 speakerLabel。 |
speakerLabel |
僅供輸出。指派給音訊中每個不重複說話者的標籤值。這個欄位會指定偵測到說出這個字詞的說話者。對於某些模型 (例如 medical_conversation),這可能是實際的說話者角色,例如「病患」或「醫療人員」,但一般來說,這會是識別說話者的數字。只有在 enableSpeakerDiarization = 'true' 時,系統才會設定這個欄位,且只會針對最符合的替代方案設定。 |
SpeechAdaptationInfo
瞭解語音調整功能在搜尋結果中的使用情形
| JSON 表示法 |
|---|
{ "adaptationTimeout": boolean, "timeoutMessage": string } |
| 欄位 | |
|---|---|
adaptationTimeout |
套用語音調整功能時是否發生逾時。如果為 true,表示回應轉錄稿未受調整項影響。 |
timeoutMessage |
如果已設定,則會傳回訊息,指出語音適應要求哪個部分逾時。 |