Questa pagina descrive come ottenere le etichette per i diversi interlocutori nei dati audio trascritti da Speech-to-Text.
A volte, i dati audio contengono campioni di più persone che parlano. Ad esempio, l'audio di una chiamata telefonica in genere include le voci di due o più persone. Una trascrizione della chiamata dovrebbe includere chi parla e quando.
Diarizzazione degli speaker
Speech-to-Text è in grado di riconoscere più interlocutori che parlano nello stesso clip audio. Quando invii una richiesta di trascrizione audio a Speech-to-Text, puoi includere un parametro che indica a Speech-to-Text di identificare i diversi interlocutori nel campione audio. Questa funzionalità, chiamata diarizzazione degli interlocutori, rileva quando cambiano le persone che parlano ed etichetta con un numero le singole voci rilevate nell'audio.
Quando attivi la diarizzazione nella richiesta di trascrizione, Speech-to-Text tenta di distinguere le diverse voci incluse nel campione audio. Il risultato della trascrizione contrassegna ogni parola con un numero assegnato ai singoli speaker. Le parole pronunciate dallo stesso oratore hanno lo stesso numero. Un risultato di trascrizione può includere numeri fino al numero di interlocutori che Speech-to-Text può identificare in modo univoco nel campione audio.
Quando utilizzi la diarizzazione degli speaker, Speech-to-Text produce un insieme
aggregato di tutti i risultati forniti nella trascrizione. Ogni risultato include le parole del risultato precedente. Pertanto, l'array words
nel risultato finale fornisce i risultati completi e trascritti della trascrizione.
Consulta la pagina relativa al supporto delle lingue per verificare se questa funzionalità è disponibile nella tua lingua.
Attivare la diarizzazione dello speaker in una richiesta
Per attivare la diarizzazione dell'interlocutore, devi impostare il campo diarization_config
in RecognitionFeatures
. Devi impostare i valori min_speaker_count
e max_speaker_count
in base al numero di speaker che prevedi nella trascrizione.
Speech-to-Text supporta la diarizzazione degli oratori per tutti i metodi di riconoscimento vocale:
speech:recognize
e streaming.
Utilizzare un file locale
Il seguente snippet di codice mostra come attivare la diarizzazione degli oratori in una richiesta di trascrizione a Speech-to-Text utilizzando un file locale
Protocollo
Per informazioni dettagliate, consulta l'endpoint API speech:recognize
.
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
mediante 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 -s -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ https://speech.googleapis.com/v2/projects/{project}/locations/{location}/recognizers/{recognizer}:recognize \ --data '{ "config": { "features": { "diarizationConfig": { "minSpeakerCount": 2, "maxSpeakerCount": 2 }, } }, "uri": "gs://cloud-samples-tests/speech/commercial_mono.wav" }' > speaker-diarization.txt
Se la richiesta riesce, il server restituisce un codice di stato HTTP 200 OK
e la risposta in formato JSON, salvata in un file denominato speaker-diarization.txt
.
{ "results": [ { "alternatives": [ { "transcript": "hi I'd like to buy a Chromecast and I was wondering whether you could help me with that certainly which color would you like we have blue black and red uh let's go with the black one would you like the new Chromecast Ultra model or the regular Chrome Cast regular Chromecast is fine thank you okay sure we like to ship it regular or Express Express please terrific it's on the way thank you thank you very much bye", "confidence": 0.92142606, "words": [ { "startOffset": "0s", "endOffset": "1.100s", "word": "hi", "speakerLabel": "2" }, { "startOffset": "1.100s", "endOffset": "2s", "word": "I'd", "speakerLabel": "2" }, { "startOffset": "2s", "endOffset": "2s", "word": "like", "speakerLabel": "2" }, { "startOffset": "2s", "endOffset": "2.100s", "word": "to", "speakerLabel": "2" }, ... { "startOffset": "6.500s", "endOffset": "6.900s", "word": "certainly", "speakerLabel": "1" }, { "startOffset": "6.900s", "endOffset": "7.300s", "word": "which", "speakerLabel": "1" }, { "startOffset": "7.300s", "endOffset": "7.500s", "word": "color", "speakerLabel": "1" }, ... ] } ], "languageCode": "en-us" } ] }
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 la documentazione di riferimento dell'API Speech-to-Text Go.
Per autenticarti a Speech-to-Text, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
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 Python.
Per autenticarti a Speech-to-Text, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.