Transcribe la voz a texto con la línea de comandos

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

  1. Accede a tu cuenta de Google Cloud. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
  2. En la página del selector de proyectos de la consola de Google Cloud, selecciona o crea un proyecto de Google Cloud.

    Ir al selector de proyectos

  3. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.

  4. Habilita las API de Speech-to-Text.

    Habilita las API

  5. Asegúrate de tener los siguientes roles en el proyecto: Cloud Speech Administrator

    Verifica los roles

    1. En la consola de Google Cloud, ve a la página IAM.

      Ir a IAM
    2. Selecciona el proyecto.
    3. En la columna Principal, busca la fila que tiene tu dirección de correo electrónico.

      Si tu dirección de correo electrónico no está en esa columna, no tienes ningún rol.

    4. En la columna Función de la fila con la dirección de correo electrónico, verifica si la lista de roles incluye los roles necesarios.

    Otorga los roles

    1. En la consola de Google Cloud, ve a la página IAM.

      Ir a IAM
    2. Selecciona el proyecto.
    3. Haz clic en Grant access.
    4. En el campo Principales nuevas, ingresa tu dirección de correo electrónico.
    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.
  6. Instala Google Cloud CLI.
  7. Para inicializar la CLI de gcloud, ejecuta el siguiente comando:

    gcloud init
  8. En la página del selector de proyectos de la consola de Google Cloud, selecciona o crea un proyecto de Google Cloud.

    Ir al selector de proyectos

  9. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.

  10. Habilita las API de Speech-to-Text.

    Habilita las API

  11. Asegúrate de tener los siguientes roles en el proyecto: Cloud Speech Administrator

    Verifica los roles

    1. En la consola de Google Cloud, ve a la página IAM.

      Ir a IAM
    2. Selecciona el proyecto.
    3. En la columna Principal, busca la fila que tiene tu dirección de correo electrónico.

      Si tu dirección de correo electrónico no está en esa columna, no tienes ningún rol.

    4. En la columna Función de la fila con la dirección de correo electrónico, verifica si la lista de roles incluye los roles necesarios.

    Otorga los roles

    1. En la consola de Google Cloud, ve a la página IAM.

      Ir a IAM
    2. Selecciona el proyecto.
    3. Haz clic en Grant access.
    4. En el campo Principales nuevas, ingresa tu dirección de correo electrónico.
    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.
  12. Instala Google Cloud CLI.
  13. Para inicializar la CLI de gcloud, ejecuta el siguiente comando:

    gcloud init

Realiza una solicitud de transcripción de audio

Usa la siguiente muestra de código para enviar una solicitud de REST recognize a la API de Speech-to-Text.

  1. Ejecuta este comando para crear un archivo JSON como entrada para la solicitud. Reemplaza /full/path/to/audio/file.wav por la ruta de acceso al archivo de audio que deseas transcribir:

    echo "{
      \"config\": {
        \"auto_decoding_config\": {},
        \"language_codes\": [\"en-US\"],
        \"model\": \"long\"
      },
      \"content\": \"$(base64 -w 0 /full/path/to/audio/file.wav | sed 's/+/-/g; s/\//_/g')\"
    }" > /tmp/data.txt
    
  2. Usa curl para realizar una solicitud recognize:

    curl -X POST -H "Content-Type: application/json; charset=utf-8" \
        -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        -d @/tmp/data.txt \
        https://speech.googleapis.com/v2/projects/PROJECT_ID/locations/global/recognizers/_:recognize
    

    Debería ver una respuesta similar a la siguiente:

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

Enviaste tu primera solicitud a Speech-to-Text.

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.

  1. Opcional: Revoca las credenciales de autenticación que creaste y borra el archivo local de credenciales.

    gcloud auth application-default revoke
  2. Opcional: Revoca credenciales desde gcloud CLI.

    gcloud auth revoke

Consola

  • En la consola de Google Cloud, ve a la página Administrar recursos.

    Ir a Administrar recursos

  • En la lista de proyectos, elige el proyecto que quieres borrar y haz clic en Borrar.
  • En el diálogo, escribe el ID del proyecto y, luego, haz clic en Cerrar para borrar el proyecto.
  • gcloud

    Borra un proyecto de Google Cloud:

    gcloud projects delete PROJECT_ID

    ¿Qué sigue?