Eventos de atividade do Voice e tempos limite

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"
}
Se o stream for fechada antes de a fala terminar, um 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, 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.