Chirp 3 轉錄:提升多語言準確率

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 支援以下語言的StreamingRecognizeRecognizeBatchRecognize轉錄:

語言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 僅支援BatchRecognizeRecognize的轉錄和說話者辨識功能,支援的語言如下:

語言 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

在 Google Cloud 控制台中使用 Chirp 3