Numa conversa por voz, 300 milissegundos a mais entre a fala e a resposta já soam "errados"

Apostila completa de IA de Voz e Áudio: STT, TTS e Voice Agents

A voz virou uma interface de primeira classe: assistentes que conversam em tempo real, transcrição instantânea, dublagem que preserva a voz original, podcasts editados por texto. Esta apostila cobre reconhecimento de fala (STT/ASR), síntese (TTS), a arquitetura de voice agents e o orçamento de latência, clonagem de voz e áudio generativo, pipelines de produção, voz no navegador e no dispositivo, e a avaliação, segurança e acessibilidade que separam uma demo de um produto.

10 módulosWhisper · WER · diarizaçãoTTS · SSML · streamingVoice agents · barge-inLatência ponta a pontaExercícios com gabarito
MÓDULO 01 · BÁSICO

O panorama da IA de voz

Objetivo: mapear as peças (STT, TTS, voice agents, diarização, VAD, wake word, tradução de fala), entender o áudio como sinal, e por que latência é a métrica-rainha.

1.1 As peças

PeçaO que faz
STT / ASR (speech-to-text / automatic speech recognition)áudio → texto
TTS (text-to-speech)texto → áudio de fala
Voice agentconversa falada de ida e volta: ouve, entende, decide, responde — em tempo real
VAD (voice activity detection)detecta quando há fala (vs silêncio/ruído) — porteiro do pipeline
Endpointingdecide quando o interlocutor terminou de falar
Diarização"quem falou quando" — separa locutores
Wake worddetecta uma palavra de ativação ("Ok, ...") localmente, sem enviar áudio
Tradução de falafala em um idioma → texto/fala em outro (às vezes mantendo a voz)
Áudio generativoclonagem de voz, música, efeitos, foley, restauração

1.2 Áudio como sinal (o mínimo)

1.3 Latência é a métrica-rainha

Numa conversa humana, o intervalo entre um turno e outro é de ~200 ms. Um voice agent que demora > ~1 segundo para começar a responder soa "burro" ou "quebrado". Todo o resto — qualidade de STT, naturalidade de TTS, inteligência do LLM — é avaliado através da latência. Por isso a apostila volta a ela em quase todo módulo.

💡 A regra que organiza a apostila

Streaming em todos os estágios. Não espere a frase inteira para transcrever; não espere a resposta inteira do LLM para sintetizar; não espere o áudio inteiro para tocar. Cada etapa consome e produz parcialmente. É o que transforma 3 segundos de espera em 500 ms.

💼 Mercado de trabalho

Perguntas de abertura: "Quais as peças de um sistema de voz?" (STT, TTS, VAD, endpointing, diarização, wake word, o agente), "Que sample rate a fala usa?" (16 kHz mono), "Por que Opus para tempo real?" (baixa latência, robusto a perda), "Qual a métrica que domina um voice agent?" (latência ponta a ponta — alvo < ~1 s).

✏️ Exercício 1 — Identifique as peças

Para cada produto, liste as peças de IA de voz envolvidas: (a) um app que transcreve reuniões e gera ata com quem disse o quê; (b) um assistente de carro que responde a "E aí, carro..." sem internet para ativar; (c) um atendimento telefônico automatizado que resolve pedidos; (d) um app de estudo de idiomas que corrige a pronúncia do usuário.

Gabarito (uma boa resposta): (a) STT (batch, com timestamps), diarização, VAD; depois um LLM para sumarizar (fora do escopo de voz). (b) wake word local ("E aí, carro"), VAD, STT (idealmente on-device), LLM, TTS, endpointing e barge-in; tudo offline (ver Módulo 8 e a apostila IA Local & SLMs). (c) voice agent completo por telefonia (SIP): VAD + STT streaming + endpointing + LLM com function calling + TTS streaming + barge-in; robustez a 8 kHz e ruído de linha. (d) STT com timestamps por fonema/palavra e escore de confiança/pronúncia (às vezes um modelo de "pronunciation scoring" dedicado), comparando com a referência.

MÓDULO 02 · BÁSICO

Reconhecimento de fala (STT / ASR)

Objetivo: entender Whisper e alternativas, streaming vs batch, a métrica WER, diarização, e os cuidados com português, ruído e vocabulário.

2.1 Os modelos

2.2 Batch × streaming

Batch (arquivo)Streaming (ao vivo)
Usotranscrição de gravações, legendas, análisevoice agents, legendas ao vivo, ditado
Qualidademaior (contexto completo, pode reprocessar)menor (decide com contexto parcial); hipóteses mudam
Latêncianão críticacrítica — parciais em < 300 ms
Custopor minuto de áudiopor minuto de conexão/stream

2.3 WER e o que ele esconde

2.4 Recursos que você vai usar

⚠️ Erros comuns em STT

Escolher o modelo pelo WER de um benchmark em inglês. Não reamostrar para 16 kHz mono. Ignorar o vocabulário customizado (e depois reclamar que erra os nomes dos produtos). Usar batch onde precisava de streaming (e vice-versa). Não tratar as hipóteses parciais como provisórias na UI. Guardar transcrições com PII sem redação nem política de retenção (Módulo 9).

💼 Mercado de trabalho

Perguntas: "O que é WER e o que ele não mostra?" (taxa de erro de palavra; esconde erros concentrados em nomes/números e diferenças por sotaque/ruído), "Batch ou streaming — como decidir?" (gravação vs ao vivo; latência), "Como melhorar a transcrição de jargão do domínio?" (hotwords/vocabulário customizado), "Whisper local ou API?" (privacidade/custo/volume vs facilidade e recursos; testar no áudio real, sobretudo PT-BR).

✏️ Exercício 2 — Escolha e avalie STT

Você vai transcrever ligações de suporte (PT-BR, 8 kHz, ruído de fundo, muitos nomes de planos e siglas), ao vivo, para alimentar um agente. Descreva: modelo/serviço, batch ou streaming, os recursos que você ativaria, e como você mediria se está bom o suficiente.

Gabarito (uma boa resposta): Streaming (é ao vivo e alimenta um agente). Um serviço com bom PT-BR e streaming (Deepgram/Google/AssemblyAI) ou Whisper streaming self-hosted se privacidade/volume exigirem. Recursos: vocabulário customizado com os nomes de planos e siglas; endpointing ajustado para linha telefônica; formatação de números; redação de PII; confiança por palavra. Pré-processar: garantir 8→16 kHz, ganho, talvez denoise leve. Avaliação: um conjunto de 100–200 ligações reais transcritas por humanos como referência; medir WER e uma métrica de "campos-chave corretos" (nome do plano, valor, protocolo); quebrar por nível de ruído e por sotaque; testar a latência das parciais. Meta: campos-chave > 95% e parciais em < 400 ms; iterar no vocabulário e no endpointing.

MÓDULO 03 · BÁSICO

Síntese de fala (TTS)

Objetivo: entender a qualidade neural atual, o controle via SSML/markup, o streaming de áudio, a latência (time-to-first-audio), e os cuidados de pronúncia em português.

3.1 Onde o TTS está

3.2 Controle: SSML e markup

<speak>
  Bom dia. <break time="300ms"/>
  O seu pedido <emphasis level="moderate">número 4-7-2</emphasis>
  <say-as interpret-as="currency">R$ 120,00</say-as> foi enviado.
  <prosody rate="95%" pitch="-1st">Alguma outra coisa?</prosody>
</speak>

3.3 Streaming e latência

3.4 Vozes

💼 Mercado de trabalho

Perguntas: "Como você controla pausa, ênfase e pronúncia no TTS?" (SSML: break, emphasis, prosody, say-as, phoneme; ou instrução natural nos modelos novos), "O que é TTFA e qual o alvo para conversa?" (time-to-first-audio, < ~200–300 ms), "Por que números e siglas em português dão problema?" (normalização de texto; say-as), "Modelo turbo ou HD?" (conversa vs narração gravada).

✏️ Exercício 3 — Roteiro que soa bem

Uma confirmação de agendamento por voz: "Seu horário com Dr. Sá está confirmado para 03/09 às 14h30, na unidade Av. Paulista 1000, sala 512. Custo: R$ 250. Chegue 15min antes." Reescreva com o markup necessário para o TTS não errar, e diga que decisões de latência você tomaria se isso for parte de uma ligação ao vivo.

Gabarito (uma boa resposta): normalizar antes: "Dr. Sá" → garantir pronúncia ("doutor Sá"); "03/09" → <say-as interpret-as="date" format="dm"> ou escrever "três de setembro"; "14h30" → "quatorze e trinta" ou say-as de hora; "512" → provavelmente soletrar dígitos (say-as interpret-as="characters" ou "cinco, um, dois") para não virar "quinhentos e doze" se for número de sala; "R$ 250" → <say-as interpret-as="currency"> ("duzentos e cinquenta reais"); "15min" → "quinze minutos"; "Av." → "avenida"; "1000" → "mil". Inserir <break time="250ms"/> entre os blocos de informação e uma leve redução de rate nos números. Latência ao vivo: usar TTS de streaming com voz "turbo", começar a sintetizar a primeira frase assim que o LLM a terminar, e tocar em chunks; ter a confirmação como um template pré-normalizado (não gerar via LLM) para reduzir variabilidade e permitir cache de áudio de partes fixas.

MÓDULO 04 · INTERMEDIÁRIO

Voice agents em tempo real

Objetivo: as duas arquiteturas (pipeline vs speech-to-speech), a orquestração, o turn-taking (endpointing, barge-in), a telefonia, e o function calling por voz.

4.1 Duas arquiteturas

Pipeline (cascata)Speech-to-speech (nativo)
ComoVAD → STT → LLM (texto) → TTSum modelo de voz recebe áudio e devolve áudio, sem passar por texto explícito
+controle total, troca de peças, logs em texto, function calling maduro, baratolatência mínima, entoação/emoção preservadas, capta pausas e hesitações
latência acumulada, perde entoação, erros de STT propagammenos controle e observabilidade, mais caro, ecossistema mais novo, function calling em evolução
Quandoa maioria dos casos hoje: suporte, agendamento, triagem, IVRexperiências onde naturalidade máxima é o produto; cresce rápido

Muitos produtos usam híbrido: speech-to-speech para a conversa e chamadas de ferramenta/consulta em texto por baixo.

4.2 Orquestração

4.3 Turn-taking

4.4 Telefonia

4.5 Function calling por voz

💼 Mercado de trabalho

Perguntas: "Pipeline vs speech-to-speech?" (controle/observabilidade/custo vs latência/naturalidade; híbrido é comum), "O que é barge-in e por que é essencial?" (interromper o agente na hora — exige echo cancellation), "O que é endpointing e o trade-off?" (detectar fim do turno; curto corta, longo arrasta; melhor usar entoação+conteúdo), "Como conectar um agente ao telefone?" (SIP/Twilio; 8 kHz, DTMF, handoff).

✏️ Exercício 4 — Projete o agente

Um agente de voz para uma clínica: marca, remarca e cancela consultas, e transfere o resto para a recepção. Descreva a arquitetura, o turn-taking, as ferramentas, os pontos de confirmação em voz, e o fallback para humano.

Gabarito (uma boa resposta): Arquitetura: pipeline (controle e logs) ou híbrido; orquestrado por Pipecat/LiveKit/Vapi; telefonia via Twilio; STT streaming PT-BR com vocabulário (nomes de médicos, especialidades); LLM com function calling; TTS turbo. Turn-taking: endpointing por conteúdo+entoação (~600 ms de base), barge-in ativo com AEC, fillers durante consultas ao sistema. Ferramentas: buscar_paciente, listar_horarios(medico, data), agendar, remarcar, cancelar, transferir_recepcao. Confirmações em voz: repetir nome do paciente e data de nascimento para identificar; antes de agendar/cancelar, ler de volta ("Vou marcar para quarta, dia 10, às 15h com a Dra. Lima. Confirma?"). Fallback: qualquer coisa fora de marcar/remarcar/cancelar (dúvidas clínicas, convênio, reclamação, frustração detectada, 2 falhas de entendimento seguidas) → "vou te passar para a recepção" + transferir_recepcao com um resumo do contexto. Gravação com aviso de consentimento no início; retenção definida; PII redigida nos logs.

MÓDULO 05 · INTERMEDIÁRIO

Latência, streaming e qualidade de conversa

Objetivo: montar um orçamento de latência ponta a ponta, aplicar streaming em cada etapa, e lidar com eco, ruído, jitter e a naturalidade da conversa.

5.1 O orçamento de latência

Do fim da fala do usuário ao início da resposta em áudio. Alvo para soar natural: < 800 ms (aceitável até ~1.2 s).

EtapaOrçamento típicoComo cortar
Rede (captura → servidor)20–150 msservidor próximo (região), WebRTC/Opus
Endpointing (detectar fim do turno)200–600 msendpointing "inteligente" (conteúdo+entoação), não só silêncio fixo
STT final50–300 msstreaming — o texto já está quase pronto quando o turno acaba
LLM (time-to-first-token)150–500 msmodelo rápido/menor, prompt curto, prefix cache, streaming
TTS (time-to-first-audio)100–300 msmodelo turbo, sintetizar a 1ª frase assim que sair do LLM
Rede (servidor → alto-falante) + buffer20–150 mschunks pequenos, jitter buffer ajustado

As etapas se sobrepõem com streaming: enquanto o LLM gera a 2ª frase, o TTS já sintetiza a 1ª e o usuário já a ouve.

5.2 Streaming em cada estágio

5.3 Eco, ruído e rede

5.4 Naturalidade

💼 Mercado de trabalho

Perguntas: "Monte o orçamento de latência de um voice agent" (rede + endpointing + STT + LLM TTFT + TTS TTFA + buffer; alvo < 800 ms; etapas se sobrepõem com streaming), "Como o streaming reduz a latência percebida?" (cada etapa consome/produz parcialmente; TTS da 1ª frase enquanto o LLM escreve o resto), "O que é AEC e por que importa?" (echo cancellation — sem ele o agente se ouve e o barge-in quebra), "O que é o 'uncanny valley' da voz?".

✏️ Exercício 5 — Corte a latência

Um voice agent está com ~2.5 s entre o usuário parar de falar e o áudio começar. Medições: endpointing 900 ms, STT final 400 ms, LLM TTFT 700 ms, TTS TTFA 350 ms, resto 150 ms. Proponha melhorias etapa por etapa e a latência-alvo.

Gabarito (uma boa resposta): Endpointing 900→~450 ms: trocar silêncio fixo por endpointing baseado em conteúdo+entoação; reduzir o timeout base. STT 400→~150 ms: garantir streaming de verdade (a hipótese final deve estar quase pronta no fim do turno); modelo/serviço com boa latência. LLM 700→~300 ms: modelo menor/mais rápido para a conversa (rotear as tarefas difíceis), encurtar o system prompt, prefix cache do prompt fixo, começar o TTS na primeira cláusula em vez de esperar a resposta inteira. TTS 350→~200 ms: voz "turbo", chunks menores, templates pré-sintetizados para saudações/confirmações fixas. Sobreposição: deixar as etapas correrem em paralelo (LLM streaming → segmentar → TTS streaming). Alvo: ~450 (endpoint) + ~150 (STT, mas já sobreposto) + ~300 (LLM TTFT) + ~200 (TTS TTFA) + 150 ≈ ~800–900 ms percebidos, dentro do aceitável; continuar medindo p95.

MÓDULO 06 · INTERMEDIÁRIO

Clonagem de voz e áudio generativo

Objetivo: entender voice cloning e seus usos legítimos, o consentimento e os riscos (deepfake, watermarking), e o panorama de áudio generativo (música, efeitos, restauração, separação).

6.1 Clonagem de voz

6.2 Consentimento, direitos e risco

⚠️ Aviso

Esta seção é orientação prática, não aconselhamento jurídico. Direitos de voz/imagem, biometria e uso de IA variam por país (LGPD no Brasil, leis estaduais de "voz e imagem", regras específicas para publicidade e para vozes de artistas) e mudam rápido. Para produto comercial, envolva o jurídico e obtenha consentimentos formais.

6.3 Tradução e dublagem que preservam a voz

6.4 Outro áudio generativo

💼 Mercado de trabalho

Perguntas: "Quais os usos legítimos de clonagem de voz e os cuidados?" (voz de marca, narração própria, acessibilidade, dublagem com contrato — sempre com consentimento explícito, escopo e disclosure), "Como mitigar o risco de deepfake de voz?" (verificação de consentimento, bloqueio de vozes públicas, watermarking, detecção, disclosure), "Como funciona dublagem que mantém a voz?" (STT → tradução → TTS na mesma voz + sincronização), "O que é separação de fontes?".

✏️ Exercício 6 — Política de voz clonada

Um produto vai oferecer "clone sua voz para narrar seus vídeos". Escreva a política e os controles: o que exigir do usuário, o que bloquear, o que registrar, e o que comunicar ao ouvinte.

Gabarito (uma boa resposta): Exigir: o usuário grava uma frase de consentimento ditada pelo sistema ("Eu, [nome], autorizo a clonagem da minha voz para uso em [produto]...") — prova de consentimento e de que é a própria voz; aceite dos termos com escopo (uso pessoal/comercial, prazo, revogação). Bloquear: uploads que não batem com a frase de consentimento (anti-spoofing / verificação de locutor); tentativas de clonar vozes de pessoas públicas (lista + detecção); conteúdo gerado que viole as políticas (fraude, difamação). Registrar: a gravação de consentimento, o hash do modelo de voz, quem criou, quando, e um log de gerações. Comunicar: aplicar watermark inaudível em todo áudio gerado; oferecer/estimular disclosure ("voz sintetizada") conforme o contexto e a regulação; permitir revogação (apagar o modelo de voz e cessar novas gerações). Reter o mínimo, com prazo, e dar ao usuário o controle de exclusão.

MÓDULO 07 · AVANÇADO

Pipelines de produção de áudio com IA

Objetivo: montar o fluxo de pós-produção de podcast/vídeo com IA — transcrição, edição por texto, limpeza, correção, capítulos, legendas e dublagem — com qualidade de publicação.

7.1 O fluxo

  1. Ingestão: normalizar formato/sample rate; separar faixas por locutor se houver.
  2. Transcrição com timestamps por palavra e diarização (Módulo 2).
  3. Edição por texto ("Descript-style"): apagar uma frase no transcript apaga o áudio correspondente; remover silêncios longos e muletas ("é...", "tipo", "né") automaticamente, com revisão.
  4. Limpeza de áudio: denoise, de-reverb, de-ess, de-plosive, redução de respiração; leveling para uma loudness alvo.
  5. Correção: consertar uma palavra trocada regenerando um trecho na voz do locutor (com consentimento), ou regravar.
  6. Enriquecimento: capítulos/marcadores por tópico, resumo, shownotes, títulos, citações, timestamps de destaque.
  7. Legendas: SRT/VTT alinhadas, revisadas, com quebras legíveis (ver a apostila Acessibilidade Digital & WCAG).
  8. Dublagem multilíngue (opcional): tradução + TTS na voz, sincronizada.
  9. Export: masters por plataforma (podcast, YouTube, cortes verticais).

7.2 Loudness e qualidade de broadcast

7.3 Batch, custo e revisão

💼 Mercado de trabalho

Perguntas: "Descreva um pipeline de pós de podcast com IA" (transcrição+diarização → edição por texto → limpeza → correção → capítulos/shownotes → legendas → dublagem → export), "Qual a loudness alvo de um podcast?" (~−16 LUFS, true peak < −1 dBTP), "O que revisar manualmente?" (nomes/números, cortes automáticos, trechos regenerados), "Onde o custo mora?" (minuto de STT, caractere de TTS).

✏️ Exercício 7 — Automatize um podcast

Um podcast semanal de 2 locutores, 60 min por episódio, quer: transcrição, remoção de muletas/silêncios, nivelamento, capítulos, shownotes, legendas PT + dublagem EN. Descreva o pipeline, os pontos de revisão humana, e uma estimativa grosseira de onde vai o tempo/custo.

Gabarito (uma boa resposta): Ingestão (faixas separadas por locutor, se gravadas assim; senão diarização). STT com timestamps + diarização (~60 min de áudio por episódio). Edição por texto: sugerir remoção de silêncios > 700 ms e muletas, apresentar como diff para o editor aprovar (revisão humana nº 1). Limpeza: denoise + de-ess + leveling para −16 LUFS por faixa, depois soma. Capítulos: LLM sobre o transcript detecta tópicos → marcadores (revisão nº 2: títulos de capítulo). Shownotes/título/citações: LLM (revisão nº 3). Legendas PT: gerar VTT do transcript final, revisar quebras. Dublagem EN: traduzir o transcript (revisão nº 4 por alguém que fale EN), TTS nas vozes clonadas dos locutores com consentimento, sincronizar por segmento, checar timing. Export: master do episódio PT, versão EN, cortes. Tempo/custo: a maior parte do tempo humano vai na revisão da edição por texto e na revisão da tradução/dublagem; o maior custo de máquina é a dublagem (TTS por caractere de 60 min de fala) e, se em volume, o STT — considerar STT local.

MÓDULO 08 · AVANÇADO

Voz no navegador e on-device

Objetivo: capturar, processar e reproduzir voz no navegador (Web Audio, WebRTC, AudioWorklet), rodar STT/TTS/VAD localmente, e cuidar de privacidade.

8.1 Captura e transporte no navegador

8.2 STT/TTS/VAD locais no navegador

PeçaOpção no navegador
VADSilero VAD (ONNX) ou webrtcvad no cliente — barato, roda em qualquer lugar
Wake wordopenWakeWord, Porcupine (Picovoice) — local, sem enviar áudio
STTwhisper.cpp/whisper via transformers.js + WebGPU; ou a Web Speech API (SpeechRecognition) — cômoda mas com suporte irregular e, em alguns navegadores, processada na nuvem do fornecedor
TTSPiper/Kokoro via WASM/ONNX; ou speechSynthesis da Web Speech API (vozes do SO, qualidade variável); ou a API de modelo do navegador quando existir

8.3 On-device em mobile

8.4 Privacidade do áudio

💼 Mercado de trabalho

Perguntas de front-end/mobile: "Como você captura voz no navegador com baixa latência e sem eco?" (getUserMedia com echoCancellation/noiseSuppression, WebRTC, AudioWorklet para chunks), "Dá para rodar STT no navegador?" (whisper via transformers.js + WebGPU, ou Web Speech API com ressalvas), "O que roda local por padrão num assistente?" (wake word e VAD), "Como você trata a privacidade do áudio?" (biométrico/PII sensível; on-device quando dá; consentimento e retenção).

✏️ Exercício 8 — Voz no navegador

Um web app de estudo quer um "modo conversa": o usuário fala, a IA responde por voz, e ele pode interromper. Descreva a stack no navegador (captura, VAD, STT, transporte, TTS, barge-in) e o fallback, priorizando latência e privacidade.

Gabarito (uma boa resposta): Captura via getUserMedia com echoCancellation, noiseSuppression, autoGainControl. VAD no cliente (Silero via ONNX/WASM) para saber quando enviar e para o barge-in. Transporte: WebRTC para um servidor de agente (LiveKit/Pipecat) — menor latência e AEC; o servidor faz STT streaming + LLM + TTS streaming e devolve áudio em chunks. Reprodução via Web Audio API gerenciando a fila de chunks; no barge-in (VAD do cliente detecta fala durante a reprodução) → parar a fonte de áudio na hora e sinalizar o servidor para abortar o resto. Privacidade: pedir o microfone só ao entrar no modo conversa, indicador visível, não gravar por padrão, avisar que o áudio vai ao servidor durante a conversa. Fallback: sem WebRTC/WebGPU ou em rede ruim → modo "push-to-talk" (grava com MediaRecorder, envia o clipe, recebe a resposta), sem barge-in, com aviso.

MÓDULO 09 · MUITO AVANÇADO

Avaliação, segurança e acessibilidade

Objetivo: avaliar STT, TTS e agentes de voz com rigor; tratar os riscos de segurança específicos de voz; e usar (e não prejudicar) a acessibilidade.

9.1 Avaliar STT

9.2 Avaliar TTS

9.3 Avaliar voice agents

9.4 Segurança específica de voz

9.5 Acessibilidade

9.6 Viés

Modelos de fala historicamente funcionam melhor para alguns sotaques, gêneros e idiomas (mais dados). Meça o desempenho por grupo (sotaque regional, gênero, faixa etária), documente as lacunas, e escolha/afine para o seu público — não aceite o "WER médio" como suficiente.

💼 Mercado de trabalho

Perguntas: "Como você avalia um voice agent?" (task success, latência p50/p95, barge-in/endpointing corretos, conversas que descarrilam; simulação com usuário sintético para regressão), "Riscos de segurança específicos de voz?" (injeção por áudio, spoofing de locutor, PII em gravação/transcrição, deepfake — consentimento, redação, retenção, anti-spoofing), "Como a IA de voz ajuda e como pode prejudicar a acessibilidade?" (legendas/TTS/entrada por voz vs legendas não revisadas, voz como único caminho, viés de sotaque).

✏️ Exercício 9 — Plano de avaliação e risco

Você vai lançar um voice agent de cobrança (liga para clientes, negocia parcelamento). Liste: o plano de avaliação antes do go-live, os riscos de segurança/compliance e as mitigações, e dois cuidados de acessibilidade.

Gabarito (uma boa resposta): Avaliação: conjunto de ~300 cenários simulados (personas: cooperativo, irritado, confuso, tenta enganar, pede humano) rodados por um usuário sintético; medir task success (proposta correta feita/registrada), latência p95, taxa de endpointing/barge-in errados, e "descarrilamentos" (o agente prometeu desconto não autorizado? entrou em loop?). Eval de STT em PT-BR com ruído de telefone e campos-chave (valor, CPF, data). Piloto com % pequeno de chamadas + escuta humana. Segurança/compliance: aviso de gravação e identificação no início (exigência de cobrança); nunca revelar dívida a quem não é o titular (verificar identidade sem expor dados — perguntar, não afirmar); limites rígidos de negociação por ferramenta (o agente não "inventa" condição); injeção por áudio → confirmar toda ação financeira em voz e registrar; PII redigida em logs; retenção conforme a norma; anti-spoofing se houver qualquer autenticação por voz; respeitar horário legal de contato e pedido de "não me ligue mais". Acessibilidade: se a pessoa pede, oferecer o mesmo por outro canal (SMS/portal/humano) — o agente não pode ser o único caminho; ser paciente com fala atípica e não desligar após uma falha de entendimento; permitir falar com humano a qualquer momento.

MÓDULO 10 · CARREIRA

Mercado de trabalho: roadmap, entrevistas e portfólio

Objetivo: converter o conteúdo dos módulos em contratação — onde a habilidade é usada, um plano de estudo, um banco de perguntas e projetos que geram entrevista.

10.1 Onde IA de voz pesa

10.2 Roadmap de estudo (6–8 semanas)

SemanasFocoPrática
1Panorama, áudio como sinal, STT (Módulos 1–2)Transcrever 10 áudios PT-BR com Whisper (local e API); calcular WER contra referência; testar vocabulário customizado
2TTS (Módulo 3)Gerar o mesmo roteiro em 3 vozes/serviços; SSML para números e siglas; medir TTFA
3Voice agents (Módulo 4)Um agente simples com Pipecat/LiveKit/Vapi: VAD → STT → LLM → TTS, com uma ferramenta
4Latência e conversa (Módulo 5)Instrumentar o orçamento de latência do agente; ativar streaming em cada etapa; barge-in
5Pipeline de mídia (Módulo 7)Automatizar a pós de um episódio: transcrição → limpeza → capítulos → legendas VTT → dublagem de um trecho
6Navegador/on-device (Módulo 8)Um "modo conversa" web com captura WebRTC, VAD no cliente e fallback push-to-talk
7Avaliação, segurança, a11y (Módulo 9)Um harness de simulação com usuário sintético; checklist de segurança e acessibilidade
8PortfólioPublicar o agente (com números de latência), o pipeline e a avaliação de STT PT-BR

10.3 Banco de perguntas (com a resposta que aprova)

Júnior/pleno — "Quais as peças de um sistema de voz?"

VAD (detectar fala), STT/ASR (áudio→texto), o "cérebro" (LLM ou lógica), TTS (texto→áudio), e o turn-taking (endpointing = quando o usuário terminou; barge-in = interromper o agente). Mais diarização e wake word conforme o caso. A métrica que domina é a latência ponta a ponta.

Pleno — "O que é WER e o que ele esconde?"

Word Error Rate = (substituições + inserções + deleções) / palavras de referência. Esconde erros concentrados em nomes/números/jargão, e diferenças por sotaque, locutor e ruído. Para produto, medir também "acurácia de campos-chave" e quebrar por fatia.

Pleno — "Pipeline vs speech-to-speech num voice agent?"

Pipeline (VAD→STT→LLM→TTS): controle, observabilidade em texto, function calling maduro, barato — mas latência acumulada e perde entoação. Speech-to-speech (modelo de voz nativo): latência mínima e prosódia preservada — menos controle/observabilidade, mais caro. Híbrido (voz nativa + ferramentas em texto) é comum.

Pleno — "Monte o orçamento de latência."

Rede + endpointing (200–600 ms) + STT final + LLM time-to-first-token + TTS time-to-first-audio + buffer, com alvo < ~800 ms. As etapas se sobrepõem com streaming: sintetiza a primeira frase enquanto o LLM escreve o resto; endpointing inteligente (conteúdo+entoação) em vez de silêncio fixo é onde mais se ganha.

Pleno/eng — "O que é barge-in e o que ele exige?"

O usuário fala por cima do agente e o agente para de falar na hora, descarta o resto da resposta e ouve. Exige VAD sensível e echo cancellation (AEC), senão o agente capta a própria voz e "se interrompe" ou nunca para. Sem barge-in, a conversa é insuportável.

Sénior — "Como você avalia um voice agent antes do go-live?"

Simulação com usuário sintético (personas e cenários adversos) rodando centenas de conversas: task success, latência p50/p95, taxa de endpointing/barge-in errados, e detecção de "descarrilamentos" (loops, alucinação de política/preço). Eval de STT em PT-BR com as condições reais e foco em campos-chave. Piloto com % pequeno + escuta humana. Regressão a cada deploy.

Sénior — "Cuidados legais e de segurança com clonagem de voz?"

Consentimento explícito e por escrito do dono da voz, com escopo (uso, prazo, revogação); prova de que é a própria voz (frase de consentimento gravada, verificação de locutor); bloqueio de vozes de pessoas públicas; watermark no áudio gerado; disclosure conforme o contexto/regulação; retenção mínima. E que não é aconselhamento jurídico — direitos de voz/imagem e biometria variam por país.

Armadilha — "A demo do voice agent ficou ótima, é só publicar"

Demos escondem o p95 de latência em rede ruim, o barge-in que falha com eco, os sotaques que o STT erra, as conversas que descarrilam, a PII nas gravações e o consentimento. Produção exige orçamento de latência medido, simulação de regressão, avaliação por fatia, e o pacote de segurança/compliance/acessibilidade.

10.4 Projetos de portfólio que geram entrevista

  1. Voice agent em tempo real (âncora): um agente de um domínio (agendamento, suporte), com pipeline instrumentado, streaming em todas as etapas, barge-in, uma ou duas ferramentas, e um relatório de latência p50/p95 e task success.
  2. Pipeline de pós de podcast: transcrição → edição por texto → limpeza (LUFS alvo) → capítulos/shownotes → legendas VTT → dublagem de um trecho, com os pontos de revisão humana.
  3. Avaliação de STT PT-BR: um conjunto de teste próprio com sotaques/ruído/domínio, comparando 3 modelos/serviços, com WER por fatia e acurácia de campos-chave.
  4. Transcrição on-device: um app web/mobile que transcreve sem enviar áudio (whisper.cpp/transformers.js), com estratégia de download e fallback.
  5. Estudo de clonagem responsável: um fluxo de "clone sua voz" com consentimento gravado, verificação, watermark e política — documentado.

10.5 Fontes para continuar

🏁 Síntese final da apostila

Cinco ideias sustentam IA de voz: (1) latência é a métrica-rainha — alvo < ~800 ms, e o segredo é streaming em todos os estágios; (2) STT: teste no seu áudio PT-BR, meça WER por fatia e a acurácia dos campos-chave, use vocabulário customizado; (3) TTS: normalize o texto (números, siglas), controle com SSML, priorize time-to-first-audio; (4) voice agent = pipeline ou speech-to-speech + orquestrador, com endpointing inteligente e barge-in (que exige AEC); (5) produção pede avaliação por simulação, segurança de voz (injeção, spoofing, PII, deepfake com consentimento) e acessibilidade — voz nunca como caminho único.