Questa pagina descrive come ottenere le etichette per i diversi speaker nei dati audio trascritti da Cloud Speech-to-Text.
A volte, i dati audio contengono campioni di più persone che parlano. Ad esempio, l'audio di una telefonata di solito include le voci di due o più persone. Idealmente, una trascrizione della chiamata include chi parla e quando.
Diarizzazione degli speaker
Cloud Speech-to-Text è in grado di riconoscere più speaker che parlano nello stesso clip audio. Quando invii una richiesta di trascrizione audio a Cloud Speech-to-Text, puoi includere un parametro che indica a Cloud Speech-to-Text di identificare i diversi speaker nel campione audio. Questa funzionalità, chiamata diarizzazione degli speaker, rileva quando cambiano le persone che parlano e etichetta con un numero le singole voci rilevate nell'audio.
Quando attivi la diarizzazione degli speaker nella richiesta di trascrizione, Cloud Speech-to-Text tenta di distinguere le diverse voci incluse nel campione audio. Il risultato della trascrizione tagga ogni parola con un numero assegnato ai singoli speaker. Le parole pronunciate dallo stesso speaker hanno lo stesso numero. Un risultato di trascrizione può includere numeri fino a un massimo di speaker che Cloud Speech-to-Text può identificare in modo univoco nel campione audio.
Quando utilizzi la diarizzazione degli speaker, Cloud Speech-to-Text produce un aggregato continuo 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 diarizzati della trascrizione.
Consulta la pagina del supporto linguistico per verificare se questa funzionalità è disponibile nella tua lingua.
Attivare la diarizzazione degli speaker in una richiesta
Per attivare la diarizzazione degli speaker, devi impostare il
diarization_config campo in
RecognitionFeatures. Devi impostare i valori min_speaker_count e max_speaker_count in base al numero di speaker previsti nella trascrizione.
Cloud STT supporta la diarizzazione degli speaker 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 speaker in una richiesta di trascrizione a Cloud Speech-to-Text utilizzando un file locale.
REST
Per informazioni complete, consulta l'endpoint API speech:recognize per.
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 Cloud STT, consulta Librerie client di Cloud STT. Per saperne di più, consulta la documentazione di riferimento dell'APIGo Cloud STT.
Per eseguire l'autenticazione in Cloud STT, configura le credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Cloud STT, consulta Librerie client di Cloud STT. Per saperne di più, consulta la documentazione di riferimento dell'APIPython Cloud STT.
Per eseguire l'autenticazione in Cloud STT, configura le credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.