Transcribir la voz a texto con la API

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

Con Speech-to-Text, se puede realizar una integración sencilla de las tecnologías de reconocimiento de voz de Google en las aplicaciones de los desarrolladores. Puedes enviar datos de audio a la API de Speech-to-Text que, a su vez, muestra una transcripción de texto de ese archivo de audio. Para obtener más información sobre el servicio, consulta Conceptos básicos de Speech-to-Text.

Antes de comenzar

Antes de enviar una solicitud a la API de Speech-to-Text, debes completar las siguientes acciones. Consulta la página antes de comenzar para obtener más detalles.

Roles requeridos

Para obtener los permisos que necesitas para transcribir voz a texto, pídele a tu administrador que te otorgue el rol de IAM de Consumidor de Service Usage (roles/serviceusage.serviceUsageConsumer) en tu proyecto. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

También puedes obtener los permisos necesarios a través de roles personalizados o cualquier otro rol predefinido.

Realiza una solicitud de transcripción de audio

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

  1. Crea un archivo de solicitud JSON con el siguiente texto y guárdalo como un 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 JSON indica que el archivo de audio tiene un formato de codificación FLAC y una tasa de muestreo de 16,000 Hz, y que el archivo de audio está almacenado en Google Cloud Storage en el URI determinado. El archivo de audio es de acceso público, por lo que no necesitas credenciales de autenticación para acceder al archivo.

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

    El comando curl de muestra 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, se usa la opción -d (de “datos”) y se incluye un signo @ antes del nombre. Este archivo debe estar en el mismo directorio en el que ejecutaste el comando curl.

    Deberías ver una respuesta similar a la siguiente:

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

¡Felicitaciones! Enviaste tu primera solicitud a Speech-to-Text.

Si recibes un error o una respuesta vacía de Speech-to-Text, consulta los pasos de Solución de problemas y Mensajes de error.

Limpia

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

¿Qué sigue?