Ana Brainiall

Conversa por voz (STT → LLM → TTS pipeline)

avancado · 12 min · Por Ana Brainiall

La anatomía de una conversación por voz

Conversar por voz con IA es una cadena de 3 APIs:

`
[Hablas] → Micrófono → STT (Whisper) → texto

LLM (Claude/GPT)

[Escuchas] ← Altavoz ← TTS (pf_dora) ← texto
`

Cada etapa tiene latencia. Para que la experiencia parezca natural (como una conversación humana), el total debe mantenerse por debajo de 1.5 segundos. En 2026, esto es alcanzable, pero requiere una ingeniería cuidadosa.

diagrama de fluxo com 3 blocos coloridos — STT (azul), LLM (roxo), TTS (verde) —

Latencia realista en 2026

Medición en una conversación real en Brainiall:

Total first-token-to-speech: 1150-2150ms. Aceptable si el modelo empieza a "hablar" pronto (streaming).

El streaming lo es todo

Sin streaming, cada etapa espera a que termine la anterior: 600ms + 900ms + 500ms = 2000ms como mínimo.

Con streaming:
- STT puede comenzar a transcribir mientras aún estás hablando (VAD — Voice Activity Detection)
- LLM empieza a generar tokens antes de que STT termine (con cierta predicción de la intención)
- TTS comienza a narrar las primeras palabras mientras LLM aún genera las últimas

La latencia efectiva cae a 400-700ms. Suena natural.

VAD: cuándo dejar de escuchar

El problema más sutil: detectar que dejaste de hablar. Si se detiene demasiado pronto, corta tu frase. Si se detiene tarde, añade 500ms de latencia.

Técnicas:
- Silencio absoluto por 600ms: simple, pero no maneja las pausas naturales de pensamiento
- Silero VAD: modelo neuronal que detecta el fin de frase con ~95% de precisión en <50ms
- Confidence from STT: Whisper devuelve confidence; si cae, probablemente terminaste
- Interruption detection: el usuario vuelve a hablar → cancela el TTS en curso, reinicia el ciclo

Brainiall usa Silero VAD + umbral dinámico de silencio (se ajusta según el entorno).

Elección del modelo: latencia vs. calidad

En modo de voz, generalmente vale la pena sacrificar un poco de calidad del LLM para ganar velocidad:

Para conversaciones donde calidad > latencia (ej: tutor de idiomas detallado), sube a Claude Sonnet 4.6 o GPT-5 completo.

Casos de uso que el modo de voz resuelve muy bien

Errores comunes

diagrama de armadilhas — 4 situações comuns com ícones + solução; barulho (heads

Implementación básica en el navegador

Para experimentación rápida:

`javascript
// 1. Captura
const stream = await navigator.mediaDevices.getUserMedia({audio: true});
const mediaRecorder = new MediaRecorder(stream);

// 2. Envía chunks cada 500ms
mediaRecorder.ondataavailable = async (e) => {
const formData = new FormData();
formData.append('file', e.data);
const r = await fetch('/api/transcribe', {method:'POST', body: formData});
const {text} = await r.json();
// 3. Envía al LLM, recibe respuesta
// 4. Envía respuesta a /api/tts, reproduce el resultado
};
mediaRecorder.start(500);
`

Brainiall ya ofrece esto listo en el chat: haz clic en el micrófono y mantén presionado.

Pruébalo ahora mismo

En el chat de Brainiall, haz clic en el ícono del micrófono y mantenlo presionado. Habla, suéltalo y recibe la respuesta en texto + audio. El plan Pro US$5.99 incluye voz completa; el plan Business desbloquea voces premium + latencia prioritaria.

¿Te gustó el curso?

Desbloquea 17 cursos Pro + 40+ IAs en chat + generación de video, música y Studio completo.

Hazte Pro · US$5.99/mes

Cancela cuando quieras · Sin compromiso