Os eventos de atividade de voz indicam quando o início ou fim da fala foi detectado durante um stream. Os eventos são enviados em tempo real à medida que são detectados pela Speech-to-Text. Os eventos de atividade de voz podem ser úteis para desenvolver aplicativos que dependem da detecção automática de quando um usuário inicia ou termina de falar. A Speech-to-Text também pode ser configurada para fechar automaticamente o stream com base na atividade de voz.
Os eventos de atividade de voz só estão disponíveis para solicitações gRPC StreamingRecognize.
Ativar eventos de atividade de voz
Para ativar o recebimento de respostas da atividade de voz, defina a sinalização
enable_voice_activity_events
como verdadeira na mensagem
streaming_features
.
Tipos de evento de atividade de voz
Os eventos de atividade de voz geralmente são retornados em tempo real, enquanto a Speech-to-Text detecta o início ou fim da fala durante o stream. Em geral, elas são retornadas antes da transcrição para o segmento de fala correspondente. Os eventos de atividade de fala podem ser enviados para áudio que produz resultados de transcrição vazios.
Início da atividade de fala
Enviado quando a Speech-to-Text detecta que a fala foi iniciada.
{ "speechEventType": "SPEECH_ACTIVITY_BEGIN", "speechEventOffset": "1.070s" }
Fim da atividade de fala
Enviado quando a Speech-to-Text detecta que a fala terminou.
{ "speechEventType": "SPEECH_ACTIVITY_END", "speechEventOffset": "1.070s" }
SPEECH_ACTIVITY_END
não será enviado.
Ativar tempos limite de atividade de voz
É possível ativar os tempos limite da atividade de voz definindo valores na
mensagem
voice_activity_timeout
em streaming_features
. Os tempos limite da atividade de voz precisam ser maiores que 500 ms e menores que 60 s. Os tempos limite de início e término da fala podem ser definidos de maneira independente.
Tempo limite de início da fala
Quando um tempo limite de início de fala é definido, a Speech-to-Text fecha automaticamente o stream
quando a fala não é iniciada antes do tempo limite. Depois que
um evento SPEECH_ACTIVITY_START
é detectado e retornado, o tempo limite é cancelado durante o stream. Esse recurso é útil para aplicativos
que esperam que o usuário comece a falar em um determinado período.
Tempo limite de fim da fala
Quando um tempo limite de fim de fala é definido, a Speech-to-Text fecha
automaticamente o stream caso nenhuma outra fala seja detectada dentro do tempo limite
após um evento SPEECH_ACTIVITY_END
. Depois que um evento SPEECH_ACTIVITY_START
for
detectado e retornado, o tempo limite será cancelado e começará novamente quando um
evento SPEECH_ACTIVITY_END
for enviado.
Medição de tempo limite
O tempo decorrido é medido pelos bytes de áudio enviados nas solicitações para a Speech-to-Text, não pelo tempo do servidor. Isso permite preservar a precisão durante as variações na stream do stream. O envio de trechos de áudio muito grandes nas solicitações ou o envio de solicitações em rápida sucessão reduzirá a precisão na medição do tempo limite. Observação: o limite de tamanho para blocos de áudio é de 15.360 bytes por solicitação.