Transcribe audio

El servicio de Speech-to-Text de Vertex AI en Google Distributed Cloud (GDC) air-gapped reconoce el habla de los archivos de audio. Speech-to-Text convierte el audio detectado en transcripciones de texto con su API preentrenada.

En esta página, se muestra cómo transcribir archivos de audio a texto con la API de Speech-to-Text en Distributed Cloud.

Antes de comenzar

Antes de que puedas comenzar a usar la API de Speech-to-Text, debes tener un proyecto con la API de Speech-to-Text habilitada y las credenciales adecuadas. También puedes instalar bibliotecas cliente para ayudarte a realizar llamadas a la API. Para obtener más información, consulta Configura un proyecto de reconocimiento de voz.

Transcribe audio con el modelo predeterminado

Speech-to-Text realiza el reconocimiento de voz. Envías el archivo de audio desde el que deseas reconocer el habla directamente como contenido en la solicitud a la API. El sistema muestra el texto transcrito resultante en la respuesta de la API.

Debes proporcionar un objeto de configuración RecognitionConfig cuando realices una solicitud de reconocimiento de voz. Este objeto le indica a la API cómo procesar tus datos de audio y qué tipo de resultado esperas. Si no se especifica un modelo de forma explícita en este objeto de configuración, Speech-to-Text selecciona un modelo predeterminado.

Para obtener más información, consulta la documentación de la API de Speech.

En el siguiente ejemplo, se transcribe el habla de un archivo de audio con el modelo predeterminado de Speech-to-Text:

Python

Sigue estos pasos para usar el servicio de Speech-to-Text desde una secuencia de comandos de Python para transcribir el habla de un archivo de audio:

  1. Instala la versión más reciente de la biblioteca cliente de Speech-to-Text.

  2. Configura las variables de entorno necesarias en una secuencia de comandos de Python.

  3. Autentica tu solicitud a la API.

  4. Agrega el siguiente código a la secuencia de comandos de Python que creaste:

    import base64
    
    from google.cloud import speech_v1p1beta1
    import google.auth
    from google.auth.transport import requests
    from google.api_core.client_options import ClientOptions
    
    audience="https://ENDPOINT:443"
    api_endpoint="ENDPOINT:443"
    
    def get_client(creds):
      opts = ClientOptions(api_endpoint=api_endpoint)
      return speech_v1p1beta1.SpeechClient(credentials=creds, client_options=opts)
    
    def main():
      creds = None
      try:
        creds, project_id = google.auth.default()
        creds = creds.with_gdch_audience(audience)
        req = requests.Request()
        creds.refresh(req)
        print("Got token: ")
        print(creds.token)
      except Exception as e:
        print("Caught exception" + str(e))
        raise e
      return creds
    
    def speech_func(creds):
      tc = get_client(creds)
    
      content="BASE64_ENCODED_AUDIO"
    
      audio = speech_v1p1beta1.RecognitionAudio()
      audio.content = base64.standard_b64decode(content)
      config = speech_v1p1beta1.RecognitionConfig()
      config.encoding= speech_v1p1beta1.RecognitionConfig.AudioEncoding.ENCODING
      config.sample_rate_hertz=RATE_HERTZ
      config.language_code="LANGUAGE_CODE"
      config.audio_channel_count=CHANNEL_COUNT
    
      metadata = [("x-goog-user-project", "projects/PROJECT_ID")]
      resp = tc.recognize(config=config, audio=audio, metadata=metadata)
      print(resp)
    
    if __name__=="__main__":
      creds = main()
      speech_func(creds)
    

    Reemplaza lo siguiente:

    • ENDPOINT: el extremo de Speech-to-Text que usas para tu organización. Para obtener más información, consulta el estado del servicio y los extremos.
    • PROJECT_ID: ID del proyecto
    • BASE64_ENCODED_AUDIO: los bytes de datos de audio codificados en una representación de Base64. Esta cadena comienza con caracteres que se ven similares a ZkxhQwAAACIQABAAAAUJABtAA+gA8AB+W8FZndQvQAyjv. Para obtener más información, consulta RecognitionAudio.
    • ENCODING: la codificación de los datos de audio enviados en la solicitud, como LINEAR16. Para obtener más información, consulta AudioEncoding.
    • RATE_HERTZ: la frecuencia de muestreo en Hertz de los datos de audio enviados en la solicitud, como 16000. Para obtener más información, consulta RecognitionConfig.
    • LANGUAGE_CODE: el idioma del audio proporcionado como una etiqueta de idioma BCP-47. Consulta la lista de idiomas admitidos y sus respectivos códigos de idioma.
    • CHANNEL_COUNT: la cantidad de canales en los datos de audio de entrada, como 1. Para obtener más información, consulta RecognitionConfig.
  5. Guarda la secuencia de comandos de Python.

  6. Ejecuta la secuencia de comandos de Python para transcribir audio:

    python SCRIPT_NAME
    

    Reemplaza SCRIPT_NAME por el nombre que le diste a tu secuencia de comandos de Python, por ejemplo, speech.py.