Gli eventi di attività vocale indicano quando è stato rilevato l'inizio o la fine del parlato durante uno stream. Gli eventi vengono inviati in tempo reale man mano che vengono rilevati da Speech-to-Text. Gli eventi di attività vocale possono essere utili per sviluppare applicazioni che si basano sul rilevamento automatico dell'avvio o della fine dell'attività da parte dell'utente per parlare. Inoltre, è possibile configurare Speech-to-Text per chiudere automaticamente lo stream in base all'attività vocale.
Gli eventi di attività vocale sono disponibili solo per le richieste gRPC di StreamingRecognize.
Attiva eventi di attività vocale
Puoi attivare la ricezione delle risposte dell'attività vocale impostando il
Flag enable_voice_activity_events
su true in streaming_features
messaggio.
Tipi di eventi di attività vocale
Gli eventi di attività vocale vengono generalmente restituiti in tempo reale quando Speech-to-Text rileva l'inizio o l'interruzione del parlato durante lo stream. In genere vengono restituiti prima dei risultati della trascrizione per il segmento di parlato corrispondente. Voce gli eventi di attività possono essere inviati per l'audio che produce risultati della trascrizione vuoti.
Inizio attività vocale
Inviata quando Speech-to-Text rileva l'avvio della voce.
{ "speechEventType": "SPEECH_ACTIVITY_BEGIN", "speechEventOffset": "1.070s" }
Fine attività vocale
Inviata quando Speech-to-Text rileva che la voce è terminata.
{ "speechEventType": "SPEECH_ACTIVITY_END", "speechEventOffset": "1.070s" }
SPEECH_ACTIVITY_END
.
Attiva timeout attività vocale
Puoi attivare il timeout dell'attività vocale impostando i valori nella
voice_activity_timeout
messaggio
tra streaming_features
. I timeout dell'attività vocale devono essere superiori a 500 ms e inferiori a 60 secondi. I timeout di inizio e fine della voce possono essere impostati in modo indipendente.
Timeout inizio vocale
Quando è impostato un timeout per l'inizio del parlato, la funzionalità Trascrizione vocale chiude automaticamente lo stream se il parlato non è iniziato prima del periodo di timeout. Una volta
È stato rilevato e restituito SPEECH_ACTIVITY_START
evento, il timeout è
annullato per tutta la durata dello stream. Questa funzionalità è utile per le applicazioni che si aspettano che un utente inizi a parlare entro un determinato periodo di tempo.
Timeout di fine della sintesi vocale
Quando è impostato un timeout di fine voce, Speech-to-Text esegue automaticamente
chiudi lo stream se non vengono rilevati ulteriori comandi vocali entro la durata del timeout
dopo un evento SPEECH_ACTIVITY_END
. Una volta rilevato e restituito un evento SPEECH_ACTIVITY_START
, il timeout viene annullato e ricomincia quando viene inviato un evento SPEECH_ACTIVITY_END
.
Misurazione del tempo per i timeout
Il tempo trascorso viene misurato in base ai byte di audio inviati nelle richieste a Speech-to-Text, anziché in base al tempo del server. In questo modo è possibile mantenere la precisione durante le variazioni nella trasmissione dello stream. L'invio di frammenti audio molto grandi nelle richieste o l'invio di richieste in successione molto rapida ridurrà l'accuratezza della misurazione del timeout. Nota: il limite di dimensione per i blocchi audio è 15360 byte per richiesta.