En esta página, se explica cómo obtener valores de compensación de tiempo para el audio que se transcribe con Cloud Speech-to-Text.
Cloud STT puede incluir valores de compensación de tiempo (marca de tiempo) en el texto de respuesta de la solicitud de reconocimiento. Los valores de compensación de tiempo indican el principio y el final de cada palabra enunciada que se reconoce en el audio suministrado. Un valor de compensación de tiempo representa la cantidad de tiempo que transcurrió desde el comienzo del audio en incrementos de 100 ms.
Las compensaciones detiempo son útiles, en especial, para analizar archivos de audio más largos en los que es posible que necesites buscar una palabra en particular
en el texto reconocido y ubicarla (buscarla) en el audio original. Cloud STT
admite compensaciones de tiempo para todos los métodos de reconocimiento de voz:
speech:recognize,
speech:longrunningrecognize
y transmisión.
Los valores de compensación de tiempo solo se incluyen para la primera alternativa proporcionada en la respuesta de reconocimiento.
Para incluir las compensaciones horarias en los resultados de tu solicitud, configura el parámetro enableWordTimeOffsets como true en la configuración de la solicitud.
Protocolo
Consulta el extremo de la API de speech:longrunningrecognize
para obtener todos los detalles.
Para realizar un reconocimiento de voz síncrono, haz una solicitud POST y proporciona el
cuerpo de la solicitud apropiado. A continuación, se muestra un ejemplo de una solicitud POST con
curl. En el ejemplo, se usa la Google Cloud CLI para generar un token de acceso. Para obtener instrucciones sobre cómo instalar
la gcloud CLI, consulta la guía de inicio rápido.
curl -X POST \ -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \ -H "Content-Type: application/json; charset=utf-8" \ --data "{ 'config': { 'language_code': 'en-US', 'enableWordTimeOffsets': true }, 'audio':{ 'uri':'gs://gcs-test-data/vr.flac' } }" "https://speech.googleapis.com/v1/speech:longrunningrecognize"
Consulta la documentación de referencia de RecognitionConfig y RecognitionAudio para obtener más información sobre cómo configurar el cuerpo de la solicitud.
Si la solicitud es exitosa, el servidor devuelve un código de estado HTTP 200 OK y
la respuesta en formato JSON. Si la operación no se completa (aún se sigue procesando),
la respuesta será similar a la que se muestra a continuación:
{ "name": "2885768779530032514", "metadata": { "@type": "type.googleapis.com/google.cloud.speech.v1.LongRunningRecognizeMetadata", "progressPercent": 97, "startTime": "2020-12-14T03:11:54.492593Z", "lastUpdateTime": "2020-12-14T03:15:57.484509Z", "uri": "gs://{BUCKET_NAME}/{FILE_NAME}" } }
Cuando se complete el proceso, el resultado será similar al que se indica más abajo:
{
"name": "7612202767953098924"
}En el ejemplo anterior, name es el nombre de la operación de larga duración que se creó para la solicitud.
El archivo vr.flac toma alrededor de 30 segundos en procesarse. Para recuperar
el resultado de la operación, realiza una solicitud GET al
extremo https://speech.googleapis.com/v1/operations/. Reemplaza
your-operation-name por el name que devolvió la
solicitud longrunningrecognize.
curl -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \ -H "Content-Type: application/json; charset=utf-8" \ "https://speech.googleapis.com/v1/operations/your-operation-name"
Si la solicitud es exitosa, el servidor devuelve un código de estado HTTP 200 OK y la
respuesta en formato JSON:
{ "name": "7612202767953098924", "metadata": { "@type": "type.googleapis.com/google.cloud.speech.v1.LongRunningRecognizeMetadata", "progressPercent": 100, "startTime": "2017-07-20T16:36:55.033650Z", "lastUpdateTime": "2017-07-20T16:37:17.158630Z" }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.speech.v1.LongRunningRecognizeResponse", "results": [ { "alternatives": [ { "transcript": "okay so what am I doing here...(etc)...", "confidence": 0.96596134, "words": [ { "startTime": "1.400s", "endTime": "1.800s", "word": "okay" }, { "startTime": "1.800s", "endTime": "2.300s", "word": "so" }, { "startTime": "2.300s", "endTime": "2.400s", "word": "what" }, { "startTime": "2.400s", "endTime": "2.600s", "word": "am" }, { "startTime": "2.600s", "endTime": "2.600s", "word": "I" }, { "startTime": "2.600s", "endTime": "2.700s", "word": "doing" }, { "startTime": "2.700s", "endTime": "3s", "word": "here" }, { "startTime": "3s", "endTime": "3.300s", "word": "why" }, { "startTime": "3.300s", "endTime": "3.400s", "word": "am" }, { "startTime": "3.400s", "endTime": "3.500s", "word": "I" }, { "startTime": "3.500s", "endTime": "3.500s", "word": "here" }, ... ] } ] }, { "alternatives": [ { "transcript": "so so what am I doing here...(etc)...", "confidence": 0.9642093, } ] } ] } }
Si la operación no se completó, puedes sondear el extremo repitiendo la solicitud GET
hasta que la propiedad done de la respuesta sea true.
gcloud
Consulta el
comando
recognize-long-running para obtener todos los detalles.
Para realizar el reconocimiento de voz asíncrono, usa la
Google Cloud CLI suministrando la ruta de acceso a un archivo local o una
URL de Google Cloud Storage. Incluye la marca
--include-word-time-offsets.
gcloud ml speech recognize-long-running \ 'gs://cloud-samples-tests/speech/brooklyn.flac' \ --language-code='en-US' --include-word-time-offsets --async
Si la solicitud es exitosa, el servidor muestra el ID de la operación de larga duración en formato JSON.
{
"name": OPERATION_ID
}A continuación, puedes obtener información sobre la operación mediante la ejecución del siguiente comando.
gcloud ml speech operations describe OPERATION_ID
También puedes sondear la operación hasta que se complete ejecutando el comando que se indica a continuación.
gcloud ml speech operations wait OPERATION_ID
Una vez que lo haga, devolverá una transcripción del audio en formato JSON.
{ "@type": "type.googleapis.com/google.cloud.speech.v1.LongRunningRecognizeResponse", "results": [ { "alternatives": [ { "confidence": 0.9840146, "transcript": "how old is the Brooklyn Bridge", "words": [ { "endTime": "0.300s", "startTime": "0s", "word": "how" }, { "endTime": "0.600s", "startTime": "0.300s", "word": "old" }, { "endTime": "0.800s", "startTime": "0.600s", "word": "is" }, { "endTime": "0.900s", "startTime": "0.800s", "word": "the" }, { "endTime": "1.100s", "startTime": "0.900s", "word": "Brooklyn" }, { "endTime": "1.500s", "startTime": "1.100s", "word": "Bridge" } ] } ] } ] }
Go
Para obtener información sobre cómo instalar y usar la biblioteca cliente de Cloud STT, consulta Bibliotecas cliente de Cloud STT. Para obtener más información, consulta la documentación de referencia de la API de Cloud STT para Go.
Para autenticarte en Cloud STT, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Java
Para obtener información sobre cómo instalar y usar la biblioteca cliente de Cloud STT, consulta Bibliotecas cliente de Cloud STT. Para obtener más información, consulta la documentación de referencia de la API de Cloud STT para Java.
Para autenticarte en Cloud STT, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Node.js
Para obtener información sobre cómo instalar y usar la biblioteca cliente de Cloud STT, consulta Bibliotecas cliente de Cloud STT. Para obtener más información, consulta la documentación de referencia de la API de Cloud STT para Node.js.
Para autenticarte en Cloud STT, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Para obtener información sobre cómo instalar y usar la biblioteca cliente de Cloud STT, consulta Bibliotecas cliente de Cloud STT. Para obtener más información, consulta la documentación de referencia de la API de Cloud STT para Python.
Para autenticarte en Cloud STT, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Lenguajes adicionales
C#: Sigue las instrucciones de configuración de C# de la página de bibliotecas cliente y, luego, consulta la documentación de referencia de Cloud STT para .NET.
PHP: Sigue las instrucciones de configuración de PHP de la página de bibliotecas cliente y, luego, consulta la documentación de referencia de Cloud STT para PHP.
Ruby: Sigue las instrucciones de configuración de Ruby de la página de bibliotecas cliente y, luego, consulta la documentación de referencia de Cloud STT para Ruby.