Transcribir voz a texto con la API

En esta página se explica cómo enviar una solicitud de reconocimiento de voz a Speech-to-Text mediante la interfaz REST y el comando curl.

Speech-to-Text permite integrar de forma sencilla las tecnologías de reconocimiento de voz de Google en las aplicaciones de desarrolladores. Puedes enviar datos de audio a la API Speech-to-Text, que devuelve una transcripción de texto de ese archivo de audio. Para obtener más información sobre el servicio, consulta el artículo Conceptos básicos de Speech-to-Text.

Antes de empezar

Antes de enviar una solicitud a la API Speech-to-Text, debes haber completado las siguientes acciones. Consulta la página Antes de empezar para obtener más información.

Roles obligatorios

Para obtener los permisos que necesitas para transcribir voz a texto, pide a tu administrador que te conceda el rol de gestión de identidades y accesos Consumidor de uso de servicios (roles/serviceusage.serviceUsageConsumer) en tu proyecto. Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.

También puedes conseguir los permisos necesarios a través de roles personalizados u otros roles predefinidos.

Hacer una solicitud de transcripción de audio

Ahora puedes usar Speech-to-Text para transcribir un archivo de audio a texto. Usa el siguiente código de ejemplo para enviar una solicitud REST recognize a la API Speech-to-Text.

  1. Crea un archivo de solicitud JSON con el siguiente texto y guárdalo como archivo de texto sin formato sync-request.json:

    {
      "config": {
          "encoding":"FLAC",
          "sampleRateHertz": 16000,
          "languageCode": "en-US",
          "enableWordTimeOffsets": false
      },
      "audio": {
          "uri":"gs://cloud-samples-tests/speech/brooklyn.flac"
      }
    }
      

    Este fragmento de código JSON indica que el archivo de audio tiene un formato de codificación FLAC, una frecuencia de muestreo de 16.000 Hz y que el archivo de audio está almacenado en Google Cloud Storage en el URI indicado. El archivo de audio es de acceso público, por lo que no necesitas credenciales de autenticación para acceder a él.

  2. Usa curl para hacer una solicitud speech:recognize y pásale el nombre del archivo de la solicitud JSON que configuraste en el paso 1:

    El comando curl de ejemplo usa el comando gcloud auth print-access-token para obtener un token de autenticación.

    curl -s -H "Content-Type: application/json" \
        -H "Authorization: Bearer "$(gcloud auth print-access-token) \
        https://speech.googleapis.com/v1/speech:recognize \
        -d @sync-request.json
      

    Ten en cuenta que, para pasar un nombre de archivo a curl, debes usar la opción -d (para "datos") y preceder el nombre de archivo con el signo @. Este archivo debe estar en el mismo directorio en el que ejecutes el comando curl.

    Deberías ver una respuesta similar a la siguiente:

    {
      "results": [
        {
          "alternatives": [
            {
              "transcript": "how old is the Brooklyn Bridge",
              "confidence": 0.98267895
            }
          ]
        }
      ]
    }
      

¡Enhorabuena! Has enviado tu primera solicitud a Speech-to-Text.

Si recibes un error o una respuesta vacía de Speech-to-Text, consulta los pasos para solucionar problemas y mitigar errores.

Limpieza

Para evitar que se apliquen cargos en tu cuenta de Google Cloud por los recursos utilizados en esta página, sigue estos pasos.

Siguientes pasos