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.
- Habilita Speech-to-Text en un Google Cloud proyecto.
- Asegúrate de que la facturación esté habilitada en Speech-to-Text.
- Comprueba que tienes los permisos necesarios para completar esta guía. Si has creado un proyecto para seguir esta guía, ya tienes los permisos necesarios.
-
Instala Google Cloud CLI. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:
gcloud init
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
- (Opcional) Crea un segmento de Google Cloud Storage para almacenar tus datos de audio.
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.
-
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.
-
Usa
curl
para hacer una solicitudspeech: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 comandogcloud 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 comandocurl
.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.
- Usa el Google Cloud console para eliminar el proyecto si no lo necesitas.
Siguientes pasos
- Practica la transcripción de archivos de audio cortos.
- Consulta cómo procesar por lotes archivos de audio largos para el reconocimiento de voz.
- Consulta cómo transcribir audio en streaming, como el de un micrófono.
- Empieza a usar Speech-to-Text en el idioma que elijas con una biblioteca de cliente de Speech-to-Text.
- Consulta las aplicaciones de ejemplo.
- Para obtener el mejor rendimiento, precisión y otros consejos, consulta la documentación sobre prácticas recomendadas.