Cómo ejecutar Reachy Mini completamente en local: guía práctica para empresas y desarrolladores

Aprenda a ejecutar todo el pipeline de voz de Reachy Mini en su propia máquina: VAD → STT → LLM → TTS. Esta guía explica los componentes recomendados, comandos esenciales y consideraciones de privacidad útiles para equipos en América Latina.

Por Redaccion TD

Introducción

Reachy Mini ahora puede conversar sin necesidad de enviar audio a servidores externos. Gracias a la librería speech-to-speech y a una arquitectura en cascada (VAD → STT → LLM → TTS) que expone una API /v1/realtime compatible con WebSocket, es posible montar todo el stack de voz localmente. Esto permite ejecutar la lógica de conversación y la síntesis de voz dentro de la red o en máquinas on-premises, evitando dependencias de la nube.

En esta nota describo los pasos clave para levantar el backend local, los componentes recomendados y cómo conectar el robot desde la app de escritorio. Está pensada para profesionales y equipos de producto que evalúan despliegues locales por razones de privacidad, costo o latencia, con recomendaciones prácticas que pueden intercambiarse según sus necesidades.

¿Por qué ejecutar su propio servidor speech-to-speech?

Ejecutar la pila de voz localmente ofrece tres ventajas claras:

  • Privacidad: el audio no sale de su red y el procesamiento ocurre en hardware bajo su control. Esto es relevante para cumplimiento de normativas internas y para organizaciones en América Latina que prefieren evitar transferencias de datos sensibles a servicios fuera del país.
  • Sin costos por uso: no hay cargos por minuto o por token de API, lo que facilita estimar costos operativos en despliegues a escala piloto.
  • Control total del pipeline: puede intercambiar cada etapa (VAD, STT, LLM, TTS) según evolucionen los modelos en el Hub.

La librería speech-to-speech provee una CLI que arranca un servidor WebSocket en /v1/realtime usando el mismo protocolo que Reachy Mini conoce, facilitando la integración.

Componentes recomendados y enfoque en cascada

La arquitectura en cascada divide el flujo en cuatro etapas. Hugging Face propone defaults bien equilibrados que priorizan rendimiento y facilidad de despliegue:

  • VAD: Silero VAD v5 — ligero, preciso y ejecutable en CPU.
  • STT: Parakeet-TDT 0.6B v3 — pensado para streaming, rápido y con buena calidad en inglés.
  • LLM: ejecutar localmente con llama.cpp (u otras alternativas como vLLM o Transformers) o bien mediante una Responses API si desean desacoplar la inferencia.
  • TTS: Qwen3-TTS — expresivo, de baja latencia y con soporte multilingüe.

Estos componentes son sugerencias; la ventaja de la cascada es que cada pieza puede reemplazarse cuando surjan modelos más adecuados para su idioma o caso de uso.

Levantar el LLM con llama.cpp (rápido)

Para servir el modelo localmente se recomienda usar llama.cpp. En sistemas con Homebrew o Winget la instalación es sencilla:

  • macOS: brew install llama.cpp
  • Windows: winget install llama.cpp

Un ejemplo de arranque del servidor llama es:

llama-server -hf ggml-org/gemma-4-E4B-it-GGUF -np 2 -c 65536 -fa on --swa-full

Significado de los flags (resumen):

  • -hf <modelo>: descarga el modelo desde el Hub la primera vez.
  • -np 2: dos slots paralelos para manejar interrupciones sin bloquear.
  • -c 65536: ventana de contexto de 64k para conversaciones largas.
  • -fa on: activa flash attention para mayor velocidad y menor uso de memoria.
  • --swa-full: mantiene la caché de atención para acelerar el procesamiento de prompts.

La primera ejecución descarga el modelo; las siguientes usan el caché local.

Instalar y ejecutar speech-to-speech

Instale la librería con pip:

pip install speech-to-speech

Manteniendo el servidor LLM corriendo en otra terminal, puede arrancar el motor de voz local con:

speech-to-speech --responses_api_base_url "http://127.0.0.1:8080" --responses_api_api_key "" --mode local

En modo local, la CLI inicia la pila completa y podrá interactuar con el modelo desde la terminal. En la primera ejecución descargará Parakeet-TDT 0.6B v3 y Qwen3-TTS; posteriores arranques serán más rápidos.

Para servir speech-to-speech al robot (modo que el UI de Reachy Mini consumirá), vuelva a ejecutar sin --mode local y el servidor quedará accesible para la app.

Conectar Reachy Mini

Con llama.cpp y speech-to-speech activos, abra la app de escritorio de Reachy Mini y lance la aplicación de conversación. En la interfaz, vaya a “edit connection” dentro del backend Hugging Face y seleccione el modo local apuntando al endpoint que levantó. Una vez configurado, el robot podrá enviar y recibir audio sin que los datos salgan de su red.

Alternativa: desacoplar el LLM con la Responses API

El mayor cuello de botella suele ser la latencia de la inferencia del LLM. Para mitigar esto, speech-to-speech soporta un modo en el que el LLM corre en un proceso separado que habla el protocolo Responses API. En la práctica, se ejecuta el servidor del modelo en una terminal y la capa de voz en otra, y ambas se comunican por HTTP.

Ejemplo de configuración con llama.cpp (terminal 1) y speech-to-speech (terminal 2):

Terminal 1:

llama-server -hf ggml-org/gemma-4-E4B-it-GGUF -np 2 -c 65536 -fa on --swa-full

Terminal 2:

speech-to-speech --mode realtime --stt parakeet-tdt --tts qwen3 --llm_backend responses-api --model_name "unsloth/Qwen3-4B-Instruct-2507-GGUF" --responses_api_base_url "http://127.0.0.1:8080/v1"

También es posible usar vLLM como servidor del LLM, con la condición de usar vLLM >= 0.21.0 para soporte completo del protocolo Responses API.

Personalización y consideraciones para América Latina

  • Idioma y modelos: los defaults están optimizados para un entorno multilingüe, pero si su implementación se enfoca en un solo idioma (por ejemplo, español latinoamericano) pueden evaluar modelos STT y TTS específicos para mejorar la calidad.
  • Infraestructura: para equipos en regiones con restricciones de ancho de banda o costo alto de salidas a la nube, un despliegue local reduce dependencia de conectividad permanente.
  • Privacidad y regulaciones: operar on-premises facilita el cumplimiento de políticas internas sobre datos de voz y puede ser preferible para entidades del sector salud, educación o entidades públicas en la región.
  • Intercambio de componentes: la arquitectura en cascada facilita probar nuevos VAD, motores STT o sintetizadores de voz que vayan apareciendo en el Hub.

Conclusión

Levantar Reachy Mini con un backend de voz totalmente local es viable y ofrece beneficios claros en privacidad, control y costos operativos. Usando llama.cpp para el LLM y la librería speech-to-speech para la orquestación, pueden montar una solución sin depender de APIs externas y ajustar cada etapa del pipeline a las necesidades de su organización. Para equipos en América Latina, esto representa una alternativa práctica ante limitaciones de conectividad, requisitos regulatorios o prioridades de protección de datos.

Si desea iniciar una prueba piloto, comience por instalar llama.cpp, levantar el servidor del LLM y luego ejecutar speech-to-speech en modo local. Desde ahí podrán iterar cambiando STT, TTS o LLM según el idioma, latencia y calidad que requieran.

Fuente original: Hugging Face Blog