En este tutorial se explica cómo transcribir el audio grabado desde un teléfono con Speech-to-Text.
Los archivos de audio pueden proceder de muchas fuentes diferentes. Los datos de audio pueden proceder de un teléfono (como el buzón de voz) o de una banda sonora incluida en un archivo de vídeo.
La API Speech-to-Text puede usar uno de los varios modelos de aprendizaje automático para transcribir tu archivo de audio y, de esta forma, se ajuste lo mejor posible a la fuente original del audio. Puedes obtener mejores resultados de la transcripción de voz si especificas la fuente del audio original. De esta forma, Speech-to-Text puede procesar tus archivos de audio con un modelo de aprendizaje automático entrenado con datos similares a los de tu archivo de audio.
Objetivos
- Envía una solicitud de transcripción de audio a Speech-to-Text para el audio grabado desde un teléfono (como un mensaje de voz).
- Especifica un modelo de reconocimiento de voz mejorado para una solicitud de transcripción de audio.
Costes
Este tutorial usa componentes facturables de Cloud Platform, entre los que se incluyen los siguientes:
- Speech‑to‑Text
Si quieres generar una estimación de costes en función del uso previsto, usa la calculadora de precios.
Antes de empezar
Este tutorial tiene varios requisitos previos:
- Has configurado un proyecto de Speech-to-Text en la Google Cloud consola.
- Has configurado tu entorno con credenciales predeterminadas de la aplicación en la consola Google Cloud .
- Has configurado el entorno de desarrollo para el lenguaje de programación que has elegido.
- Has instalado la biblioteca de cliente de Google Cloud para el lenguaje de programación que has elegido.
Enviar una solicitud
Para transcribir correctamente el audio captado en un teléfono, como una llamada o un mensaje de voz, puedes definir el campo model
en la carga útil RecognitionConfig
como phone_call
. El campo model
indica a la API Speech-to-Text qué modelo de reconocimiento de voz debe usar para la solicitud de transcripción.
Puedes mejorar los resultados de la transcripción de audio telefónico usando un modelo mejorado. Para usar un modelo mejorado, debes asignar el valor true
al campo useEnhanced
en la carga útil de RecognitionConfig
.
En los siguientes ejemplos de código se muestra cómo seleccionar un modelo de transcripción específico al llamar a Speech-to-Text.
Protocolo
Consulta todos los detalles en el endpoint de la API speech:recognize
.
Para realizar el reconocimiento de voz síncrono, haz una solicitud POST
y proporciona el cuerpo de la solicitud adecuado. A continuación, se muestra un ejemplo de una solicitud POST
que utiliza curl
. En el ejemplo se usa Google Cloud CLI para generar un token de acceso. Para obtener instrucciones sobre cómo instalar gcloud CLI, consulta la guía de inicio rápido.
curl -s -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ https://speech.googleapis.com/v1/speech:recognize \ --data '{ "config": { "encoding": "LINEAR16", "languageCode": "en-US", "enableWordTimeOffsets": false, "enableAutomaticPunctuation": true, "model": "phone_call", "useEnhanced": true }, "audio": { "uri": "gs://cloud-samples-tests/speech/commercial_mono.wav" } }'
Consulta la documentación de referencia de RecognitionConfig
para obtener más información sobre cómo configurar el cuerpo de la solicitud.
Si la solicitud se realiza de forma correcta, el servidor devuelve un código de estado HTTP 200 OK
y la respuesta en formato JSON:
{ "results": [ { "alternatives": [ { "transcript": "Hi, I'd like to buy a Chromecast. I was wondering whether you could help me with that.", "confidence": 0.8930228 } ], "resultEndTime": "5.640s" }, { "alternatives": [ { "transcript": " Certainly, which color would you like? We are blue black and red.", "confidence": 0.9101991 } ], "resultEndTime": "10.220s" }, { "alternatives": [ { "transcript": " Let's go with the black one.", "confidence": 0.8818244 } ], "resultEndTime": "13.870s" }, { "alternatives": [ { "transcript": " Would you like the new Chromecast Ultra model or the regular Chromecast?", "confidence": 0.94733626 } ], "resultEndTime": "18.460s" }, { "alternatives": [ { "transcript": " Regular Chromecast is fine. Thank you. Okay. Sure. Would you like to ship it regular or Express?", "confidence": 0.9519095 } ], "resultEndTime": "25.930s" }, { "alternatives": [ { "transcript": " Express, please.", "confidence": 0.9101229 } ], "resultEndTime": "28.260s" }, { "alternatives": [ { "transcript": " Terrific. It's on the way. Thank you. Thank you very much. Bye.", "confidence": 0.9321616 } ], "resultEndTime": "34.150s" } ] }
Go
Para saber cómo instalar y usar la biblioteca de cliente de Speech-to-Text, consulta el artículo Bibliotecas de cliente de Speech-to-Text. Para obtener más información, consulta la documentación de referencia de la API Go Speech-to-Text.
Para autenticarte en Speech-to-Text, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Java
Para saber cómo instalar y usar la biblioteca de cliente de Speech-to-Text, consulta el artículo Bibliotecas de cliente de Speech-to-Text. Para obtener más información, consulta la documentación de referencia de la API Java Speech-to-Text.
Para autenticarte en Speech-to-Text, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Node.js
Para saber cómo instalar y usar la biblioteca de cliente de Speech-to-Text, consulta el artículo Bibliotecas de cliente de Speech-to-Text. Para obtener más información, consulta la documentación de referencia de la API Node.js Speech-to-Text.
Para autenticarte en Speech-to-Text, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Python
Para saber cómo instalar y usar la biblioteca de cliente de Speech-to-Text, consulta el artículo Bibliotecas de cliente de Speech-to-Text. Para obtener más información, consulta la documentación de referencia de la API Python Speech-to-Text.
Para autenticarte en Speech-to-Text, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Idiomas adicionales
C#: Sigue las instrucciones de configuración de C# en la página de bibliotecas de cliente y, a continuación, consulta la documentación de referencia de Speech-to-Text para .NET.
PHP Sigue las instrucciones de configuración de PHP en la página de bibliotecas de cliente y, a continuación, consulta la documentación de referencia de Speech-to-Text para PHP.
Ruby: Sigue las instrucciones de configuración de Ruby en la página de bibliotecas de cliente y, a continuación, consulta la documentación de referencia de Speech-to-Text para Ruby.
Limpieza
Para evitar que los recursos utilizados en este tutorial se cobren en tu cuenta de Google Cloud, elimina el proyecto que contiene los recursos o conserva el proyecto y elimina los recursos.
Eliminar el proyecto
La forma más fácil de evitar que te cobren es eliminar el proyecto que has creado para el tutorial.
Para ello, sigue las instrucciones que aparecen a continuación:
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
Eliminar instancias
Para eliminar una instancia de Compute Engine:
- In the Google Cloud console, go to the VM instances page.
- Select the checkbox for the instance that you want to delete.
- To delete the instance, click More actions, click Delete, and then follow the instructions.
Eliminar reglas de cortafuegos de la red predeterminada
Puedes eliminar una regla de cortafuegos de este modo:
- In the Google Cloud console, go to the Firewall page.
- Select the checkbox for the firewall rule that you want to delete.
- To delete the firewall rule, click Delete.