Chirp 3 es la última generación de modelos generativos multilingües específicos para el reconocimiento de voz automático (ASR) de Google, diseñados para satisfacer las necesidades de los usuarios en función de sus comentarios y experiencias. Chirp 3 ofrece mayor precisión y velocidad que los modelos anteriores de Chirp, y proporciona diarización y detección automática de idiomas.
Detalles del modelo
Chirp 3: Transcripción, está disponible exclusivamente en la API de Speech-to-Text V2.
Identificadores de modelo
Puedes usar Chirp 3: Transcription como cualquier otro modelo. Para ello, especifica el identificador de modelo adecuado en tu solicitud de reconocimiento cuando uses la API o el nombre del modelo en la consola de Google Cloud . Especifica el identificador adecuado en tu reconocimiento.
Modelo | Identificador del modelo |
Chirp 3 | chirp_3 |
Métodos de la API
No todos los métodos de reconocimiento admiten los mismos conjuntos de disponibilidad de idiomas, ya que Chirp 3 está disponible en la API de Speech-to-Text V2 y admite los siguientes métodos de reconocimiento: No todos los métodos de reconocimiento admiten los mismos conjuntos de disponibilidad de idiomas, ya que Chirp 3 está disponible en la API de Speech-to-Text V2 y admite los siguientes métodos de reconocimiento:
API | Compatibilidad con métodos de la API | Asistencia |
v2 | Speech.StreamingRecognize (adecuado para audio en tiempo real y transmisión) | Admitido |
v2 | Speech.Recognize (bueno para audio de menos de un minuto) | Admitido |
v2 | Speech.BatchRecognize (bueno para audio largo de 1 minuto a 1 hora) | Admitido |
Disponibilidad regional
Chirp 3 está disponible en las siguientes Google Cloud regiones, y se planean más:
Google Cloud Zona | Preparación para el lanzamiento |
us
|
Versión preliminar pública |
Con la API de Locations, como se explica aquí, puedes encontrar la lista más reciente de Google Cloud regiones, idiomas y configuraciones regionales, y funciones compatibles para cada modelo de transcripción.
Disponibilidad de idiomas para la transcripción
Chirp 3 admite la transcripción en StreamingRecognize
, Recognize
y BatchRecognize
en los siguientes idiomas:
Idioma | BCP-47 Code |
Árabe (Emiratos Árabes Unidos) | ar-AE |
Árabe (Baréin) | ar-BH |
Árabe (Argelia) | ar-DZ |
Árabe (Egipto) | ar-EG |
Árabe (Israel) | ar-IL |
Kurdo central (Irak) | ar-IQ |
Árabe (Jordania) | ar-JO |
Árabe (Kuwait) | ar-KW |
Árabe (Líbano) | ar-LB |
Árabe (Marruecos) | ar-MA |
Árabe (Mauritania) | ar-MR |
Árabe (Omán) | ar-OM |
Árabe (Estado de Palestina) | ar-PS |
Árabe (Catar) | ar-QA |
Árabe (Arabia Saudita) | ar-SA |
Árabe (Siria) | ar-SY |
Árabe (Túnez) | ar-TN |
Árabe | ar-XA |
Árabe (Yemen) | ar-YE |
Búlgaro (Bulgaria) | bg-BG |
Bengalí (Bangladés) | bn-BD |
Bengalí (India) | bn-IN |
Catalán (España) | ca-ES |
Chino (simplificado, China) | cmn-Hans-CN |
Chino, Cantonés (Tradicional Hong Kong) | yue-Hant-HK |
Chino, Mandarín (Tradicional, Taiwán) | cmn-Hant-TW |
Checo (República Checa) | cs-CZ |
Danés (Dinamarca) | da-DK |
Alemán (Alemania) | de-DE |
Griego (Grecia) | el-GR |
inglés (Australia) | en-AU |
Inglés (Reino Unido) | en-GB |
Inglés (India) | en-IN |
Inglés (Filipinas) | en-PH |
Inglés (Estados Unidos) | en-US |
Español (México) | es-MX |
Español (España) | es-ES |
Español (Estados Unidos) | es-US |
Estonio (Estonia) | et-EE |
Persa (Irán) | fa-IR |
Francés (Francia) | fr-FR |
Finés (Finlandia) | fi-FI |
Filipino (Filipinas) | fil-PH |
Francés (Canadá) | fr-CA |
Guyaratí (India) | gu-IN |
Hindi (India) | hi-IN |
Croata (Croacia) | hr-HR |
Húngaro (Hungría) | hu-HU |
Armenio (Armenia) | hy-AM |
Indonesio (Indonesia) | id-ID |
Italiano (Italia) | it-IT |
Hebreo (Israel) | iw-IL |
Japonés (Japón) | ja-JP |
Jemer (Camboya) | km-KH |
Canarés (India) | kn-IN |
Coreano (Corea) | ko-KR |
Lao (Laos) | lo-LA |
Lituano (Lituania) | lt-LT |
Letón (Letonia) | lv-LV |
Malabar (India) | ml-IN |
Maratí (India) | mr-IN |
Malayo (Malasia) | ms-MY |
Birmano (Birmania) | my-MM |
Nepalí (Nepal) | ne-NP |
Holandés (Países Bajos) | nl-NL |
Noruego (Noruega) | no-NO |
Polaco (Polonia) | pl-PL |
Portugués (Brasil) | pt-BR |
Portugués (Portugal) | pt-PT |
Rumano (Rumania) | ro-RO |
Ruso (Rusia) | ru-RU |
Eslovaco (Eslovaquia) | sk-SK |
Esloveno (Eslovenia) | sl-SI |
Serbio (Serbia) | sr-RS |
Sueco (Suecia) | sv-SE |
Suajili | sw |
Tamil (India) | ta-IN |
Telugu (India) | te-IN |
Tailandés (Tailandia) | th-TH |
Turco (Turquía) | tr-TR |
Ucraniano (Ucrania) | uk-UA |
Uzbeko (Uzbekistán) | uz-UZ |
Vietnamita (Vietnam) | vi-VN |
Idiomas disponibles para la identificación del interlocutor
Chirp 3 admite la transcripción y la diarización solo en BatchRecognize
y Recognize
en los siguientes idiomas:
Idioma | Código BCP-47 |
Chino (simplificado, China) | cmn-Hans-CN |
Alemán (Alemania) | de-DE |
Inglés (Reino Unido) | en-GB |
Inglés (India) | en-IN |
Español (Latinoamérica) | en-US |
Español (España) | es-ES |
Español (Estados Unidos) | es-US |
Francés (Canadá) | fr-CA |
Francés (Francia) | fr-FR |
Hindi (India) | hi-IN |
Italiano (Italia) | it-IT |
Japonés (Japón) | ja-JP |
Coreano (Corea) | ko-KR |
Portugués (Brasil) | pt-BR |
Compatibilidad y limitaciones de funciones
Chirp 3 admite las siguientes funciones:
Función | Descripción | Etapa de lanzamiento |
Puntuación automática | Se genera automáticamente por el modelo y se puede inhabilitar de forma opcional. | Vista previa |
Uso de mayúsculas automático | Se genera automáticamente por el modelo y se puede inhabilitar de forma opcional. | Vista previa |
Identificación de interlocutores | Identifica automáticamente los diferentes interlocutores en una muestra de audio de un solo canal. | Vista previa |
Transcripción de audio independiente del idioma. | El modelo infiere automáticamente el idioma hablado en tu archivo de audio y transcribe en el idioma más frecuente. | Vista previa |
Chirp 3 no admite las siguientes funciones:
Función | Descripción |
Sincronización de palabras (marcas de tiempo) | Se genera automáticamente por el modelo y se puede inhabilitar de forma opcional. |
Puntuaciones de confianza a nivel de palabra | La API devuelve un valor, pero no es realmente una puntuación de confianza. |
Adaptación de voz (sesgo) | Proporciona sugerencias al modelo en forma de frases o palabras para mejorar la precisión del reconocimiento de términos específicos o nombres propios. |
Cómo usar Chirp 3
Usamos Chirp 3 para tareas de transcripción y segmentación por orador.
Transcribe con una solicitud por lotes de Chirp 3 con identificación
Descubre cómo usar Chirp 3 para tus necesidades de transcripción
Realiza reconocimiento de voz por lotes
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