LanzamientoAPI / Producto · Listo para usarHabr AI→ original

App AI Assistant lanza un asistente de voz para PC que funciona al 100% en local

App AI Assistant crea en Windows una cadena de voz totalmente local: Vosk detecta el habla y las interrupciones, Faster-Whisper mejora la transcripcion, Gemma 3 genera la respuesta y Silero la convierte en voz. Los componentes se comunican mediante HTTP y WebSocket, por lo que el reconocimiento, la sintesis y el LLM pueden conectarse por separado a aplicaciones propias. El codigo se distribuye con licencia MIT, mientras que el instalador prepara el entorno y verifica los archivos descargados.

Procesado por IA desde Habr AI; editado por Hamidun News
App AI Assistant lanza un asistente de voz para PC que funciona al 100% en local
Fuente: Habr AI. Collage: Hamidun News.
Escuchar artículo
Ficha técnica y cifras clave
ParámetroDatos
Fuente originalHabr AI ↗
Editor jefe
Dato clave #1El asistente funciona sin API en la nube, suscripciones ni envio de conversaciones fuera del equipo.
Dato clave #2Los servicios independientes de STT, TTS y LLM son accesibles para clientes HTTP convencionales.
Dato clave #3Por ahora solo admite Windows 10/11 y requiere auriculares para conversar.

Un asistente de voz local suele funcionar bien solo sobre el papel. En la practica, el desarrollador se encuentra con una maraña de reconocimiento del habla, un modelo local, sintesis de voz, colas de audio y logica de interrupciones. App AI Assistant intenta convertir esa maraña en un producto de escritorio funcional: el usuario habla, el sistema reconoce la frase, una instancia local de Gemma 3 prepara la respuesta, Silero comienza a reproducirla por fragmentos y, cuando el usuario vuelve a hablar, la reproduccion se detiene.

El proyecto funciona sin API en la nube y esta publicado bajo la licencia MIT. Esto lo hace util no solo como un "Jarvis" listo para usar, sino tambien como ejemplo de ingenieria: sus distintas partes pueden ejecutarse de forma independiente y conectarse a aplicaciones escritas en Python, C#, Java, JavaScript o Go.

Como funciona la cadena de voz

El autor dividio el sistema en un orquestador grafico y tres servicios: srv_stt para el reconocimiento, srv_llm para generar respuestas y srv_tts para la sintesis de voz. Intercambian datos mediante HTTP y WebSocket. Este enfoque permite cambiar la interfaz o utilizar solo el componente necesario sin reescribir todo el asistente.

El reconocimiento se basa en una combinacion de Vosk y Faster-Whisper. Vosk detecta rapidamente el comienzo de una nueva intervencion y ayuda a implementar el barge-in, es decir, la interrupcion del asistente mediante la voz. A continuacion, Faster-Whisper produce una transcripcion final mas precisa. Gemma 3 genera la respuesta mediante llama-cpp-python y Silero transforma el texto en voz. Antes de la sintesis, una capa independiente normaliza los numeros y las abreviaturas, que los motores de voz suelen pronunciar de forma incorrecta.

En un ejemplo sencillo, el proceso funciona asi. El usuario pide abrir una carpeta de trabajo. El modulo de reconocimiento envia el texto al orquestador, el modelo selecciona un escenario configurado y el asistente ejecuta el script de Python correspondiente. Si el usuario pronuncia inmediatamente otro comando, Vosk detecta el habla, la reproduccion se detiene y comienza un nuevo ciclo. Entre sesiones puede conservarse un breve resumen de las conversaciones anteriores.

Por que los servicios estan separados

Cada componente esta disponible como servidor HTTP independiente. El desarrollador de una aplicacion en C# puede iniciar solo srv_stt y srv_tts para agregar una interfaz de voz. Una aplicacion Java puede consultar srv_llm como una API local. Esto resulta mas practico que una integracion monolitica, en la que sustituir el modelo o el motor de reconocimiento afecta a todo el producto.

El autor preparo un asistente de instalacion independiente. Descarga versiones portables de Python y Git, verifica los archivos mediante SHA-256, crea entornos virtuales, instala las dependencias y genera ejecutables con PyInstaller. Docker no se utiliza deliberadamente: el publico objetivo son propietarios de ordenadores Windows convencionales, para quienes WSL2, la virtualizacion y Docker Desktop supondrían una barrera adicional.

El paquete tambien incluye infrastructure2, un conjunto compartido de modulos para registro, clientes HTTP, ajustes, gestion de procesos, transmision de datos y creacion de ejecutables. No es una parte obligatoria del asistente de voz, pero el repositorio muestra como el autor reduce la duplicacion entre varios proyectos de Python.

Limitaciones y conclusion practica

Por ahora, el proyecto esta pensado exclusivamente para Windows 10 y 11. La compatibilidad con modelos esta vinculada a la plantilla de Gemma y la cancelacion de eco no esta terminada. Por eso, el sonido de los altavoces puede volver a entrar por el microfono e interpretarse como habla nueva; el autor recomienda utilizar auriculares. El repositorio infrastructure2 tambien sigue estando escasamente documentado.

Los desarrolladores deberian considerar App AI Assistant no como un sustituto universal de los asistentes en la nube, sino como un banco de pruebas listo para una interfaz de voz local. Sus puntos fuertes son una cadena transparente basada en componentes accesibles y la posibilidad de utilizar solo STT, TTS o LLM. Antes de implementarlo, es importante comprobar la latencia y el consumo de memoria en el equipo de destino, revisar los comandos de voz permitidos y aislar la ejecucion de los scripts de usuario. El funcionamiento local evita que las conversaciones se envien a la nube, pero no hace que la ejecucion de comandos sea segura por si sola.

Historia

Preguntas frecuentes sobre la noticia

Como funciona la cadena de voz?

El autor dividio el sistema en un orquestador grafico y tres servicios: srv_stt para el reconocimiento, srv_llm para generar respuestas y srv_tts para la sintesis de voz. Intercambian datos mediante HTTP y WebSocket. Este enfoque permite cambiar la interfaz o utilizar solo el componente necesario sin reescribir todo el asistente. El reconocimiento se basa en una combinacion de Vosk y Faster-Whisper.

Por que los servicios estan separados?

Cada componente esta disponible como servidor HTTP independiente. El desarrollador de una aplicacion en C# puede iniciar solo srv_stt y srv_tts para agregar una interfaz de voz. Una aplicacion Java puede consultar srv_llm como una API local. Esto resulta mas practico que una integracion monolitica, en la que sustituir el modelo o el motor de reconocimiento afecta a todo el producto. El autor preparo un asistente de instalacion independiente.

¿Qué se sabe sobre Limitaciones y conclusion practica?

Por ahora, el proyecto esta pensado exclusivamente para Windows 10 y 11. La compatibilidad con modelos esta vinculada a la plantilla de Gemma y la cancelacion de eco no esta terminada. Por eso, el sonido de los altavoces puede volver a entrar por el microfono e interpretarse como habla nueva; el autor recomienda utilizar auriculares. El repositorio infrastructure2 tambien sigue estando escasamente documentado.

ZK
Zhemal Khamidun — CPO de Alpina Digital, product manager de AlpinaGPT. Crea productos de IA desde 2019. Hamidun News es un proyecto personal que creció hasta ser un agregador en producción con más de 6.000 lectores.
✦ Unified AI Workspace · Nomad

Test Frontier LLMs & Autonomous Agents in One Workspace

Run Claude Opus 5.5, GPT-6, Gemini 3.1, and DeepSeek side-by-side in Nomad AI (nomadnet.ai) — unified model routing, deep research, and multimodal workflows under one subscription.

Try Nomad AI →Launch Nomad Agent
¿Qué te parece?
Cargando comentarios…