Eventos de atividade de voz 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 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.