Inicio/Volumen II/Un chatbot que te escucha

🎙️ Un chatbot que te escucha y te habla

Un asistente al que le hablas por el micrófono y te responde en voz alta. Todo con IA local: reconocimiento de voz, cerebro y voz sintética, sin enviar tu audio a ningún servidor. Ideal para accesibilidad, atención al cliente o manos libres.

🎯 Objetivos de aprendizaje
  • Qué son STT (voz a texto) y TTS (texto a voz).
  • Qué herramientas open source usar en 2026 y por qué.
  • Montar un asistente de voz completo en local.

Conceptos clave

Un asistente de voz encadena tres piezas:

  1. STT (Speech To Text): convierte tu voz en texto.
  2. El modelo de lenguaje (Ollama) piensa la respuesta.
  3. TTS (Text To Speech): convierte la respuesta en voz.
🧠 En cristiano: STT y TTS. STT es “el oído”: escucha y escribe lo que dices. TTS es “la boca”: lee un texto en voz alta. Entre medias, el modelo de lenguaje es “el cerebro”. Tres piezas, un asistente.

Como son tres piezas en cadena, el tiempo total de respuesta es la suma de las tres: lo que tarda en entenderte, en pensar y en hablar. Por eso, para que la conversación sea fluida, conviene que cada pieza sea rápida.

🧠 En cristiano: latencia y “tiempo real”. La latencia es lo que tardas en obtener respuesta desde que dejas de hablar. Si es de varios segundos, la charla se hace incómoda. Las herramientas “de tiempo real” (como Moonshine para el oído) empiezan a transcribir mientras hablas, en lugar de esperar a que termines: por eso se notan mucho más ágiles.
💡 Idea clave. El cuello de botella casi siempre es el cerebro (el modelo de lenguaje), no el oído ni la boca. Si tu asistente va lento, lo primero que hay que probar es un modelo de Ollama más pequeño o más rápido.

Qué herramientas usar (edición 2026)

El panorama cambió respecto a años anteriores. Recomendaciones actuales:

PiezaOpciones recomendadas 2026
STT (oído)Moonshine (rápido, tiempo real, ideal en portátil); Nemotron 3.5 ASR (muchos idiomas, con GPU); faster-whisper para transcripción de archivos.
TTS (boca)Kokoro y piper1-gpl (ligeros, rápidos); MagpieTTS (multi-idioma con GPU); F5-TTS si quieres clonar una voz.
⚠️ Cuidado. Verás en internet guías que recomiendan Piper (clásico) o XTTS: en 2026 el primero está archivado (usa su sucesor piper1-gpl) y el segundo está parado. Si una guía vieja no funciona, suele ser por esto.
Requisitos
Claude Code, Node.js, Ollama (qwen3:4b) y un micrófono. Las herramientas de voz las instalará Claude Code; en algún caso hará falta Python, que también te ayudará a instalar.

Paso a paso

⌨️ Terminal
cd ~/proyectos-ia
mkdir asistente-voz
cd asistente-voz
claude
💬Escribe esto a Claude Code
Crea un asistente de voz que funcione 100% en local: - STT con Moonshine (voz a texto en tiempo real). - El cerebro es Ollama con "qwen3:4b". - TTS con Kokoro (respuesta en voz alta), en español. - Interfaz web: un botón de micrófono; muestra lo que entendió y reproduce la respuesta en audio. - Explica en el README qué instalar y cómo arrancarlo. Guíame paso a paso e indícame los permisos que apruebe.
🧠 En cristiano: permiso del micrófono. La primera vez, el navegador te pedirá permiso para usar el micrófono. Acéptalo: es una autorización local del navegador, no envía nada a internet.

Un ejemplo, paso a paso, de lo que ocurre

Imagina que dices “¿qué tiempo hará mañana?”. Por dentro sucede esto, en menos de un par de segundos:

  1. El oído (Moonshine) escucha y escribe: ¿qué tiempo hará mañana?
  2. Ese texto va al cerebro (Ollama), que redacta una respuesta.
  3. El texto de la respuesta va a la boca (Kokoro), que genera el audio.
  4. El navegador reproduce ese audio: oyes la contestación.

Entender esta secuencia te ayuda a depurar: si no te entiende, el problema está en el oído; si responde raro, en el cerebro; si no suena, en la boca.

⚠️ Cuidado. El eco/acople. Si los altavoces están altos, el micrófono puede “oírse a sí mismo” y el asistente se responde solo en bucle. Solución: usa auriculares, o pide a Claude Code que silencie el micrófono mientras el asistente habla. Es el fallo más típico y despista mucho.

Ejecutar en tu ordenador

⌨️ Terminal
npm install
npm run dev

Abre la dirección local, pulsa el botón del micrófono y di algo.

✅ Comprueba que funciona. Deberías ver escrito lo que dijiste y oír la respuesta. Si entiende tu voz y te contesta hablando, has montado un asistente de voz completo en tu máquina.
💾 Guardar y reabrir el proyecto.
Proyecto: carpeta asistente-voz. Cerrar: Ctrl + C. Reabrir: cd ~/proyectos-ia/asistente-voz y npm run dev. Si añadiste piezas de Python, no hace falta reinstalarlas cada vez.

Si algo falla

  • No capta el micrófono — revisa el permiso del navegador y que el micro correcto esté seleccionado.
  • La voz suena robótica o en otro idioma — pide a Claude Code otra voz/idioma de Kokoro o prueba MagpieTTS.
  • Tarda mucho — usa un modelo de lenguaje más pequeño; la voz en sí es rápida.

Reto para practicar

Une este capítulo con el anterior: haz que puedas preguntarle por voz a tus PDF y te conteste hablando. Es combinar dos proyectos que ya entiendes.