App AI Assistant lance un assistant vocal sur PC fonctionnant à 100 % en local
App AI Assistant assemble sous Windows une chaîne vocale entièrement locale : Vosk détecte la parole et les interruptions, Faster-Whisper affine la transcription, Gemma 3 formule la réponse et Silero la prononce. Les composants communiquent via HTTP et WebSocket, ce qui permet de brancher séparément la reconnaissance, la synthèse et le LLM à vos propres applications. Le code est ouvert sous licence MIT, et l'installateur prépare lui-même l'environnement et vérifie les fichiers téléchargés.
Traité par IA depuis Habr AI ; édité par Hamidun News
Un assistant vocal local n'est souvent séduisant que sur un schéma. En pratique, le développeur se retrouve avec un enchevêtrement de reconnaissance vocale, de modèle local, de synthèse vocale, de files audio et de logique d'interruption. App AI Assistant tente de transformer cet enchevêtrement en un produit de bureau fonctionnel : l'utilisateur parle, le système reconnaît la phrase, Gemma 3 en local prépare la réponse, Silero commence à la prononcer par fragments et, dès qu'une nouvelle sollicitation survient, la lecture s'arrête.
Le projet fonctionne sans API cloud et est publié sous licence MIT. Il est donc utile non seulement comme « Jarvis » prêt à l'emploi, mais aussi comme exemple d'ingénierie : chaque module peut être lancé indépendamment et connecté à des applications en Python, C#, Java, JavaScript ou Go.
Comment est conçue la chaîne vocale
L'auteur a divisé le système en un orchestrateur graphique et trois services : srv_stt pour la reconnaissance, srv_llm pour la génération de réponses et srv_tts pour la synthèse vocale. Ils échangent des données via HTTP et WebSocket. Cette approche permet de changer d'interface ou de n'utiliser que le composant voulu, sans réécrire tout l'assistant.
La reconnaissance repose sur l'association de Vosk et de Faster-Whisper. Vosk détecte rapidement le début d'une nouvelle réplique et permet d'implémenter le barge-in, c'est-à-dire l'interruption de l'assistant à la voix. Faster-Whisper produit ensuite une transcription finale plus précise. La réponse est générée par Gemma 3 via llama-cpp-python, et Silero convertit le texte en parole. Avant la synthèse, une couche distincte normalise les nombres et les abréviations, sur lesquels les moteurs vocaux se trompent souvent.
Voici un exemple simple. L'utilisateur demande d'ouvrir son dossier de travail. Le module de reconnaissance transmet le texte à l'orchestrateur, le modèle choisit un scénario configuré et l'assistant lance le script Python correspondant. Si l'utilisateur prononce aussitôt une autre commande, Vosk détecte la parole, la lecture s'arrête et un nouveau cycle commence. Un bref résumé des dialogues précédents peut être conservé entre les sessions.
Pourquoi les services sont séparés
Chaque composant est disponible comme serveur HTTP autonome. Le développeur d'une application C# peut ne lancer que srv_stt et srv_tts pour ajouter une interface vocale. Une application Java peut interroger srv_llm comme une API locale. C'est plus pratique qu'une intégration monolithique, où le remplacement d'un modèle ou d'un moteur de reconnaissance affecte tout le produit.
Pour l'installation, l'auteur a préparé un assistant dédié. Il télécharge des versions portables de Python et de Git, vérifie les fichiers par SHA-256, crée des environnements virtuels, installe les dépendances et génère les exécutables via PyInstaller. Docker n'est volontairement pas utilisé : le public cible est composé de propriétaires de PC Windows ordinaires, pour qui WSL2, la virtualisation et Docker Desktop constitueraient un obstacle supplémentaire.
Le package inclut également infrastructure2, un ensemble commun de modules pour la journalisation, les clients HTTP, les paramètres, la gestion des processus, le streaming de données et la génération d'exécutables. Ce n'est plus une partie indispensable de l'assistant vocal, mais le dépôt montre comment l'auteur réduit la duplication entre plusieurs projets Python.
Limites et enseignements pratiques
Le projet ne cible pour l'instant que Windows 10 et 11. La prise en charge des modèles est liée au modèle de prompt de Gemma, et l'annulation d'écho n'est pas terminée. Le son des haut-parleurs peut donc retourner dans le microphone et être interprété comme une nouvelle parole ; l'auteur recommande d'utiliser un casque. Le dépôt infrastructure2 est lui aussi encore peu documenté.
Les développeurs ont intérêt à voir App AI Assistant non comme un remplaçant universel des assistants cloud, mais comme un banc d'essai prêt à l'emploi pour une interface vocale locale. Sa force réside dans une chaîne transparente de composants accessibles et dans la possibilité de ne récupérer que le STT, le TTS ou le LLM. Avant tout déploiement, il importe de vérifier la latence et la consommation de mémoire sur l'ordinateur cible, d'examiner les commandes vocales autorisées et d'isoler l'exécution des scripts utilisateur. Le fonctionnement local évite l'envoi des conversations vers le cloud, mais ne rend pas à lui seul l'exécution des commandes sûre.
- 16 mai 2026Apple versera 250 millions de dollars pour les promesses non tenues sur l'IA de Siri
- 30 avr. 2026General Motors remplace Google Assistant par Gemini dans 4 millions de véhicules aux États-Unis
- 11 août 2026Google Assistant sera désactivé le 4 septembre sur Android, les montres connectées et les écouteurs
- 12 févr. 2026Amazon dévoile Alexa+ : un nouveau cap pour l'IA vocale
Questions clés sur cet article
Comment est conçue la chaîne vocale?
L'auteur a divisé le système en un orchestrateur graphique et trois services : srv_stt pour la reconnaissance, srv_llm pour la génération de réponses et srv_tts pour la synthèse vocale. Ils échangent des données via HTTP et WebSocket. Cette approche permet de changer d'interface ou de n'utiliser que le composant voulu, sans réécrire tout l'assistant. La reconnaissance repose sur l'association de Vosk et de Faster-Whisper.
Pourquoi les services sont séparés?
Chaque composant est disponible comme serveur HTTP autonome. Le développeur d'une application C# peut ne lancer que srv_stt et srv_tts pour ajouter une interface vocale. Une application Java peut interroger srv_llm comme une API locale. C'est plus pratique qu'une intégration monolithique, où le remplacement d'un modèle ou d'un moteur de reconnaissance affecte tout le produit. Pour l'installation, l'auteur a préparé un assistant dédié.
Que sait-on sur Limites et enseignements pratiques ?
Le projet ne cible pour l'instant que Windows 10 et 11. La prise en charge des modèles est liée au modèle de prompt de Gemma, et l'annulation d'écho n'est pas terminée. Le son des haut-parleurs peut donc retourner dans le microphone et être interprété comme une nouvelle parole ; l'auteur recommande d'utiliser un casque. Le dépôt infrastructure2 est lui aussi encore peu documenté.
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.
L'essentiel de l'IA — une fois par semaine
Sept actus qui ont vraiment compté, choisies à la main. Sans bruit ni communiqués.
C'est fait ! Vérifiez votre boîte mail pour la confirmation.