Transcripción de Chirp 3: Mayor precisión en varios idiomas

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:

IdiomaBCP-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
Árabear-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
Suajilisw
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

Usa Chirp 3 en la consola de Google Cloud