馃帳 IA Generativa de Voz Local: Tu Asistente Punk que Habla y Escucha

鈿★笍 驴Por qu茅 un asistente de voz local?

Imagina un asistente que no solo entiende tus comandos, sino que responde con voz propia, estilo punk, y todo sin depender de la nube. Con las herramientas adecuadas, puedes montar este sistema en tu servidor casero, integrado con n8n, Home Assistant o cualquier automatizaci贸n DIY.

1锔忊儯 Herramientas esenciales

Funci贸nHerramientaEnlace
Texto a Voz (TTS)Piper TTSGitHub
Voz a Texto (STT)Whisper.cppGitHub
Procesamiento de Comandosn8n + DeepSeek R1Gu铆a

2锔忊儯 Instalaci贸n detallada

Paso 1: Instalar Piper TTS

# Descargar imagen Docker
docker pull rhasspy/piper-tts:es

# Ejecutar contenedor con voz en espa帽ol
docker run -d -p 5000:5000 rhasspy/piper-tts:es --language es

Paso 2: Configurar Whisper.cpp para STT

# Descargar modelo peque帽o (tiny) en espa帽ol
wget https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-tiny.bin

# Iniciar servicio web
docker run -d -p 6000:6000 -v ./models:/models onerahmet/openai-whisper-asr-webservice --model /models/ggml-tiny.bin

3锔忊儯 Workflow n8n paso a paso

Paso 1: Capturar audio desde un dispositivo

Usa un nodo Webhook en n8n para recibir grabaciones desde:

  • Una app m贸vil (como Tasker)
  • Un script en Raspberry Pi con micr贸fono USB
  • Home Assistant mediante integraci贸n

Paso 2: Transcripci贸n con Whisper

{
  "url": "http://localhost:6000/asr",
  "method": "POST",
  "headers": {
    "Content-Type": "audio/wav"
  },
  "body": "={{ $input }}"
}

Paso 3: Procesar comando con IA

{
  "model": "deepseek/deepseek-r1:free",
  "messages": [
    {
      "role": "system",
      "content": "Eres un asistente punk. Responde de forma breve, con jerga rebelde y sin censura. Ejemplo: '隆Vamos, enciende esa luz como un verdadero hacker!'"
    },
    {
      "role": "user",
      "content": "{{transcripcion}}"
    }
  ]
}

Paso 4: Generar respuesta de voz

{
  "url": "http://localhost:5000/api/tts",
  "method": "POST",
  "body": {
    "text": "{{respuesta_ia}}",
    "voice": "david_angry",
    "speed": 1.2
  }
}

Paso 5: Reproducir audio

  • Opci贸n 1: Usar un nodo SSH en n8n para ejecutar aplay respuesta.wav en tu servidor.
  • Opci贸n 2: Enviar el audio a un dispositivo IoT (como un Google Nest mediante emulaci贸n).

4锔忊儯 Casos de uso avanzados

Integraci贸n con Home Assistant

# automation.yaml
- alias: "Encender luces por voz"
  trigger:
    platform: event
    event_type: n8n_voice_command
  action:
    service: light.turn_on
    target:
      entity_id: light.salon

Notificaciones proactivas

Haz que tu asistente avise cuando:

  • El servidor est谩 al 90% de carga
  • Se detecta movimiento en c谩maras de seguridad
  • Hay actualizaciones pendientes en tu servidor

5锔忊儯 Soluci贸n de problemas comunes

  • Error de latencia: Usa modelos ligeros (Tiny para Whisper, voces r谩pidas en Piper).
  • Audio distorsionado: Ajusta la tasa de muestreo a 16000Hz en las grabaciones.
  • Falta de voces: Descarga m谩s voces para Piper desde HuggingFace.

馃幐 Descarga y personalizaci贸n

Todo el c贸digo, Dockerfiles y workflows est谩n disponibles en nuestro repositorio GitHub. 隆Cl贸nalo, modif铆calo y hazlo tan rebelde como quieras!

馃敆 Recursos adicionales

Por ziru