Questa pagina descrive come ottenere etichette per diverse persone in dati audio trascritti da Speech-to-Text.
A volte i dati audio contengono campioni di più di una persona che parla. Ad esempio, l'audio di una telefonata in genere contiene voci di due o più persone. Una trascrizione della chiamata, idealmente, include chi parla e a che ora.
Diarizzazione dell'altoparlante
Speech-to-Text è in grado di riconoscere più altoparlanti 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 altoparlanti nel campione audio. Questa funzionalità, chiamata diarizzazione altoparlante, rileva quando gli altoparlanti cambiano ed etichettano in base al numero delle singole voci rilevate nell'audio.
Quando attivi la diarizzazione degli speaker nella richiesta di trascrizione, 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 interlocutori. Le parole pronunciate dallo stesso altoparlante hanno lo stesso numero. Un risultato di trascrizione può includere numeri fino al numero di altoparlanti che Speech-to-Text può identificare in modo univoco nel campione audio.
Quando utilizzi la diarizzazione degli speaker, Speech-to-Text produce un aggregato
in esecuzione 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 diarizzati completi della trascrizione.
Consulta la pagina di supporto per le lingue per verificare se questa funzionalità è disponibile per la tua lingua.
Attiva la diarizzazione degli altoparlanti in una richiesta
Per abilitare la diarizzazione degli altoparlanti, devi impostare il campo
enableSpeakerDiarization
su true
nei parametri
SpeakerDiarizationConfig
per la richiesta. Per migliorare i risultati della trascrizione, devi anche specificare il numero di persone presenti nel clip audio impostando il campo diarizationSpeakerCount
nei parametri SpeakerDiarizationConfig
. Speech-to-Text utilizza un valore predefinito se non fornisci un valore per diarizationSpeakerCount
.
Speech-to-Text supporta la diarizzazione degli altoparlanti per tutti i metodi di riconoscimento vocale:
speech:recognize
speech:longrunningrecognize
e Streaming.
Utilizza un file locale
Il seguente snippet di codice mostra come attivare la diarizzazione degli altoparlanti in una richiesta di trascrizione in Speech-to-Text utilizzando un file locale
Protocollo
Per i dettagli completi, 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 il token di accesso per un account di servizio configurato per il progetto utilizzando Google Cloud CLI. Per istruzioni sull'installazione dell'interfaccia alla gcloud CLI, sulla configurazione di un progetto con un account di servizio e sull'ottenimento di un token di accesso, 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/v1p1beta1/speech:recognize \ --data '{ "config": { "encoding": "LINEAR16", "languageCode": "en-US", "diarizationConfig": { "enableSpeakerDiarization": true, "minSpeakerCount": 2, "maxSpeakerCount": 2 }, "model": "phone_call", }, "audio": { "uri": "gs://cloud-samples-tests/speech/commercial_mono.wav" } }' > speaker-diarization.txt
Se la richiesta ha esito positivo, 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": [ { "startTime": "0s", "endTime": "1.100s", "word": "hi", "speakerTag": 2 }, { "startTime": "1.100s", "endTime": "2s", "word": "I'd", "speakerTag": 2 }, { "startTime": "2s", "endTime": "2s", "word": "like", "speakerTag": 2 }, { "startTime": "2s", "endTime": "2.100s", "word": "to", "speakerTag": 2 }, ... { "startTime": "6.500s", "endTime": "6.900s", "word": "certainly", "speakerTag": 1 }, { "startTime": "6.900s", "endTime": "7.300s", "word": "which", "speakerTag": 1 }, { "startTime": "7.300s", "endTime": "7.500s", "word": "color", "speakerTag": 1 }, ... ] } ], "languageCode": "en-us" } ] }
Go
Per eseguire l'autenticazione su Speech-to-Text, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Per eseguire l'autenticazione su Speech-to-Text, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per eseguire l'autenticazione su Speech-to-Text, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per eseguire l'autenticazione su Speech-to-Text, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Utilizza un bucket Cloud Storage
Il seguente snippet di codice mostra come abilitare la diarizzazione degli altoparlanti in una richiesta di trascrizione a Speech-to-Text utilizzando un file Google Cloud Storage
Go
Per eseguire l'autenticazione su Speech-to-Text, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Per eseguire l'autenticazione su Speech-to-Text, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per eseguire l'autenticazione su Speech-to-Text, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per eseguire l'autenticazione su Speech-to-Text, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.