En esta página se muestra cómo transcribir archivos de audio largos (de más de un minuto) a texto mediante la API Speech-to-Text y el reconocimiento de voz asíncrono.
Acerca del reconocimiento de voz asíncrono
Reconocimiento de voz por lotes inicia una operación de procesamiento de audio de larga duración. Usa el reconocimiento de voz asíncrono para transcribir audio de más de 60 segundos. En el caso de los audios más cortos, el reconocimiento de voz síncrono es más rápido y sencillo. El límite superior del reconocimiento de voz asíncrono es de 480 minutos (8 horas).
El reconocimiento de voz por lotes solo puede transcribir audio almacenado en Cloud Storage. La transcripción se puede proporcionar de forma insertada en la respuesta (en el caso de las solicitudes de reconocimiento por lotes de un solo archivo) o se puede escribir en Cloud Storage.
La solicitud de reconocimiento por lotes devuelve un Operation
que contiene información sobre el procesamiento del reconocimiento en curso de tu solicitud. Puedes sondeas la operación para saber cuándo se ha completado y cuándo están disponibles las transcripciones.
Antes de empezar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Speech-to-Text APIs.
-
Make sure that you have the following role or roles on the project: Cloud Speech Administrator
Check for the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
-
In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.
- For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.
Grant the roles
-
In the Google Cloud console, go to the IAM page.
Ir a IAM - Selecciona el proyecto.
- Haz clic en Conceder acceso.
-
En el campo Nuevos principales, introduce tu identificador de usuario. Normalmente, se trata de la dirección de correo de una cuenta de Google.
- En la lista Selecciona un rol, elige un rol.
- Para conceder más roles, haz clic en Añadir otro rol y añade cada rol adicional.
- Haz clic en Guardar.
Install the Google Cloud CLI.
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init
-
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Speech-to-Text APIs.
-
Make sure that you have the following role or roles on the project: Cloud Speech Administrator
Check for the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
-
In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.
- For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.
Grant the roles
-
In the Google Cloud console, go to the IAM page.
Ir a IAM - Selecciona el proyecto.
- Haz clic en Conceder acceso.
-
En el campo Nuevos principales, introduce tu identificador de usuario. Normalmente, se trata de la dirección de correo de una cuenta de Google.
- En la lista Selecciona un rol, elige un rol.
- Para conceder más roles, haz clic en Añadir otro rol y añade cada rol adicional.
- Haz clic en Guardar.
Install the Google Cloud CLI.
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init
-
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
-
Optional: Revoke the authentication credentials that you created, and delete the local credential file.
gcloud auth application-default revoke
-
Optional: Revoke credentials from the gcloud CLI.
gcloud auth revoke
- 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.
- 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.
- Consulta la documentación de referencia sobre el reconocimiento por lotes.
- Consulta cómo transcribir audio de streaming.
- Practica transcribiendo archivos de audio cortos.
- Transcribe archivos de audio con Chirp.
- Para obtener el mejor rendimiento, precisión y otros consejos, consulta la documentación sobre las prácticas recomendadas.
Las bibliotecas de cliente pueden usar las credenciales predeterminadas de la aplicación para autenticarse fácilmente en las APIs de Google y enviar solicitudes a esas APIs. Con las credenciales predeterminadas de la aplicación, puedes probar tu aplicación de forma local e implementarla sin cambiar el código subyacente. Para obtener más información, consulta el artículo Autenticarse para usar bibliotecas de cliente.
También debes instalar la biblioteca de cliente.
Habilitar el acceso a Cloud Storage
Speech-to-Text usa una cuenta de servicio para acceder a tus archivos de Cloud Storage. De forma predeterminada, la cuenta de servicio tiene acceso a los archivos de Cloud Storage del mismo proyecto.
La dirección de correo de la cuenta de servicio es la siguiente:
service-PROJECT_NUMBER@gcp-sa-speech.iam.gserviceaccount.com
Para transcribir archivos de Cloud Storage en otro proyecto, puedes asignar a esta cuenta de servicio el rol Agente de servicio de Speech-to-Text en el otro proyecto:
gcloud projects add-iam-policy-binding PROJECT_ID \
--member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-speech.iam.gserviceaccount.com \
--role=roles/speech.serviceAgent
Para obtener más información sobre las políticas de gestión de identidades y accesos de proyectos, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.
También puedes dar a la cuenta de servicio un acceso más específico dándole permiso para un segmento de Cloud Storage concreto:
gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME \
--member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-speech.iam.gserviceaccount.com \
--role=roles/storage.admin
Para obtener más información sobre cómo gestionar el acceso a Cloud Storage, consulta el artículo Crear y gestionar listas de control de acceso de la documentación de Cloud Storage.
Realizar un reconocimiento por lotes con resultados insertados
A continuación, se muestra un ejemplo de cómo realizar el reconocimiento de voz por lotes en un archivo de audio de Cloud Storage y leer los resultados de la transcripción insertados en la respuesta:
Python
Realizar un reconocimiento por lotes y escribir los resultados en Cloud Storage
A continuación, se muestra un ejemplo de cómo realizar el reconocimiento de voz por lotes en un archivo de audio de Cloud Storage y leer los resultados de la transcripción del archivo de salida de Cloud Storage. Ten en cuenta que el archivo escrito en Cloud Storage es un mensaje BatchRecognizeResults
en formato JSON:
Python
Realizar el reconocimiento por lotes en varios archivos
A continuación, se muestra un ejemplo de cómo realizar el reconocimiento de voz por lotes en varios archivos de audio de Cloud Storage y leer los resultados de la transcripción de los archivos de salida de Cloud Storage:
Python
Habilitar el procesamiento por lotes dinámico en el reconocimiento por lotes
El procesamiento por lotes dinámico permite transcribir a un coste más bajo con una latencia mayor. Esta función solo está disponible para el reconocimiento por lotes.
A continuación, se muestra un ejemplo de cómo realizar el reconocimiento por lotes en un archivo de audio de Cloud Storage con la función de creación de lotes dinámica habilitada:
Python
Anular las funciones de reconocimiento por archivo
El reconocimiento por lotes usa de forma predeterminada la misma configuración de reconocimiento para cada archivo de la solicitud de reconocimiento por lotes. Si diferentes archivos requieren una configuración o funciones distintas, la configuración se puede anular por archivo mediante el campo config
del mensaje [BatchRecognizeFileMetadata
][batch-file-metadata-grpc]. Consulta la documentación de los reconocedores para ver un ejemplo de cómo anular las funciones de reconocimiento.
Limpieza
Para evitar que se apliquen cargos en tu cuenta de Google Cloud por los recursos utilizados en esta página, sigue estos pasos.
Consola
gcloud