Chirp 3 是最新一代的 Google 多語言自動語音辨識 (ASR) 專用生成模型,可根據意見回饋和使用體驗滿足使用者需求。Chirp 3 的準確度和速度都比先前的 Chirp 模型更出色,並提供說話者區分和自動語言偵測功能。
模型詳細資料
Chirp 3:轉錄功能僅適用於 Speech-to-Text API V2。
型號 ID
使用 API 時,只要在辨識要求中指定適當的模型 ID,或在 Google Cloud 控制台中指定模型名稱,即可像使用其他模型一樣使用 Chirp 3:轉錄。在辨識中指定適當的 ID。
型號 | 型號 ID |
Chirp 3 | chirp_3 |
API 方法
並非所有辨識方法都支援相同的語言可用性組合,因為 Chirp 3 適用於 Speech-to-Text API V2,因此支援下列辨識方法:並非所有辨識方法都支援相同的語言可用性組合,因為 Chirp 3 適用於 Speech-to-Text API V2,因此支援下列辨識方法:
API | 支援的 API 方法 | 支援 |
v2 | Speech.StreamingRecognize (適用於串流和即時音訊) | 支援 |
v2 | Speech.Recognize (適用於短於一分鐘的音訊) | 支援 |
v2 | 語音。BatchRecognize (適用於長度 1 分鐘到 1 小時的音訊) | 支援 |
區域可用性
Chirp 3 支援以下 Google Cloud 區域,未來將支援更多區域:
Google Cloud 區域 | 上線準備 |
us
|
公開預先發布版 |
如要查看各轉錄模型支援的 Google Cloud 區域、語言和語言代碼,以及功能,請按照本文說明使用 Locations API。
語音轉錄功能支援的語言
Chirp 3 支援以下語言的StreamingRecognize
、Recognize
和BatchRecognize
轉錄:
語言 | BCP-47 Code |
阿拉伯文 (阿拉伯聯合大公國) | ar-AE |
阿拉伯文 (巴林) | ar-BH |
阿拉伯文 (阿爾及利亞) | ar-DZ |
阿拉伯文 (埃及) | ar-EG |
阿拉伯文 (以色列) | ar-IL |
中庫德文 (伊拉克) | ar-IQ |
阿拉伯文 (約旦) | ar-JO |
阿拉伯文 (科威特) | ar-KW |
阿拉伯文 (黎巴嫩) | ar-LB |
阿拉伯文 (摩洛哥) | ar-MA |
阿拉伯文 (茅利塔尼亞) | ar-MR |
阿拉伯文 (阿曼) | ar-OM |
阿拉伯文 (巴勒斯坦國) | ar-PS |
阿拉伯文 (卡達) | ar-QA |
阿拉伯文 (沙烏地阿拉伯) | ar-SA |
阿拉伯文 (敘利亞) | ar-SY |
阿拉伯文 (突尼西亞) | ar-TN |
阿拉伯文 | ar-XA |
阿拉伯文 (葉門) | ar-YE |
保加利亞文 (保加利亞) | bg-BG |
孟加拉文 (孟加拉) | bn-BD |
孟加拉文 (印度) | bn-IN |
加泰隆尼亞文 (西班牙) | ca-ES |
簡體中文 | cmn-Hans-CN |
中文,粵語 (繁體,香港) | yue-Hant-HK |
中文,華語 (繁體,台灣) | cmn-Hant-TW |
捷克文 (捷克共和國) | cs-CZ |
丹麥文 (丹麥) | da-DK |
德文 (德國) | de-DE |
希臘文 (希臘) | el-GR |
英文 (澳洲) | en-AU |
英文 (英國) | en-GB |
英文 (印度) | en-IN |
英文 (菲律賓) | en-PH |
英文 (美國) | en-US |
西班牙文 (墨西哥) | es-MX |
西班牙文 (西班牙) | es-ES |
西班牙文 (美國) | es-US |
愛沙尼亞文 (愛沙尼亞) | et-EE |
波斯文 (伊朗) | fa-IR |
法文 (法國) | fr-FR |
芬蘭文 (芬蘭) | fi-FI |
菲律賓文 (菲律賓) | fil-PH |
法文 (加拿大) | fr-CA |
古吉拉特文 (印度) | gu-IN |
北印度文 (印度) | hi-IN |
克羅埃西亞文 (克羅埃西亞) | hr-HR |
匈牙利文 (匈牙利) | hu-HU |
亞美尼亞文 (亞美尼亞) | hy-AM |
印尼文 (印尼) | id-ID |
義大利文 (義大利) | it-IT |
希伯來文 (以色列) | iw-IL |
日文 (日本) | ja-JP |
高棉文 (柬埔寨) | km-KH |
卡納達文 (印度) | kn-IN |
韓文 (韓國) | ko-KR |
寮文 (寮國) | lo-LA |
立陶宛文 (立陶宛) | lt-LT |
拉脫維亞文 (拉脫維亞) | lv-LV |
馬拉雅拉姆文 (印度) | ml-IN |
馬拉地文 (印度) | mr-IN |
馬來文 (馬來西亞) | ms-MY |
緬甸文 (緬甸) | my-MM |
尼泊爾文 (尼泊爾) | ne-NP |
荷蘭文 (荷蘭) | nl-NL |
挪威文 (挪威) | no-NO |
波蘭文 (波蘭) | pl-PL |
葡萄牙文 (巴西) | pt-BR |
葡萄牙文 (葡萄牙) | pt-PT |
羅馬尼亞文 (羅馬尼亞) | ro-RO |
俄文 (俄羅斯) | ru-RU |
斯洛伐克文 (斯洛伐克) | sk-SK |
斯洛維尼亞文 (斯洛維尼亞) | sl-SI |
塞爾維亞文 (塞爾維亞) | sr-RS |
瑞典文 (瑞典) | sv-SE |
斯瓦希里文 | sw |
泰米爾文 (印度) | ta-IN |
泰盧固文 (印度) | te-IN |
泰文 (泰國) | th-TH |
土耳其文 (土耳其) | tr-TR |
烏克蘭文 (烏克蘭) | uk-UA |
烏茲別克文 (烏茲別克) | uz-UZ |
越南文 (越南) | vi-VN |
說話者分段標記功能支援的語言
Chirp 3 僅支援BatchRecognize
和Recognize
的轉錄和說話者辨識功能,支援的語言如下:
語言 | BCP-47 代碼 |
中文 (簡體,中國) | cmn-Hans-CN |
德文 (德國) | de-DE |
英文 (英國) | en-GB |
英文 (印度) | en-IN |
英文 (美國) | en-US |
西班牙文 (西班牙) | es-ES |
西班牙文 (美國) | es-US |
法文 (加拿大) | fr-CA |
法文 (法國) | fr-FR |
北印度文 (印度) | hi-IN |
義大利文 (義大利) | it-IT |
日文 (日本) | ja-JP |
韓文 (韓國) | ko-KR |
葡萄牙文 (巴西) | pt-BR |
功能支援與限制
Chirp 3 支援下列功能:
功能 | 說明 | 推出階段 |
自動加上標點符號 | 由模型自動生成,可選擇停用。 | 預覽 |
自動大寫 | 由模型自動生成,可選擇停用。 | 預覽 |
說話者分段標記 | 自動識別單一聲道音訊樣本中的不同說話者。 | 預覽 |
不限語言的音訊轉錄功能。 | 模型會自動推斷音訊檔案中使用的語言,並以最常見的語言轉錄。 | 預覽 |
Chirp 3 不支援下列功能:
功能 | 說明 |
單字時間 (時間戳記) | 由模型自動生成,可選擇停用。 |
字詞層級信賴度分數 | API 會傳回值,但這並非真正的信心分數。 |
語音調整 (偏誤) | 以詞組或字詞的形式向模型提供提示,提高特定字詞或專有名詞的辨識準確率。 |
使用 Chirp 3
使用 Chirp 3 進行轉錄和說話者辨識工作。
使用 Chirp 3 批次要求搭配分段標記進行轉錄
瞭解如何使用 Chirp 3 轉錄語音
執行批次語音辨識
import os
from google.cloud.speech_v2 import SpeechClient
from google.cloud.speech_v2.types import cloud_speech
from google.api_core.client_options import ClientOptions
PROJECT_ID = os.getenv("GOOGLE_CLOUD_PROJECT")
def transcribe_batch_chirp3(
audio_uri: str,
) -> cloud_speech.BatchRecognizeResults:
"""Transcribes an audio file from a Google Cloud Storage URI using the Chirp 3 model of Google Cloud Speech-to-Text V2 API.
Args:
audio_uri (str): The Google Cloud Storage URI of the input
audio file. E.g., gs://[BUCKET]/[FILE]
Returns:
cloud_speech.RecognizeResponse: The response from the
Speech-to-Text API containing the transcription results.
"""
# Instantiates a client
client = SpeechClient(
client_options=ClientOptions(
api_endpoint="us-west1-speech.googleapis.com",
)
)
speaker_diarization_config = cloud_speech.SpeakerDiarizationConfig(
min_speaker_count=1, # minimum number of speakers
max_speaker_count=6, # maximum expected number of speakers
)
config = cloud_speech.RecognitionConfig(
auto_decoding_config=cloud_speech.AutoDetectDecodingConfig(),
language_codes=["en-US"], # Use "auto" to detect language
model="chirp_3",
features=cloud_speech.RecognitionFeatures(
diarization_config=speaker_diarization_config,
),
)
file_metadata = cloud_speech.BatchRecognizeFileMetadata(uri=audio_uri)
request = cloud_speech.BatchRecognizeRequest(
recognizer=f"projects/{PROJECT_ID}/locations/us-west1/recognizers/_",
config=config,
files=[file_metadata],
recognition_output_config=cloud_speech.RecognitionOutputConfig(
inline_response_config=cloud_speech.InlineOutputConfig(),
),
)
# Transcribes the audio into text
operation = client.batch_recognize(request=request)
print("Waiting for operation to complete...")
response = operation.result(timeout=120)
for result in response.results[audio_uri].transcript.results:
print(f"Transcript: {result.alternatives[0].transcript}")
print(f"Detected Language: {result.language_code}")
print(f"Speakers per word: {result.alternatives[0].words}")
return response.results[audio_uri].transcript