O Chirp 3 é a geração mais recente dos modelos generativos multilíngues de ASR do Google, e foi projetado para atender às necessidades dos usuários com base em feedback e experiência. Ele melhora a acurácia e a velocidade dos modelos Chirp e Chirp 2 originais e introduz novos recursos importantes, como a diarização.
Detalhes do modelo
Detalhes do Chirp_3
Identificadores de modelo
O Chirp 3 só está disponível na API Speech-to-Text V2 e pode ser usado como qualquer outro modelo. Especifique o identificador adequado na solicitação de reconhecimento ao usar a API ou o nome do modelo ao usar o console do Google Cloud .
Modelo | Identificador do modelo |
Chirp 3 | chirp_3 |
Métodos da API
Nem todos os métodos de reconhecimento aceitam os mesmos conjuntos de disponibilidade de idiomas. Como o Chirp 3 está disponível na API Speech-to-Text V2, ele aceita os seguintes métodos de reconhecimento:
API | Suporte para métodos de API | Suporte |
v2 | Speech.BatchRecognize (ideal para áudios longos de um minuto a uma hora) | Com suporte |
v2 | Speech.Recognize (ideal para áudios com menos de um minuto) | Sem suporte |
v2 | Speech.StreamingRecognize (ideal para streaming e áudios em tempo real) | Sem suporte |
Disponibilidade regional
Embora haja planos de expansão para outras regiões, o Chirp 3 está disponível atualmente nas regiões do Google Cloud abaixo:
Zona doGoogle Cloud | Prontidão para o lançamento |
us-west1 | Pré-lançamento particular |
Conforme explicado aqui, você pode usar a API Locations para encontrar a lista mais recente de regiões do Google Cloud , idiomas e localidades aceitos, além de recursos para cada modelo de transcrição.
Disponibilidade de idiomas para transcrição
O Chirp 3 só oferece transcrição em BatchRecognize nos seguintes idiomas:
Idioma | Código BCP-47 |
Árabe (Egito) | ar-EG |
Árabe (Arábia Saudita) | ar-SA |
Bengali (Bangladesh) | bn-BD |
Bengali (Índia) | bn-IN |
Checo (República Tcheca) | cs-CZ |
Dinamarquês (Dinamarca) | da-DK |
Grego (Grécia) | el-GR |
Espanhol (México) | es-MX |
Estoniano (Estônia) | et-EE |
Persa (Irã) | fa-IR |
Finlandês (Finlândia) | fi-FI |
Filipino (Filipinas) | fil-PH |
Francês (Canadá) | fr-CA |
Gujarati (Índia) | gu-IN |
Croata (Croácia) | hr-HR |
Húngaro (Hungria) | hu-HU |
Indonésio (Indonésia) | id-ID |
Hebraico (Israel) | iw-IL |
Canarês (Índia) | kn-IN |
Lituano (Lituânia) | lt-LT |
Letão (Letônia) | lv-LV |
Malaiala (Índia) | ml-IN |
Marati (Índia) | mr-IN |
Holandês (Holanda) | nl-NL |
Norueguês (Noruega) | no-NO |
Punjabi (Índia) | pa-IN |
Polonês (Polônia) | pl-PL |
Português (Portugal) | pt-PT |
Romeno (Romênia) | ro-RO |
Russo (Rússia) | ru-RU |
Eslovaco (Eslováquia) | sk-SK |
Esloveno (Eslovênia) | sl-SI |
Sérvio (Sérvia) | sr-RS |
Sueco (Suécia) | sv-SE |
Tâmil (Índia) | ta-IN |
Telugu (Índia) | te-IN |
Tailandês (Tailândia) | th-TH |
Turco (Turquia) | tr-TR |
Ucraniano (Ucrânia) | uk-UA |
Urdu (Paquistão) | ur-PK |
Vietnamita (Vietnã) | vi-VN |
Chinês (China) | zh-CN |
Chinês (Taiwan) | zh-TW |
Zulu (África do Sul) | zu-SA |
Disponibilidade de idiomas para diarização
Idioma | Código BCP-47 |
Chinês (simplificado, China) | cmn-Hans-CN |
Alemão (Alemanha) | de-DE |
Inglês (Austrália) | en-AU |
Inglês (Reino Unido) | en-GB |
Inglês (Índia) | en-IN |
Inglês (Estados Unidos) | en-US |
Espanhol (Espanha) | es-ES |
Espanhol (Estados Unidos) | es-US |
Francês (França) | fr-FR |
Hindi (Índia) | hi-IN |
Italiano (Itália) | it-IT |
Japonês (Japão) | ja-JP |
Coreano (Coreia) | ko-KR |
Português (Brasil) | pt-BR |
Suporte e limitações dos recursos
O Chirp 3 aceita os seguintes recursos:
Recurso | Descrição | Etapa do lançamento |
Pontuação automática | Gerada automaticamente pelo modelo e pode ser desativada. | Pré-lançamento |
Letras maiúsculas automáticas | Gerada automaticamente pelo modelo e pode ser desativada. | Pré-lançamento |
Diarização de locutor | Identifica automaticamente os diferentes locutores em uma amostra de áudio de canal único. | Pré-lançamento |
Transcrição de áudio independente do idioma. | O modelo infere automaticamente o idioma falado no arquivo de áudio e faz a transcrição no idioma mais usado. | Pré-lançamento |
O Chirp 3 não aceita os seguintes recursos:
Recurso | Descrição |
Marcações de tempo de palavra (carimbos de data/hora) | Gerada automaticamente pelo modelo e pode ser desativada. |
Pontuações de nível de confiança por palavra | A API retorna um valor, mas não é uma pontuação de confiança. |
Adaptação da fala (polarização) | Forneça frases ou palavras ao modelo como dicas para melhorar a acurácia do reconhecimento de termos específicos ou substantivos próprios. |
Como usar o Chirp 3
Use o Chirp 3 para tarefas de transcrição e diarização.
Fazer transcrições usando solicitações em lote do Chirp 3 com diarização
Saiba como usar o Chirp 3 para suas necessidades de transcrição
Realizar o reconhecimento de fala em lote
Permita que o serviço Cloud Speech leia seu bucket de armazenamento do Cloud Storage. Isso é necessário temporariamente durante o pré-lançamento particular. Para isso, use o seguinte comando da CLI do Google Cloud na linha de comando:
gcloud storage buckets add-iam-policy-binding gs://<YOUR_BUCKET_NAME_HERE> --member=serviceAccount:service-727103546492@gcp-sa-aiplatform.iam.gserviceaccount.com --role=roles/storage.objectViewer
Você também pode usar o console do Cloud. Para isso, acesse http://console.cloud.google.com/storage/browser, escolha o bucket, clique em Permissões > Conceder acesso e adicione a conta de serviço como abaixo:

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