鈿★笍 驴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贸n | Herramienta | Enlace |
---|---|---|
Texto a Voz (TTS) | Piper TTS | GitHub |
Voz a Texto (STT) | Whisper.cpp | GitHub |
Procesamiento de Comandos | n8n + DeepSeek R1 | Gu铆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
- Gu铆a de n8n para principiantes
- Exponer servicios de voz de forma segura
- Hilo de la comunidad sobre asistentes locales