Questa pagina descrive come ottenere i valori di offset temporale per l'audio trascritto da Speech-to-Text.
Speech-to-Text può includere Valori time offset (timestamp) nel testo della risposta per la tua richiesta di riconoscimento. Valori di offset temporale mostrano l'inizio e la fine di ogni parlato riconosciuto nel fornito l'audio. Un valore di offset temporale rappresenta la quantità di tempo che trascorsi dall'inizio dell'audio, in incrementi di 100 ms.
Gli offset temporali sono particolarmente utili per analizzare i file audio più lunghi, in cui
potrebbe essere necessario cercare una parola particolare nel testo riconosciuto
localizzala (cerca) nell'audio originale. Speech-to-Text supporta gli offset di tempo per tutti i metodi di riconoscimento vocale: speech:recognize
, speech:longrunningrecognize
e Streaming.
I valori dell'offset di tempo sono inclusi solo per la prima alternativa fornita nella risposta al riconoscimento.
Per includere gli offset di tempo nei risultati della richiesta, imposta il parametro enableWordTimeOffsets
su true
nella configurazione della richiesta.
Protocollo
Fai riferimento all'endpoint API speech:longrunningrecognize
per informazioni dettagliate.
Per eseguire il riconoscimento vocale sincrono, effettua una richiesta POST
e fornisci il corpo della richiesta appropriato. Di seguito è riportato un esempio di richiesta POST
che utilizza
curl
. L'esempio utilizza Google Cloud CLI per generare un
token di accesso. Per istruzioni sull'installazione di gcloud CLI, consulta la guida rapida.
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"
Per ulteriori informazioni sulla configurazione del corpo della richiesta, consulta la documentazione di riferimento di RecognitionConfig e RecognitionAudio.
Se la richiesta riesce, il server restituisce un codice di stato HTTP 200 OK
e la risposta in formato JSON. Se l'operazione è incompleta (in fase di elaborazione),
la risposta sarà simile alla seguente:
{ "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}" } }
Al termine del processo, l'output sarà simile al seguente:
{ "name": "7612202767953098924" }
dove name
è il nome dell'operazione a lunga esecuzione creata per la richiesta.
L'elaborazione del file vr.flac
richiede circa 30 secondi. Per recuperare
il risultato dell'operazione, invia una richiesta GET
all'endpoint
https://speech.googleapis.com/v1/operations/
. Sostituisci
your-operation-name
con il valore name
ricevuto dalla
longrunningrecognize
richiesta.
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"
Se la richiesta riesce, il server restituisce un codice di stato HTTP 200 OK
e
la risposta in 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, } ] } ] } }
Se l'operazione non è stata completata, puoi eseguire il polling dell'endpoint ripetutamente
effettuando la richiesta GET
finché la proprietà done
della risposta è true
.
gcloud
Per informazioni dettagliate, consulta il comando
recognize-long-running
.
Per eseguire il riconoscimento vocale asincrono, utilizza Google Cloud CLI, fornendo il percorso di un file locale o un URL di Google Cloud Storage. Includi --include-word-time-offsets
flag.
gcloud ml speech recognize-long-running \ 'gs://cloud-samples-tests/speech/brooklyn.flac' \ --language-code='en-US' --include-word-time-offsets --async
Se la richiesta riesce, il server restituisce l'ID del modello in formato JSON.
{ "name": OPERATION_ID }
Puoi quindi ottenere informazioni sull'operazione eseguendo il seguente comando.
gcloud ml speech operations describe OPERATION_ID
Puoi anche eseguire il polling dell'operazione fino al completamento eseguendo questo comando .
gcloud ml speech operations wait OPERATION_ID
Al termine dell'operazione, l'operazione restituisce una trascrizione dell'audio in 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
Per scoprire come installare e utilizzare la libreria client per Speech-to-Text, consulta Librerie client di Speech-to-Text. Per ulteriori informazioni, consulta API Go Speech-to-Text documentazione di riferimento.
Per eseguire l'autenticazione a Speech-to-Text, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Speech-to-Text, vedi Librerie client di Speech-to-Text. Per ulteriori informazioni, consulta API Java Speech-to-Text documentazione di riferimento.
Per autenticarti a Speech-to-Text, configura le credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Speech-to-Text, consulta Librerie client di Speech-to-Text. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Speech-to-Text Node.js.
Per eseguire l'autenticazione a Speech-to-Text, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Speech-to-Text, vedi Librerie client di Speech-to-Text. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Speech-to-Text Python.
Per autenticarti a Speech-to-Text, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Linguaggi aggiuntivi
C#: Segui le Istruzioni per la configurazione di C# Nella pagina delle librerie client e poi visita Documentazione di riferimento di Speech-to-Text per .NET.
PHP Segui le Istruzioni per la configurazione dei file PHP Nella pagina delle librerie client e poi visita Documentazione di riferimento di Speech-to-Text per PHP.
Ruby: Segui le Istruzioni per la configurazione di Ruby Nella pagina delle librerie client e poi visita Documentazione di riferimento di Speech-to-Text per Ruby.