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 Cloud Speech-to-Text e podem ser úteis para desenvolver aplicativos que dependem da detecção automática de quando um usuário inicia ou termina de falar. A Cloud STT também pode ser configurado 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 Cloud STT detecta o início ou fim da fala durante o stream. Em geral, eles são retornados antes da transcrição para o segmento de fala correspondente e podem ser enviados para áudio que produz resultados de transcrição vazios.
Início da atividade de fala
Enviado quando a Cloud STT detecta que a fala foi iniciada.
{
"speechEventType": "SPEECH_ACTIVITY_BEGIN",
"speechEventOffset": "1.070s"
}
Fim da atividade de fala
Enviado quando a Cloud STT detecta que a fala terminou.
{
"speechEventType": "SPEECH_ACTIVITY_END",
"speechEventOffset": "1.070s"
}
Se o stream for fechado antes de a fala terminar, o evento 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 e a fala não é iniciada antes desse tempo, a Cloud STT fecha automaticamente o stream. 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 Cloud STT 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 reiniciará quando SPEECH_ACTIVITY_END for enviado.
Medição de tempo limite
O tempo decorrido é medido pelos bytes de áudio enviados nas solicitações para a Cloud STT, não pelo tempo do servidor. Isso permite preservar a acurácia no caso de variações na transmissão 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 acurácia na medição do tempo limite. Observação: o limite de tamanho para blocos de áudio é de 15.360 bytes por solicitação.