- JSON 表示法
- AudioEncoding
- SpeechAdaptation
- ABNFGrammar
- TranscriptNormalization
- Entry
- SpeechContext
- SpeakerDiarizationConfig
- RecognitionMetadata
- InteractionType
- MicrophoneDistance
- OriginalMediaType
- RecordingDeviceType
提供資訊給語音辨識器,指定處理要求的方式。
| JSON 表示法 |
|---|
{ "encoding": enum ( |
| 欄位 | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
encoding |
所有 |
||||||||||||||||||
sampleRateHertz |
在所有 |
||||||||||||||||||
audioChannelCount |
輸入音訊資料中的聲道數量。您「只」需要在執行「多聲道」辨識作業時設定這個參數。LINEAR16、OGG_OPUS 和 FLAC 的有效值為 |
||||||||||||||||||
enableSeparateRecognitionPerChannel |
這項設定必須明確設為 |
||||||||||||||||||
languageCode |
這是必要旗標,所提供音訊的語言,以 BCP-47 語言代碼表示。例如:「en-US」。如需目前支援的語言代碼清單,請參閱「語言支援」。 |
||||||||||||||||||
alternativeLanguageCodes[] |
最多 3 個額外的 BCP-47 語言標記清單,列出所提供音訊的可能替代語言。如需目前支援的語言代碼清單,請參閱「語言支援」。如果您列出替代語言,辨識結果會包含系統偵測到最有可能的語言 (包括主要的 languageCode) 辨識內容。辨識結果將包含系統在音訊中偵測到的語言所屬語言代碼。注意:這項功能僅支援語音指令和語音搜尋的使用案例,針對其他使用案例 (例如語音通話轉錄) 的成效可能會有所不同。 |
||||||||||||||||||
maxAlternatives |
要傳回的推定辨識結果數量上限。具體來說,每個 |
||||||||||||||||||
profanityFilter |
如果設為 |
||||||||||||||||||
adaptation |
語音調整設定可提高語音辨識準確率。詳情請參閱語音適應說明文件。設定語音調整功能後,系統會覆寫 |
||||||||||||||||||
transcriptNormalization |
(選用步驟) 使用轉錄稿正規化功能,自動將轉錄稿的部分內容換成您選擇的詞組。如果是 StreamingRecognize,這項正規化功能只會套用至穩定度大於 0.8 的穩定部分轉錄稿和最終轉錄稿。 |
||||||||||||||||||
speechContexts[] |
|
||||||||||||||||||
enableWordTimeOffsets |
如果設為 |
||||||||||||||||||
enableWordConfidence |
如果設為 |
||||||||||||||||||
enableAutomaticPunctuation |
如果設為「true」,推定辨識結果中就會加入標點符號。這項功能僅適用於特定語言,如果您為其他語言的要求設定這項參數,則不會產生任何作用。預設的「false」值不會在推定結果中加入標點符號。 |
||||||||||||||||||
enableSpokenPunctuation |
通話的口說標點符號機制。如未設定,系統會根據所選模型使用預設行為,例如 command_and_search 預設會啟用口說標點符號。如果設為「true」,就會將口說標點符號替換成要求中相應的符號。舉例來說,「你好嗎問號」會變為「你好嗎?」。如需支援,請參閱 https://cloud.google.com/speech-to-text/docs/spoken-punctuation。如果設為「false」,系統就不會替換說出的標點符號。 |
||||||||||||||||||
enableSpokenEmojis |
通話的口說表情符號機制。如果未設定,系統會根據所選模型使用預設機制。如果設為「true」,就會為要求啟用口說表情符號功能,也就是在最終轉錄稿,將口說表情符號替換成相應的 Unicode 符號。如果設為「false」,系統就不會替換說出的表情符號。 |
||||||||||||||||||
diarizationConfig |
這項設定可以啟用說話者分段標記功能,並設定額外參數,讓分段標記更符合您的應用程式需求。注意:啟用這項功能後,我們會從音訊開頭開始,在每個連續的 STREAMING 回應中,傳送最佳替代轉錄的所有字詞。這是為了要讓模型能夠隨時間學習辨識對話中的說話者,來改善我們的說話者標記。而針對非串流的要求,系統只會在「最後」SpeechRecognitionResult 的最佳替代結果中,提供分段標記的結果。 |
||||||||||||||||||
metadata |
這項要求的中繼資料。 |
||||||||||||||||||
model |
針對指定要求選取哪個模型。選取最適合網域的模型,即可獲得最佳結果。如果您沒有明確指定模型,系統會根據 RecognitionConfig 中的參數自動選取模型。
|
||||||||||||||||||
useEnhanced |
設為 true 即可使用強化版模型進行語音辨識。如果 如果 |
||||||||||||||||||
AudioEncoding
在要求中傳送的音訊資料編碼。
除非設定 audioChannelCount 和 enableSeparateRecognitionPerChannel 欄位,否則所有編碼都只支援 1 個聲道 (單聲道) 的音訊。
如要獲得最佳效果,請使用無損編碼 (FLAC 或 LINEAR16) 擷取及傳送音訊來源。如果您使用會失真的轉碼器擷取或傳送音訊,語音辨識的準確率可能會降低 (尤其是在音訊有背景噪音的情況下)。有損編碼器包括 MULAW、AMR、AMR_WB、OGG_OPUS、SPEEX_WITH_HEADER_BYTE、MP3 和 WEBM_OPUS。
FLAC 及 WAV 音訊檔案格式都有標頭,說明內含的音訊內容。你可以要求辨識含有 LINEAR16 或 MULAW 編碼音訊的 WAV 檔案。如果要求中傳送 FLAC 或 WAV 音訊檔案格式,則不需要指定 AudioEncoding,系統會根據檔案標頭判斷音訊編碼格式。如果您在傳送 FLAC 或 WAV 音訊時指定 AudioEncoding,編碼設定必須與音訊標頭中描述的編碼方式相符,否則要求會傳回 google.rpc.Code.INVALID_ARGUMENT 錯誤代碼。
| 列舉 | |
|---|---|
ENCODING_UNSPECIFIED |
不指定。 |
LINEAR16 |
未壓縮的 16 位元已簽署 Little-Endian 樣本 (線性 PCM)。 |
FLAC |
建議採用 FLAC (自由無損音訊壓縮編碼) 編碼,因為這是一種無損格式 (因此不會影響識別作業),而且相較於 LINEAR16 只需要約一半的頻寬。FLAC 串流編碼支援 16 位元和 24 位元樣本,但並非所有 STREAMINFO 中的欄位都支援。 |
MULAW |
使用 G.711 PCMU/mu-law 來壓縮 14 位元音訊樣本,並在傳輸後將其擴展的 8 位元樣本。 |
AMR |
Adaptive Multi-Rate Narrowband 編碼器。sampleRateHertz 必須為 8000。 |
AMR_WB |
Adaptive Multi-Rate Wideband 編碼器。sampleRateHertz 必須為 16000。 |
OGG_OPUS |
Ogg 容器中的 Opus 編碼音訊影格 (OggOpus)。sampleRateHertz 必須是 8000、12000、16000、24000 或 48000。 |
SPEEX_WITH_HEADER_BYTE |
雖然我們不建議使用失真編碼,但如果您需要極低位元率編碼,OGG_OPUS 還是遠比 Speex 編碼來得好。Cloud Speech API 支援的 Speex 編碼格式會在每個區塊中加入標頭位元組,如 MIME 類型 audio/x-speex-with-header-byte 所示。這是 RFC 5574 中定義的 RTP Speex 編碼變體。串流是由一連串區塊組成,每個 RTP 封包是一個區塊。每個區塊的開頭都是包含區塊長度的位元組 (長度單位為位元組),後面加上一或多個 Speex 資料框架,再依 RFC 5574 的規定填充至整數位元組 (八位元組)。換句話說,每個 RTP 標頭都會由包含區塊長度的單一位元組所取代。系統僅支援 Speex 寬頻。sampleRateHertz 必須為 16000。 |
MP3 |
MP3 音訊。MP3 編碼是 Beta 版功能,僅適用於 v1p1beta1。支援所有標準 MP3 位元率 (範圍為 32 到 320 kbps)。使用這項編碼時,sampleRateHertz 必須與所用檔案的取樣率相符。 |
WEBM_OPUS |
WebM 容器中的 Opus 編碼音訊影格 (WebM)。sampleRateHertz 必須是 8000、12000、16000、24000 或 48000。 |
ALAW |
使用 G.711 PCMU/a-law 壓縮 13 位元音訊樣本的 8 位元樣本。 |
SpeechAdaptation
語音調整設定。
| JSON 表示法 |
|---|
{ "phraseSets": [ { object ( |
| 欄位 | |
|---|---|
phraseSets[] |
詞組集集合。如要內嵌指定提示,請將詞組集的 |
phraseSetReferences[] |
要使用的詞組集資源名稱集合。 |
customClasses[] |
一組自訂類別。如要內嵌指定類別,請將類別的 |
abnfGrammar |
擴充巴科斯範式 (ABNF) 是一組衍生規則組成的標準化文法標記法。請參閱規格:https://www.w3.org/TR/speech-grammar |
ABNFGrammar
| JSON 表示法 |
|---|
{ "abnfStrings": [ string ] } |
| 欄位 | |
|---|---|
abnfStrings[] |
ABNF 文法的所有宣告和規則都會分成多個字串,最後會串連在一起。 |
TranscriptNormalization
語音轉錄正規化設定。使用轉錄稿正規化功能,自動將轉錄稿的部分內容換成您選擇的詞組。如果是 StreamingRecognize,這項正規化功能只會套用至穩定度大於 0.8 的穩定部分轉錄稿和最終轉錄稿。
| JSON 表示法 |
|---|
{
"entries": [
{
object ( |
| 欄位 | |
|---|---|
entries[] |
替換項目清單。我們會一次替換一個項目。舉例來說,["cat" => "dog", "mountain cat" => "mountain dog"] 中的第二個項目永遠不會套用,因為系統一律會先處理第一個項目。最多 100 個項目。 |
項目
單一取代設定。
| JSON 表示法 |
|---|
{ "search": string, "replace": string, "caseSensitive": boolean } |
| 欄位 | |
|---|---|
search |
要取代的內容。長度上限為 100 個半形字元。 |
replace |
要取代為哪個選項。長度上限為 100 個半形字元。 |
caseSensitive |
搜尋是否區分大小寫。 |
SpeechContext
「提示」語音辨識器,讓它在結果中比較常使用特定的字詞及片語。
| JSON 表示法 |
|---|
{ "phrases": [ string ], "boost": number } |
| 欄位 | |
|---|---|
phrases[] |
包含字詞和詞組「提示」的字串清單,讓語音辨識器更有可能辨識出這些字詞和詞組。可用來提高特定字詞和片語的準確率,例如在使用者經常下達特定指令的情況下。此功能也可用來為辨識器的詞彙增加新的字詞。請參閱使用限制。 清單項目也可以設為類別,代表自然語言中常見概念的字詞群組。舉例來說,與其為一年中的每個月提供片語提示,不如使用 $MONTH 類別,這樣就能提高正確轉錄音訊中月份的機率。 |
boost |
提示強化。正值會提高系統辨識特定詞組的機率,而非其他發音相似的詞組。提升幅度越高,誤判的可能性也越高。負值則代表反向加成,由於未啟用反偏誤功能,系統會直接忽略負向加成。雖然 |
SpeakerDiarizationConfig
啟用說話者分段標記的設定。
| JSON 表示法 |
|---|
{ "enableSpeakerDiarization": boolean, "minSpeakerCount": integer, "maxSpeakerCount": integer, "speakerTag": integer } |
| 欄位 | |
|---|---|
enableSpeakerDiarization |
如果設為「true」,系統會使用 WordInfo 中提供的 speakerLabel,為辨識結果中每個辨識的文字啟用說話者偵測功能。 |
minSpeakerCount |
對話中的說話者人數下限。系統可透過這個範圍自動判斷正確說話者人數,讓您享有更大彈性。如未設定,則預設值為 2。 |
maxSpeakerCount |
對話中的說話者人數上限。系統可透過這個範圍自動判斷正確說話者人數,讓您享有更大彈性。如未設定,則預設值為 6。 |
speakerTag |
僅供輸出。未使用。 |
RecognitionMetadata
待辨識音訊資料的說明。
| JSON 表示法 |
|---|
{ "interactionType": enum ( |
| 欄位 | |
|---|---|
interactionType |
最能描述要辨識音訊內容的用途。 |
industryNaicsCodeOfAudio |
最符合這項語音辨識要求的產業。這是音訊包含的主題中最直陳的。使用 6 位數的 NAICS 代碼識別產業類別 - 請參閱 https://www.naics.com/search/。 |
microphoneDistance |
最能描述所辨識音訊的音訊類型。 |
originalMediaType |
語音原本是使用哪種媒體錄製。 |
recordingDeviceType |
用來錄製語音的裝置類型。 |
recordingDeviceName |
用於錄音的裝置。例如「Nexus 5X」或「Polycom SoundStation IP 6000」或「POTS」或「VoIP」或「Cardioid Microphone」。 |
originalMimeType |
原始音訊檔案的 MIME 類型。例如: |
audioTopic |
內容說明。例如:「2012 年聯邦最高法院聽證會的錄音檔」。 |
InteractionType
可用來說明音訊辨識要求的使用案例類別。
| 列舉 | |
|---|---|
INTERACTION_TYPE_UNSPECIFIED |
使用案例不明,或是不屬於下列任何一值。 |
DISCUSSION |
有多人參與對話或討論。舉例來說,至少有兩個人參與的會議。所有主要說話者通常會在同一個房間內 (如果不是,請參閱 PHONE_CALL)。 |
PRESENTATION |
至少有一個人在對其他人演講或做簡報,而且幾乎沒有受到干擾。 |
PHONE_CALL |
至少有兩個人參與的語音通話或視訊會議,而且這些人都不在同一個房間內。 |
VOICEMAIL |
為了要讓另一個人聆聽而錄製的訊息。 |
PROFESSIONALLY_PRODUCED |
以專業的方式製作的音訊 (例如電視節目、Podcast)。 |
VOICE_SEARCH |
將口說的問題和查詢轉錄成文字。 |
VOICE_COMMAND |
將語音指令 (例如用來控制裝置的語音指令) 轉錄成文字。 |
DICTATION |
將語音轉錄成文字來建立書面文件,例如文字訊息、電子郵件或報告。 |
MicrophoneDistance
列舉音訊檔案的擷取設定類型。
| 列舉 | |
|---|---|
MICROPHONE_DISTANCE_UNSPECIFIED |
音訊類型不明。 |
NEARFIELD |
音訊是透過靠得很近的麥克風所擷取。例如手機、口述錄音機或手持麥克風。一般是指說話者與麥克風的距離不到 1 公尺。 |
MIDFIELD |
說話者與麥克風的距離不到 3 公尺。 |
FARFIELD |
說話者與麥克風的距離超過 3 公尺。 |
OriginalMediaType
語音原本是使用哪種媒體錄製。
| 列舉 | |
|---|---|
ORIGINAL_MEDIA_TYPE_UNSPECIFIED |
原始的媒體類型不明。 |
AUDIO |
語音資料是錄音而來。 |
VIDEO |
語音資料原本是與影片一併錄製。 |
RecordingDeviceType
用來錄製語音的裝置類型。
| 列舉 | |
|---|---|
RECORDING_DEVICE_TYPE_UNSPECIFIED |
錄製裝置不明。 |
SMARTPHONE |
語音是使用智慧型手機錄製。 |
PC |
語音是使用個人電腦或平板電腦錄製。 |
PHONE_LINE |
語音是透過電話線路錄製。 |
VEHICLE |
語音是在交通工具中錄製。 |
OTHER_OUTDOOR_DEVICE |
語音是在室外錄製。 |
OTHER_INDOOR_DEVICE |
語音是在室內錄製。 |