Chirp: Modelo de voz universal

Chirp es la próxima generación de modelos de voz a texto de Google. Como la culminación de años de investigación, ya está disponible la primera versión de Chirp para Speech-to-Text. Queremos mejorar y expandir Chirp a más idiomas y dominios. Para conocer más detalles, consulta nuestro informe, Google USM.

Entrenamos modelos de Chirp con una arquitectura diferente a la de nuestros modelos de voz actuales. Un solo modelo unifica los datos de varios idiomas. Sin embargo, los usuarios deben especificar el idioma en el que el modelo debe reconocer la voz. Chirp no admite algunas de las funciones de Google Speech que tienen otros modelos. Consulta la siguiente lista completa.

Identificadores de modelo

Chirp está disponible en la API de Cloud Speech-to-Text v2. Puedes aprovecharlo como cualquier otro modelo.

El identificador de modelo para Chirp es: chirp.

Puedes especificar este modelo mientras creas un reconocedor o intercalado en solicitudes de reconocimiento síncronas o por lotes.

Métodos de la API disponibles

Chirp procesa la voz en fragmentos mucho más grandes que los de otros modelos. Esto significa que podría no ser adecuado para su uso en tiempo real. Chirp está disponible a través de los siguientes métodos de API:

Chirp no está disponible en los siguientes métodos de API:

  • v2 Speech.StreamingRecognize
  • v1 Speech.StreamingRecognize
  • v1 Speech.Recognize
  • v1 Speech.LongRunningRecognize
  • v1p1beta1 Speech.StreamingRecognize
  • v1p1beta1 Speech.Recognize
  • v1p1beta1 Speech.LongRunningRecognize

Regiones

Chirp está disponible en las siguientes regiones:

  • us-central1
  • europe-west4
  • asia-southeast1

Para obtener más información, consulta la página de idiomas.

Idiomas

Puedes ver los idiomas compatibles en la lista completa de idiomas.

Compatibilidad y limitaciones de funciones

Actualmente, Chirp no admite muchas de las características de la API de STT. Consulta la información que aparece a continuación para conocer las restricciones específicas.

  • Puntuaciones de confianza: La API muestra un valor, pero no es realmente una puntuación de confianza.
  • Adaptación de voz: No se admiten funciones de adaptación.
  • Identificación: No se admite la identificación automática.
  • Normalización forzada: No admitida.
  • Confianza a nivel de palabra: No admitida.
  • Detección de idioma: No admitida.

Chirp admite las siguientes características:

  • Puntuación automática: El modelo predice la puntuación. Se puede inhabilitar.
  • Tiempos de palabras: Se muestran de forma opcional.
  • Transcripción de audio independiente del idioma: El modelo infiere de manera automática el idioma hablado en tu archivo de audio y lo agrega a los resultados.

Antes de comenzar

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Speech-to-Text APIs.

    Enable the APIs

  5. Make sure that you have the following role or roles on the project: Cloud Speech Administrator

    Check for the roles

    1. In the Google Cloud console, go to the IAM page.

      Go to IAM
    2. Select the project.
    3. In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.

    4. For all rows that specify or include you, check the Role colunn to see whether the list of roles includes the required roles.

    Grant the roles

    1. In the Google Cloud console, go to the IAM page.

      Ir a IAM
    2. Selecciona el proyecto.
    3. Haz clic en Grant access.
    4. En el campo Principales nuevas, ingresa tu identificador de usuario. Esta suele ser la dirección de correo electrónico de una Cuenta de Google.

    5. En la lista Seleccionar un rol, elige un rol.
    6. Para otorgar funciones adicionales, haz clic en Agregar otro rol y agrega cada rol adicional.
    7. Haz clic en Guardar.
    8. Install the Google Cloud CLI.
    9. To initialize the gcloud CLI, run the following command:

      gcloud init
    10. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

      Go to project selector

    11. Make sure that billing is enabled for your Google Cloud project.

    12. Enable the Speech-to-Text APIs.

      Enable the APIs

    13. Make sure that you have the following role or roles on the project: Cloud Speech Administrator

      Check for the roles

      1. In the Google Cloud console, go to the IAM page.

        Go to IAM
      2. Select the project.
      3. In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.

      4. For all rows that specify or include you, check the Role colunn to see whether the list of roles includes the required roles.

      Grant the roles

      1. In the Google Cloud console, go to the IAM page.

        Ir a IAM
      2. Selecciona el proyecto.
      3. Haz clic en Grant access.
      4. En el campo Principales nuevas, ingresa tu identificador de usuario. Esta suele ser la dirección de correo electrónico de una Cuenta de Google.

      5. En la lista Seleccionar un rol, elige un rol.
      6. Para otorgar funciones adicionales, haz clic en Agregar otro rol y agrega cada rol adicional.
      7. Haz clic en Guardar.
      8. Install the Google Cloud CLI.
      9. To initialize the gcloud CLI, run the following command:

        gcloud init
      10. Las bibliotecas cliente pueden usar las credenciales predeterminadas de la aplicación para autenticarse fácilmente con las APIs de Google y enviar solicitudes a esas API. Con las credenciales predeterminadas de la aplicación, puedes probar tu aplicación de forma local y, luego, implementarla sin cambiar el código subyacente. Para obtener más información, consulta Se autentica para usar las bibliotecas cliente.

      11. If you're using a local shell, then create local authentication credentials for your user account:

        gcloud auth application-default login

        You don't need to do this if you're using Cloud Shell.

      También asegúrate de haber instalado la biblioteca cliente.

      Realiza reconocimiento de voz síncrono con Chirp

      El siguiente es un ejemplo de cómo realizar un reconocimiento de voz síncrono en un archivo de audio local con Chirp:

      Python

      import os
      
      from google.api_core.client_options import ClientOptions
      from google.cloud.speech_v2 import SpeechClient
      from google.cloud.speech_v2.types import cloud_speech
      
      PROJECT_ID = os.getenv("GOOGLE_CLOUD_PROJECT")
      
      
      def transcribe_chirp(
          audio_file: str,
      ) -> cloud_speech.RecognizeResponse:
          """Transcribes an audio file using the Chirp model of Google Cloud Speech-to-Text API.
          Args:
              audio_file (str): Path to the local audio file to be transcribed.
                  Example: "resources/audio.wav"
          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-central1-speech.googleapis.com",
              )
          )
      
          # Reads a file as bytes
          with open(audio_file, "rb") as f:
              audio_content = f.read()
      
          config = cloud_speech.RecognitionConfig(
              auto_decoding_config=cloud_speech.AutoDetectDecodingConfig(),
              language_codes=["en-US"],
              model="chirp",
          )
      
          request = cloud_speech.RecognizeRequest(
              recognizer=f"projects/{PROJECT_ID}/locations/us-central1/recognizers/_",
              config=config,
              content=audio_content,
          )
      
          # Transcribes the audio into text
          response = client.recognize(request=request)
      
          for result in response.results:
              print(f"Transcript: {result.alternatives[0].transcript}")
      
          return response
      
      

      Realiza una solicitud con la transcripción independiente del idioma habilitada

      En las siguientes muestras de código, se explica cómo realizar una solicitud con una transcripción independiente del lenguaje habilitada.

      Python

      import os
      
      from google.api_core.client_options import ClientOptions
      from google.cloud.speech_v2 import SpeechClient
      from google.cloud.speech_v2.types import cloud_speech
      
      PROJECT_ID = os.getenv("GOOGLE_CLOUD_PROJECT")
      
      
      def transcribe_chirp_auto_detect_language(
          audio_file: str,
          region: str = "us-central1",
      ) -> cloud_speech.RecognizeResponse:
          """Transcribe an audio file and auto-detect spoken language using Chirp.
          Please see https://cloud.google.com/speech-to-text/v2/docs/encoding for more
          information on which audio encodings are supported.
          Args:
              audio_file (str): Path to the local audio file to be transcribed.
              region (str): The region for the API endpoint.
          Returns:
              cloud_speech.RecognizeResponse: The response containing the transcription results.
          """
          # Instantiates a client
          client = SpeechClient(
              client_options=ClientOptions(
                  api_endpoint=f"{region}-speech.googleapis.com",
              )
          )
      
          # Reads a file as bytes
          with open(audio_file, "rb") as f:
              audio_content = f.read()
      
          config = cloud_speech.RecognitionConfig(
              auto_decoding_config=cloud_speech.AutoDetectDecodingConfig(),
              language_codes=["auto"],  # Set language code to auto to detect language.
              model="chirp",
          )
      
          request = cloud_speech.RecognizeRequest(
              recognizer=f"projects/{PROJECT_ID}/locations/{region}/recognizers/_",
              config=config,
              content=audio_content,
          )
      
          # Transcribes the audio into text
          response = client.recognize(request=request)
      
          for result in response.results:
              print(f"Transcript: {result.alternatives[0].transcript}")
              print(f"Detected Language: {result.language_code}")
      
          return response
      
      

      Comienza a usar Chirp en la consola de Google Cloud

      1. Asegúrate de haberte registrado en una cuenta de Google Cloud y creado un proyecto.
      2. Ve a Speech en la consola de Google Cloud.
      3. Habilita la API si aún no está habilitada.
      4. Crea un reconocedor de STT que use Cirp. Ve a la pestaña Reconocimientos y haz clic en Crear.

        Captura de pantalla de la lista de Reconocimiento de voz a texto.

        b. En la página Crear reconocedor, ingresa los campos necesarios para Chirp.

        Captura de pantalla de la página Crear reconocedor de texto a voz.

        i. Asigna un nombre al reconocedor.

        ii. Selecciona Chirp como modelo.

        iii. Selecciona el idioma que deseas usar. Debes usar un reconocedor por idioma que desees probar.

        iv. No selecciones ninguna otra función.

      5. Asegúrate de tener un lugar de trabajo de la IU de STT. Si aún no tienes uno, debes crear un lugar de trabajo. Visita la página de transcripciones y haz clic en Transcripción nueva.

        b. Abre el menú desplegable Lugar de trabajo y haz clic en Nuevo lugar de trabajo para crear un lugar de trabajo de transcripción.

        c. Desde la barra lateral de navegación Crear un lugar de trabajo nuevo, haz clic en Explorar.

        d. Haz clic para crear un bucket nuevo.

        e. Ingresa un nombre para tu bucket y haz clic en Continuar.

        f. Haz clic en Crear para crear un bucket de Cloud Storage.

        g. Una vez que se haya creado el bucket, haz clic en Seleccionar para seleccionar su bucket.

        h. Haz clic en Crear para terminar de crear tu lugar de trabajo para la IU de voz a texto.

      6. Realiza una transcripción en tu audio real.

        Captura de pantalla de la página de creación de la transcripción de Speech-to-Text, que muestra la selección o carga del archivo.

        a. En la página Nueva transcripción, selecciona el archivo de audio mediante la carga (Carga local) o especificando un archivo de Cloud Storage existente (Cloud Storage). Nota: La IU intenta evaluar automáticamente los parámetros de tu archivo de audio.

        b. Haz clic en Continuar para ir a Opciones de transcripción.

        Captura de pantalla de la página de creación de transcripciones de Speech-to-Text que muestra la selección de un modelo de Chirp y el envío de un trabajo de transcripción.

        c. Selecciona el lenguaje de voz que planeas usar para el reconocimiento con Chirp de tu reconocedor creado previamente.

        d. En el menú desplegable del modelo, selecciona Chirp - Modelo de voz universal.

        e. En el menú desplegable Reconocimiento, selecciona el reconocedor que creaste recientemente.

        f. Haz clic en Enviar para ejecutar tu primera solicitud de reconocimiento mediante Chirp.

      7. Visualiza el resultado de tu transcripción de Chirp. a. En la página Transcripciones, haz clic en el nombre de la transcripción para ver su resultado.

        b. En la página Detalles de la transcripción, visualiza el resultado de la transcripción. También tienes la opción de reproducir el audio en el navegador.

      Realiza una limpieza

      Sigue estos pasos para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos que usaste en esta página.

      1. Optional: Revoke the authentication credentials that you created, and delete the local credential file.

        gcloud auth application-default revoke
      2. Optional: Revoke credentials from the gcloud CLI.

        gcloud auth revoke

      Console

    14. In the Google Cloud console, go to the Manage resources page.

      Go to Manage resources

    15. In the project list, select the project that you want to delete, and then click Delete.
    16. In the dialog, type the project ID, and then click Shut down to delete the project.
    17. gcloud

      Delete a Google Cloud project:

      gcloud projects delete PROJECT_ID

      ¿Qué sigue?