Chirp 3 ist die neueste Generation der mehrsprachigen generativen Modelle von Google für die automatische Spracherkennung (Automatic Speech Recognition, ASR). Sie wurden auf Grundlage von Feedback und Erfahrungen entwickelt, um die Bedürfnisse der Nutzer zu erfüllen. Chirp 3 bietet eine höhere Genauigkeit und Geschwindigkeit als frühere Chirp-Modelle und unterstützt die Sprecherzuordnung und die automatische Spracherkennung.
Modelldetails
Chirp 3: Transcription ist ausschließlich in der Speech-to-Text API V2 verfügbar.
Modell-Kennzeichnungen
Sie können Chirp 3: Transcription wie jedes andere Modell verwenden, indem Sie bei Verwendung der API die entsprechende Modellkennung in Ihrer Erkennungsanfrage oder den Modellnamen in der Google Cloud -Konsole angeben. Geben Sie die entsprechende Kennung in Ihrer Bestätigung an.
Modell | Modellkennung |
Chirp 3 | chirp_3 |
API-Methoden
Nicht alle Erkennungsmethoden unterstützen dieselben Sprachverfügbarkeitssätze. Da Chirp 3 in der Speech-to-Text API V2 verfügbar ist, werden die folgenden Erkennungsmethoden unterstützt:
API | Unterstützung von API-Methoden | Support |
v2 | Speech.StreamingRecognize (gut für Streaming und Echtzeit-Audio) | Unterstützt |
v2 | Speech.Recognize (gut für Audioaufnahmen, die kürzer als eine Minute sind) | Unterstützt |
v2 | Speech.BatchRecognize (gut für lange Audioaufnahmen von 1 Minute bis 1 Stunde) | Unterstützt |
Regionale Verfügbarkeit
Chirp 3 ist in den folgenden Google Cloud Regionen verfügbar. Weitere Regionen sind geplant:
Google Cloud Zone | Vorbereitung auf die Markteinführung |
us
|
Öffentliche Vorschau |
Mit der Locations API, wie hier beschrieben, können Sie die aktuelle Liste der unterstützten Google Cloud -Regionen, Sprachen und Gebietsschemas sowie der Funktionen für jedes Transkriptionsmodell abrufen.
Verfügbare Sprachen für die Transkription
Chirp 3 unterstützt die Transkription in StreamingRecognize
, Recognize
und BatchRecognize
in den folgenden Sprachen:
Sprache | BCP-47 Code |
Arabisch (Vereinigte Arabische Emirate) | ar-AE |
Arabisch (Bahrain) | ar-BH |
Arabisch (Algerien) | ar-DZ |
Arabisch (Ägypten) | ar-EG |
Arabisch (Israel) | ar-IL |
Zentralkurdisch (Irak) | ar-IQ |
Arabisch (Jordanien) | ar-JO |
Arabisch (Kuwait) | ar-KW |
Arabisch (Libanon) | ar-LB |
Arabisch (Marokko) | ar-MA |
Arabisch (Mauretanien) | ar-MR |
Arabisch (Oman) | ar-OM |
Arabisch (Palästina) | ar-PS |
Arabisch (Katar) | ar-QA |
Arabisch (Saudi-Arabien) | ar-SA |
Arabisch (Syrien) | ar-SY |
Arabisch (Tunesien) | ar-TN |
Arabisch | ar-XA |
Arabisch (Jemen) | ar-YE |
Bulgarisch (Bulgarien) | bg-BG |
Bengalisch (Bangladesch) | bn-BD |
Bengalisch (Indien) | bn-IN |
Katalanisch (Spanien) | ca-ES |
Chinesisch, vereinfacht (China) | cmn-Hans-CN |
Chinesisch, Kantonesisch (traditionell, Hongkong) | yue-Hant-HK |
Chinesisch, Mandarin (traditionell, Taiwan) | cmn-Hant-TW |
Tschechisch (Tschechische Republik) | cs-CZ |
Dänisch (Dänemark) | da-DK |
Deutsch (Deutschland) | de-DE |
Griechisch (Griechenland) | el-GR |
Englisch (Australien) | en-AU |
Englisch (Vereinigtes Königreich) | en-GB |
Englisch (Indien) | en-IN |
Englisch (Philippinen) | en-PH |
Englisch (USA) | en-US |
Spanisch (Mexiko) | es-MX |
Spanisch (Spanien) | es-ES |
Spanisch (USA) | es-US |
Estnisch (Estland) | et-EE |
Persisch (Iran) | fa-IR |
Französisch (Frankreich) | fr-FR |
Finnisch (Finnland) | fi-FI |
Philippinisch (Philippinen) | fil-PH |
Französisch (Kanada) | fr-CA |
Gujarati (Indien) | gu-IN |
Hindi (Indien) | hi-IN |
Kroatisch (Kroatien) | hr-HR |
Ungarisch (Ungarn) | hu-HU |
Armenisch (Armenien) | hy-AM |
Indonesisch (Indonesien) | id-ID |
Italienisch (Italien) | it-IT |
Hebräisch (Israel) | iw-IL |
Japanisch (Japan) | ja-JP |
Khmer (Kambodscha) | km-KH |
Kannada (Indien) | kn-IN |
Koreanisch (Korea) | ko-KR |
Lao (Laos) | lo-LA |
Litauisch (Litauen) | lt-LT |
Lettisch (Lettland) | lv-LV |
Malayalam (Indien) | ml-IN |
Marathi (Indien) | mr-IN |
Malaiisch (Malaysia) | ms-MY |
Birmanisch (Myanmar) | my-MM |
Nepalesisch (Nepal) | ne-NP |
Niederländisch (Niederlande) | nl-NL |
Norwegisch (Norwegen) | no-NO |
Polnisch (Polen) | pl-PL |
Portugiesisch (Brasilien) | pt-BR |
Portugiesisch (Portugal) | pt-PT |
Rumänisch (Rumänien) | ro-RO |
Russisch (Russland) | ru-RU |
Slowakisch (Slowakei) | sk-SK |
Slowenisch (Slowenien) | sl-SI |
Serbisch (Serbien) | sr-RS |
Schwedisch (Schweden) | sv-SE |
Swahili | sw |
Tamil (Indien) | ta-IN |
Telugu (Indien) | te-IN |
Thailändisch (Thailand) | th-TH |
Türkisch (Türkei) | tr-TR |
Ukrainisch (Ukraine) | uk-UA |
Usbekisch (Usbekistan) | uz-UZ |
Vietnamesisch (Vietnam) | vi-VN |
Verfügbare Sprachen für die Sprecherbestimmung
Chirp 3 unterstützt die Transkription und Sprecherzuordnung nur in BatchRecognize
und Recognize
in den folgenden Sprachen:
Sprache | BCP-47-Code |
Chinesisch, vereinfacht (China) | cmn-Hans-CN |
Deutsch (Deutschland) | de-DE |
Englisch (Vereinigtes Königreich) | en-GB |
Englisch (Indien) | en-IN |
Englisch (USA) | en-US |
Spanisch (Spanien) | es-ES |
Spanisch (USA) | es-US |
Französisch (Kanada) | fr-CA |
Französisch (Frankreich) | fr-FR |
Hindi (Indien) | hi-IN |
Italienisch (Italien) | it-IT |
Japanisch (Japan) | ja-JP |
Koreanisch (Korea) | ko-KR |
Portugiesisch (Brasilien) | pt-BR |
Funktionsunterstützung und Einschränkungen
Chirp 3 unterstützt die folgenden Funktionen:
Funktion | Beschreibung | Markteinführungsphase |
Automatische Zeichensetzung | Sie werden automatisch vom Modell generiert und können optional deaktiviert werden. | Vorschau |
Automatische Großschreibung | Sie werden automatisch vom Modell generiert und können optional deaktiviert werden. | Vorschau |
Sprecherbestimmung | Verschiedene Sprecher in einem Einkanal-Audiobeispiel automatisch identifizieren. | Vorschau |
Sprachunabhängige Audiotranskription: | Das Modell leitet die gesprochene Sprache in Ihrer Audiodatei automatisch ab und transkribiert in der vorherrschenden Sprache. | Vorschau |
Chirp 3 unterstützt die folgenden Funktionen nicht:
Feature | Beschreibung |
Zeitstempel für Worte | Sie werden automatisch vom Modell generiert und können optional deaktiviert werden. |
Konfidenzwerte auf Wortebene | Die API gibt einen Wert zurück, es ist jedoch kein echter Konfidenzwert. |
Sprachanpassung (Biasing) | Geben Sie dem Modell Hinweise in Form von Wortgruppen oder Wörtern, um die Erkennungsgenauigkeit für bestimmte Begriffe oder Eigennamen zu verbessern. |
Chirp 3 verwenden
Chirp 3 für Transkriptions- und Diarisierungsaufgaben verwenden
Transkribieren mit Chirp 3-Batchanfrage mit Sprecherbestimmung
Chirp 3 für die Transkription verwenden
Batch-Spracherkennung ausführen
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