Detecção de Fim de Fala (End-of-Utterance Detection)
Diferentemente do VAD, que indica presença ou ausência de voz em quadros curtos, a detecção de fim de fala decide quando uma elocução terminou. Ela combina silêncio, duração, prosódia, palavras parciais, contexto linguístico e, em modelos neurais, probabilidade de continuação. Um limite fixo de 500–1.500 ms é simples, mas pode cortar usuários lentos ou aumentar latência. Em assistentes residenciais, o mecanismo melhora fluidez e evita respostas prematuras; ainda assim, ruído, pausas naturais, fala sobreposta e perda de pacotes podem causar cortes ou espera excessiva.
Diferentemente da detecção de atividade de voz, que classifica pequenos quadros como fala ou não fala, a detecção de fim de fala decide se o turno do usuário foi concluído e o sistema pode parar de ouvir, finalizar o ASR e responder. O mecanismo pode usar um timeout de silêncio, mas sistemas avançados combinam VAD, prosódia, duração, pontuação do ASR, palavras parciais e contexto linguístico. Pausas de 500–1.500 ms são comuns em produtos, porém não constituem padrão universal. Um limiar curto reduz latência e aumenta cortes; um longo evita interrupção, mas deixa a conversa lenta. Em casa inteligente, o detector deve lidar com ruído, idosos, crianças, disfluências, comandos compostos e fala sobreposta. O erro pode executar uma intenção incompleta.
- VAD e end-of-utterance resolvem níveis diferentes. VAD pode dizer “não há fala neste quadro de 20 ms”. Isso não significa que o usuário terminou; ele pode estar respirando, pensando ou fazendo pausa entre cômodo e valor. O endpointer agrega sequência e contexto. Um sistema simples inicia um timer quando o VAD vira silêncio e encerra após, por exemplo, 800 ms. Histerese evita alternância. Um pre-roll mantém áudio antes do início; um hangover mantém após. Os parâmetros variam com ruído. Se o timeout é fixo, “acenda a luz da... cozinha” pode ser cortado. O sistema deve testar padrões. A decisão pode ser revisada se fala retorna antes da resposta.
- Modelos semânticos usam hipóteses parciais do ASR. A frase “coloque a temperatura em” está incompleta e sugere esperar, mesmo após uma pausa. “Apague as luzes da sala” parece completa. Um classificador de fim de turno pode combinar tokens, probabilidade, pontuação acústica e prosódia. Isso reduz latência sem cortar. Porém, depende do idioma e modelo. Português tem estruturas e hesitações. Nomes de dispositivos desconhecidos podem parecer final. O modelo precisa de dados reais. Uma falha do ASR pode transformar frase completa em incompleta ou vice-versa. O sistema mantém limite máximo para não ouvir indefinidamente. A decisão é um score calibrado, não certeza.
- A latência percebida é composta. Após o último fonema, há timeout de endpoint, finalização do ASR, NLU/LLM, ferramentas e TTS. Reduzir 500 ms no endpoint pode melhorar muito, mas aumentar cortes custa mais. Métricas incluem endpoint latency, cut-off rate, false endpoint, over-wait e task success. p50 e p95. Para comandos curtos, timeout menor. Para ditado, maior. O sistema pode adaptar por intenção e usuário, com consentimento. Um modo acessível permite pausas longas. Push-to-talk elimina parte da decisão: soltar botão indica fim. Essa alternativa é importante em ambientes ruidosos e para pessoas com fala atípica. O usuário deve poder escolher.
- Barge-in e fala sobreposta complicam. O assistente pode estar falando e o usuário interrompe. AEC remove TTS; VAD detecta nova voz; o sistema interrompe saída e inicia turno. Se a TV fala, pode falso. Wake word, direção e perfil ajudam. Em conversa com duas pessoas, diarização pode indicar mudança. O detector não deve encerrar uma pessoa porque outra fez ruído. Overlap pode. Para ações críticas, uma transcrição incompleta não executa. O sistema verifica gramática e slots. “Abra o” não tem alvo. Se o endpoint corta, NLU deve pedir esclarecimento. O erro em uma camada não pode virar ação por adivinhação.
- Ambientes com perda de pacotes e streaming precisam de tolerância. Áudio chega em frames. Jitter buffer reordena. Um gap de rede pode parecer silêncio e disparar fim. O servidor usa timestamps, sequência e sinal de perda. Não encerra por pacote perdido isolado. Em processamento cloud, latência de uplink e buffer. Local reduz. O cliente pode fazer VAD e o servidor endpointer semântico, mas sincronização. Se a rede cai, o dispositivo deve cancelar ou usar processamento local, não enviar fragmento antigo depois. A privacidade exige parar captura ao detectar fim e sinalizar. Não manter microfone aberto sem necessidade. O áudio residual é descartado conforme política.
- O detector deve ser ajustado por impacto. Para luz, uma resposta prematura pode ser corrigida. Para portão, qualquer intenção incompleta exige confirmação. A política usa transcrição final, slots e autenticação. O endpointer não autoriza. Testes incluem hesitações “é...”, números, listas, negações, ruído, tosse, respiração, crianças, idosos e sotaques. Compare timeouts e modelo. A atualização do ASR pode alterar. Um mecanismo adaptativo não deve aprender silenciosamente uma pausa de usuário e compartilhar com outros. Perfis são opcionais. O sistema oferece feedback visual de que está ouvindo e um botão de cancelar. Conversação natural exige rapidez, mas segurança exige reconhecer incerteza.