arrow_back

Transcripción de voz a texto con la API de Cloud Speech

Acceder Unirse
Pon a prueba tus conocimientos y compártelos con nuestra comunidad
done
Obtén acceso a más de 700 labs prácticos, insignias de habilidad y cursos

Transcripción de voz a texto con la API de Cloud Speech

Lab 30 minutos universal_currency_alt 1 crédito show_chart Introductorio
info Es posible que este lab incorpore herramientas de IA para facilitar tu aprendizaje.
Pon a prueba tus conocimientos y compártelos con nuestra comunidad
done
Obtén acceso a más de 700 labs prácticos, insignias de habilidad y cursos

GSP048

Labs de autoaprendizaje de Google Cloud

Descripción general

La API de Speech-to-Text permite transcribir archivos de audio de voz en archivos de texto en más de 80 idiomas.

En este lab, debes enviar un archivo de audio a la API de Speech para transcribirlo.

Qué aprenderás

En este lab, practicarás lo siguiente:

  • Crear una solicitud a la API de Speech-to-Text y llamarla con curl
  • Llamar a la API de Speech-to-Text con archivos de audio en distintos idiomas

Configuración y requisitos

Antes de hacer clic en el botón Comenzar lab

Lee estas instrucciones. Los labs son cronometrados y no se pueden pausar. El cronómetro, que comienza a funcionar cuando haces clic en Comenzar lab, indica por cuánto tiempo tendrás a tu disposición los recursos de Google Cloud.

Este lab práctico te permitirá realizar las actividades correspondientes en un entorno de nube real, no en uno de simulación o demostración. Para ello, se te proporcionan credenciales temporales nuevas que utilizarás para acceder a Google Cloud durante todo el lab.

Para completar este lab, necesitarás lo siguiente:

  • Acceso a un navegador de Internet estándar (se recomienda el navegador Chrome)
Nota: Usa una ventana de navegador privada o de Incógnito para ejecutar este lab. Así evitarás cualquier conflicto entre tu cuenta personal y la cuenta de estudiante, lo que podría generar cargos adicionales en tu cuenta personal.
  • Tiempo para completar el lab: Recuerda que, una vez que comienzas un lab, no puedes pausarlo.
Nota: Si ya tienes un proyecto o una cuenta personal de Google Cloud, no los uses en este lab para evitar cargos adicionales en tu cuenta.

Cómo iniciar tu lab y acceder a la consola de Google Cloud

  1. Haga clic en el botón Comenzar lab. Si debe pagar por el lab, se abrirá una ventana emergente para que seleccione su forma de pago. A la izquierda, se encuentra el panel Detalles del lab, que tiene estos elementos:

    • El botón Abrir la consola de Google Cloud
    • El tiempo restante
    • Las credenciales temporales que debe usar para el lab
    • Otra información para completar el lab, si es necesaria
  2. Haz clic en Abrir la consola de Google Cloud (o haz clic con el botón derecho y selecciona Abrir el vínculo en una ventana de incógnito si ejecutas el navegador Chrome).

    El lab inicia recursos y abre otra pestaña en la que se muestra la página de acceso.

    Sugerencia: Ordene las pestañas en ventanas separadas, una junto a la otra.

    Nota: Si ves el diálogo Elegir una cuenta, haz clic en Usar otra cuenta.
  3. De ser necesario, copia el nombre de usuario a continuación y pégalo en el diálogo Acceder.

    {{{user_0.username | "Username"}}}

    También puedes encontrar el nombre de usuario en el panel Detalles del lab.

  4. Haz clic en Siguiente.

  5. Copia la contraseña que aparece a continuación y pégala en el diálogo Te damos la bienvenida.

    {{{user_0.password | "Password"}}}

    También puedes encontrar la contraseña en el panel Detalles del lab.

  6. Haz clic en Siguiente.

    Importante: Debes usar las credenciales que te proporciona el lab. No uses las credenciales de tu cuenta de Google Cloud. Nota: Usar tu propia Cuenta de Google podría generar cargos adicionales.
  7. Haga clic para avanzar por las páginas siguientes:

    • Acepta los Términos y Condiciones.
    • No agregues opciones de recuperación o autenticación de dos factores (esta es una cuenta temporal).
    • No te registres para obtener pruebas gratuitas.

Después de un momento, se abrirá la consola de Google Cloud en esta pestaña.

Nota: Para ver un menú con una lista de productos y servicios de Google Cloud, haz clic en el menú de navegación que se encuentra en la parte superior izquierda. Ícono del menú de navegación

Tarea 1. Crea una clave de API

Como debes usar curl con el objetivo de enviar una solicitud a la API de Speech-to-Text, necesitas generar una clave de API para pasar la URL de la solicitud.

  1. Para crear una clave de API, en el menú de navegación (Ícono del menú de navegación) haz clic en APIs & Services > Credentials.

  2. Haz clic en Create credentials y selecciona API key.

  3. Copia y anota la clave que acabas de generar para usarla más tarde en este lab.

  4. Haz clic en Close.

Haz clic en Revisar mi progreso para verificar el objetivo.

Crear una clave de API

Ahora, guarda la clave en una variable de entorno para no tener que insertar el valor de la clave de API en cada solicitud.

  1. Para completar los pasos siguientes, conéctate a linux-instance, que se te aprovisionó a través de SSH:

En el menú de navegación (Ícono del menú de navegación), haz clic en Compute Engine > VM instances.

Observa la VM linux-instance en la lista de instancias de VM. Los detalles de la VM figuran a la derecha de su nombre.

  1. Haz clic en SSH a la derecha del nombre de la VM linux-instance.

Se abre una shell interactiva. Úsala para ejecutar las operaciones siguientes.

  1. En la shell (SSH), ejecuta el comando siguiente y reemplaza <your_api_key> por la clave que acabas de copiar:
export API_KEY=<YOUR_API_KEY>

Tarea 2. Crea tu solicitud a la API

Nota: En este lab, se usa un archivo ya registrado que está disponible en Cloud Storage: gs://cloud-samples-data/speech/brooklyn_bridge.flac. Antes de enviarlo a la API de Speech-to-Text, puedes ponerte a la escucha de este archivo.
  1. Compila la solicitud a la API en un archivo request.json: Crea el archivo JSON request.json:
touch request.json
  1. Abre el archivo con tu editor de línea de comandos de preferencia (nano, vim, emacs) o gcloud y, luego, agrega lo siguiente al archivo request.json, con el valor uri del archivo de audio de muestra sin procesar:
{ "config": { "encoding":"FLAC", "languageCode": "en-US" }, "audio": { "uri":"gs://cloud-samples-data/speech/brooklyn_bridge.flac" } }
  1. Guarda el archivo según sea necesario.

El cuerpo de la solicitud tiene un objeto config y otro audio.

En config, le indicas a la API de Speech-to-Text cómo procesar la solicitud.

  • El parámetro encoding le indica a la API qué tipo de codificación de audio usas mientras el archivo se envía a la API. FLAC es el tipo de codificación para archivos .raw (obtén más información sobre los tipos de codificación en la referencia de RecognitionConfig).
  • De forma predeterminada, languageCode queda en inglés si lo dejas fuera de la solicitud.

Hay otros parámetros que puedes agregar al objeto config, pero encoding es el único obligatorio.

En el objeto audio, debes pasar a la API el URI del archivo de audio que se guardó en Cloud Storage para este lab.

Haz clic en Revisar mi progreso para verificar el objetivo.

Crea tu solicitud a la API de Speech

Ahora, ya tienes todo para llamar a la API de Speech-to-Text.

Tarea 3: Llama a la API de Speech-to-Text

  1. Pasa el cuerpo de la solicitud, junto con la variable de entorno de la clave de API, a la API con el comando curl siguiente (todo en una sola línea de comandos):
curl -s -X POST -H "Content-Type: application/json" --data-binary @request.json \ "https://speech.googleapis.com/v1/speech:recognize?key=${API_KEY}" > result.json

Se almacenará tu respuesta en un archivo llamado result.json.

  1. Para ver su contenido, puedes usar lo siguiente:
cat result.json

La respuesta que muestre el comando curl debería ser similar a lo siguiente:

{ "results": [ { "alternatives": [ { "transcript": "how old is the Brooklyn Bridge", "confidence": 0.98216057 } ], "resultEndTime": "1.770s", "languageCode": "en-us" } ], "totalBilledTime": "15s" }

El valor transcript mostrará la transcripción de texto que la API de Speech hizo del archivo de audio, mientras que el valor confidence indicará qué tan segura está la API de haber transcrito el audio de forma correcta.

Ten en cuenta que llamaste al método syncrecognize en la solicitud anterior. La API de Speech-to-Text admite tanto la transcripción de voz a texto síncrona como asíncrona.

En este ejemplo, se usó un archivo de audio completo. Sin embargo, también puedes usar el método syncrecognize para hacer una transcripción de voz a texto en transmisión, mientras el usuario sigue hablando.

Haz clic en Revisar mi progreso para verificar el objetivo.

Llama a la API de Speech API para el idioma inglés

Tarea 4. Transcripción de voz a texto en diferentes idiomas

¿Hablas varios idiomas? La API de Speech-to-Text admite la transcripción de voz a texto en más de 100 idiomas.

Puedes cambiar el parámetro language_code de request.json. En la Guía de idiomas admitidos, encontrarás una lista de los idiomas compatibles con la API.

Prueba un audio en francés (para obtener una muestra, escucha aquí).

  1. Edita el archivo request.json y cambia el contenido por los parámetros siguientes:
{ "config": { "encoding":"FLAC", "languageCode": "fr" }, "audio": { "uri":"gs://cloud-samples-data/speech/corbeau_renard.flac" } }
  1. Vuelve a ejecutar el comando curl para llamar a Speech-to-Text.

  2. Ve los resultados con el comando siguiente:

cat result.json

Deberías ver la respuesta siguiente:

{ "results": [ { "alternatives": [ { "transcript": "maître corbeau sur un arbre perché Tenait dans son bec un fromage maître Renard par l'odeur alléché lui tint à peu près ce langage et bonjour monsieur du corbeau", "confidence": 0.93855613 } ], "resultEndTime": "12.630s", "languageCode": "fr-fr" } ], "totalBilledTime": "15s" }

Esta es una frase de una historia para niños en francés de Jean de la Fontaine. Si tienes archivos de audio en otro idioma, puedes intentar agregarlos a Cloud Storage y cambiar el parámetro languageCode de la solicitud.

Nota: Las restricciones y los límites de uso de la API en Cloud Speech-to-Text están documentados en el Recurso sobre cuotas y límites. Llama a la API de Speech para el idioma francés

¡Felicitaciones!

Hiciste una transcripción de voz a texto con la API de Speech. Pasaste el URI de Cloud Storage de tu archivo de audio a la API y exploraste la alternativa de pasar una cadena codificada en base64 del contenido de tu audio.

Finaliza la Quest

Este lab de autoaprendizaje forma parte de las Quests Intro to ML: Language Processing y Language, Speech, Text & Translation with Google Cloud APIs. Una Quest es una serie de labs relacionados que forman una ruta de aprendizaje. Si completas esta Quest, obtendrás una insignia como reconocimiento por tu logro. Puedes hacer públicas tus insignias y agregar vínculos a ellas en tu currículum en línea o en tus cuentas de redes sociales. Inscríbete en cualquier Quest que contenga este lab y obtén un crédito inmediato de finalización. Consulta el catálogo de Google Cloud Skills Boost para ver todas las Quests disponibles.

Completa el próximo lab

Continúa la Quest con Measuring and Improving Speech Accuracy o prueba alguna de las opciones siguientes:

Pasos siguientes y más información

Capacitación y certificación de Google Cloud

Recibe la formación que necesitas para aprovechar al máximo las tecnologías de Google Cloud. Nuestras clases incluyen habilidades técnicas y recomendaciones para ayudarte a avanzar rápidamente y a seguir aprendiendo. Para que puedas realizar nuestros cursos cuando más te convenga, ofrecemos distintos tipos de capacitación de nivel básico a avanzado: a pedido, presenciales y virtuales. Las certificaciones te ayudan a validar y demostrar tus habilidades y tu conocimiento técnico respecto a las tecnologías de Google Cloud.

Actualización más reciente del manual: 20 de septiembre de 2023

Prueba más reciente del lab: 20 de septiembre de 2023

Copyright 2024 Google LLC. All rights reserved. Google y el logotipo de Google son marcas de Google LLC. Los demás nombres de productos y empresas pueden ser marcas de las respectivas empresas a las que estén asociados.

Este contenido no está disponible en este momento

Te enviaremos una notificación por correo electrónico cuando esté disponible

¡Genial!

Nos comunicaremos contigo por correo electrónico si está disponible