Introduction
Parler à un agent IA avec sa voix, entendre ses réponses, échanger naturellement — ce n'est plus de la science-fiction, c'est ce que propose le mode voix d'Hermes Agent. Que vous soyez au clavier, sur Telegram ou dans un salon vocal Discord, Hermes transforme votre interaction textuelle en une véritable conversation orale bidirectionnelle.
Cet article couvre l'installation, la configuration et l'utilisation du mode voix d'Hermes Agent : reconnaissance vocale (STT), synthèse vocale (TTS), et les cas d'usage concrets au quotidien.
Installation du mode voix
Prérequis système
Avant d'activer la voix, assurez-vous d'avoir les dépendances audio installées sur votre machine :
- PortAudio — outil de capture microphone et de lecture audio dans le CLI
- ffmpeg — utilitaire de conversion de format audio (MP3 vers Opus, PCM vers WAV)
- opus — codec audio nécessaire pour Discord
- espeak-ng — phonétiseur pour le TTS local optionnel (NeuTTS)
L'installation de ces dépendances varie selon votre système d'exploitation (macOS via Homebrew, Ubuntu/Debian via apt, ou Fedora via dnf).
Installation Python
Hermes Agent propose un extra dédié pour le mode voix qui installe automatiquement sounddevice et numpy. Pour la messagerie (Telegram, Discord), l'extra messaging suffit — il inclut discord.py[voice] et python-telegram-bot. Vous pouvez aussi tout installer en une seule commande avec l'extra all.
Option : Whisper local
Pour une reconnaissance vocale entièrement locale, sans aucune clé API, vous pouvez installer faster-whisper. Le modèle (environ 150 Mo pour la version base) se télécharge automatiquement à la première utilisation. Hermes fonctionne alors avec zéro clé API pour la reconnaissance vocale.
Activation du mode voix dans le CLI
Lancement et commandes
Démarrez le CLI puis activez le mode voix. À l'intérieur du CLI, utilisez les commandes slash :
/voice— basculer le mode voix on/off/voice on— activer le mode voix (réponse vocale uniquement quand vous envoyez un message vocal)/voice tts— activer la synthèse vocale pour tous les messages (texte + voix)/voice off— désactiver les réponses vocales/voice status— afficher l'état actuel
Enregistrer avec Ctrl+B
Voici comment se déroule une conversation vocale dans le CLI :
- Activez le mode voix avec
/voice on - Appuyez sur Ctrl+B — un bip retentit (880 Hz), l'enregistrement commence
- Parlez — une barre de niveau audio en temps réel affiche votre entrée
- Arrêtez de parler — après 3 secondes de silence, l'enregistrement s'arrête automatiquement
- Deux bips (660 Hz) confirment la fin de l'enregistrement
- L'audio est transcrit via Whisper et envoyé à l'agent
- Si TTS est activé, la réponse de l'agent est lue à voix haute
- L'enregistrement redémarre automatiquement — parlez à nouveau sans appuyer sur aucune touche
Cette boucle continue jusqu'à ce que vous appuyiez sur Ctrl+B pendant un enregistrement (quitte le mode continu) ou que 3 enregistrements consécutifs ne détectent aucune parole.
Astuce : la touche d'enregistrement est configurable via
voice.record_keydans~/.hermes/config.yaml(par défaut :ctrl+b).
Détection du silence
L'algorithme de détection fonctionne en deux étapes :
- Confirmation de parole — attend un signal audio supérieur au seuil RMS (200) pendant au moins 0,3 seconde, en tolérant de brèves pauses entre les syllabes
- Détection de fin — une fois la parole confirmée, déclenche après 3 secondes de silence continu
Si aucune parole n'est détectée pendant 15 secondes, l'enregistrement s'arrête automatiquement. Ces paramètres sont configurables : silence_threshold et silence_duration dans le fichier de configuration. Les bips peuvent être désactivés avec voice.beep_enabled: false.
Streaming TTS
Quand le TTS est activé, l'agent parle sa réponse phrase par phrase au fur et à mesure de la génération — vous n'attendez pas la fin de la réponse complète. Le système accumule les deltas texte en phrases complètes (minimum 20 caractères), supprime le formatage markdown et les blocs de code, puis génère et diffuse l'audio par phrase en temps réel.
Filtre anti-hallucination Whisper
Whisper génère parfois du texte fantôme à partir de silence ou de bruit de fond (« Thank you for watching », « Subscribe », etc.). Hermes filtre automatiquement ces artefacts grâce à un ensemble de 26 phrases d'hallucination connues dans plusieurs langues, plus un motif regex qui capture les variations répétitives.
Reconnaissance vocale (STT — Speech-to-Text)
Hermes Agent supporte plusieurs fournisseurs de reconnaissance vocale, avec un fallback automatique :
| Fournisseur | Modèle | Vitesse | Qualité | Coût | Clé API |
|---|---|---|---|---|---|
| Local (faster-whisper) | base |
Rapide (CPU/GPU) | Bonne | Gratuit | Non |
| Local (faster-whisper) | small |
Moyen | Meilleure | Gratuit | Non |
| Local (faster-whisper) | large-v3 |
Lent | Excellente | Gratuit | Non |
| Groq | whisper-large-v3-turbo |
Très rapide (~0.5s) | Bonne | Gratuit (tier) | Oui |
| Groq | whisper-large-v3 |
Rapide (~1s) | Meilleure | Gratuit (tier) | Oui |
| OpenAI | whisper-1 |
Rapide (~1s) | Bonne | Payant | Oui |
| OpenAI | gpt-4o-transcribe |
Moyen (~2s) | Excellente | Payant | Oui |
Priorité de fallback automatique : local → groq → openai.
Configuration STT
Dans ~/.hermes/config.yaml, définissez le fournisseur et le modèle souhaité. Les clés API optionnelles (pour Groq et OpenAI) se configurent dans ~/.hermes/.env. Des variables d'environnement permettent de surcharger le modèle par défaut pour chaque fournisseur.
Synthèse vocale (TTS — Text-to-Speech)
Hermes Agent supporte dix fournisseurs TTS, du gratuit au premium :
| Fournisseur | Qualité | Coût | Latence | Clé API |
|---|---|---|---|---|
| Edge TTS (défaut) | Bonne | Gratuit | ~1s | Non |
| ElevenLabs | Excellente | Payant | ~2s | Oui |
| OpenAI TTS | Bonne | Payant | ~1.5s | Oui |
| MiniMax TTS | Excellente | Payant | ~1.5s | Oui |
| Mistral (Voxtral) | Excellente | Payant | ~2s | Oui |
| Google Gemini TTS | Excellente | Gratuit (tier) | ~1s | Oui |
| xAI TTS | Excellente | Payant | ~1s | Oui |
| NeuTTS | Bonne | Gratuit (local) | Variable | Non |
| KittenTTS | Bonne | Gratuit (local) | Variable | Non |
| Piper | Bonne | Gratuit (local) | Variable | Non |
Configuration TTS
La configuration TTS dans ~/.hermes/config.yaml permet de choisir le fournisseur, la vitesse globale, et les paramètres spécifiques à chaque moteur (voix, modèle, identifiant). Contrôle de la vitesse : chaque fournisseur peut surcharger le multiplicateur global. La hiérarchie est : vitesse spécifique au fournisseur → tts.speed global → 1.0 par défaut.
Voix françaises recommandées avec Edge TTS
Edge TTS offre 322 voix dans 74 langues — c'est le choix idéal pour commencer (gratuit, aucune clé API). Voix FR populaires :
fr-FR-DeniseNeural— voix féminine, naturellefr-FR-HenriNeural— voix masculinefr-CA-SylvieNeural— variante québécoise
Fournisseurs de commande personnalisés
Vous pouvez intégrer n'importe quel moteur TTS externe (VoxCPM, MLX-Kokoro, XTTS CLI) via un fournisseur de type command dans le config.yaml, sans écrire de Python. Hermes écrit le texte dans un fichier temporaire, exécute votre commande, et lit le fichier audio produit.
Messages vocaux Telegram : envoi et réception
Si vous avez déjà configuré Telegram avec Hermes Agent, les messages vocaux fonctionnent immédiatement sans configuration supplémentaire.
Réception de messages vocaux
Envoyez un message vocal à votre bot Telegram — Hermes le transcrit automatiquement via Whisper et l'injecte comme texte dans la conversation. L'agent voit la transcription comme un message normal.
Envoi de réponses vocales
Activez le mode vocal dans Telegram :
/voice on— réponse vocale uniquement quand vous envoyez un message vocal/voice tts— réponse vocale pour tous les messages/voice off— mode texte uniquement (par défaut)
Format de livraison : les réponses vocales sont envoyées en bulles vocales Opus/OGG qui se jouent directement dans le chat. Si ffmpeg n'est pas installé, les providers qui produisent du MP3 envoient un fichier audio classique (lisible, mais dans un lecteur rectangulaire au lieu d'une bulle vocale).
Note sur ffmpeg
Certains fournisseurs TTS produisent nativement de l'Opus (OpenAI, ElevenLabs, Mistral) — pas besoin de conversion. D'autres comme Edge TTS, MiniMax, xAI, NeuTTS, KittenTTS et Piper nécessitent ffmpeg pour convertir vers le format Opus/OGG attendu par Telegram.
Astuce : si vous ne voulez pas installer ffmpeg, basculez vers le fournisseur OpenAI ou ElevenLabs qui produisent nativement de l'Opus.
Compatibilité par plateforme
Le mode voix fonctionne différemment selon la plateforme :
CLI
Interaction vocale complète avec Ctrl+B pour l'enregistrement et la lecture audio en temps réel. Convient aussi bien au CLI classique (hermes chat) qu'au TUI (hermes --tui).
Telegram
- Envoi et réception automatiques de messages vocaux
- Bulles vocales natives Opus/OGG
- Transcription STT automatique des messages vocaux reçus
- Réponses TTS envoyées en audio
Discord
- Messages vocaux en DM et dans les canaux texte (avec @mention)
- Salons vocaux : le bot rejoint le salon, écoute les utilisateurs, transcrit et répond à voix haute
- Pour les salons vocaux, le bot nécessite les permissions Connect + Speak + Use Voice Activity
- Prévention automatique de l'écho : le bot coupe son écoute pendant la lecture TTS
Pour approfondir la gestion des permissions et des accès sur Discord, consultez notre article sur la Sécurité et permissions dans Hermes Agent.
Limites connues
- WhatsApp : les réponses vocales sont envoyées en fichier MP3 (pas de bulle vocale native)
- Signal : pas de streaming ni d'édition de messages — les réponses vocales sont envoyées comme pièces jointes
- Le TTS local (NeuTTS, KittenTTS, Piper) dépend des performances CPU/GPU de votre machine
Cas d'usage concrets
Accessibilité
Le mode voix rend Hermes Agent accessible aux personnes ayant des difficultés avec la saisie au clavier. Que ce soit pour la navigation, la rédaction, ou la consultation de résultats, la voix offre une alternative naturelle et efficace.
Mobilité
En déplacement, les messages vocaux Telegram permettent d'interagir avec l'agent sans taper. Idéal pour demander un résumé de réunion, vérifier une information rapide, ou déléguer une tâche à l'agent pendant un trajet.
Tutoriels et podcasts
Hermes peut transformer un article en fichier audio grâce au TTS, créer des résumés vocaux de documents, ou même servir de base pour des contenus audio.
Réunions et prise de notes
Avec la reconnaissance vocale continue dans le CLI, vous pouvez dicter des notes, les faire structurer par l'agent, et obtenir un résumé propre — le tout à la voix. Grâce à la mémoire persistante d'Hermes, l'agent peut aussi se souvenir de vos notes de réunion d'une session à l'autre.
Configuration complète de référence
Voici les principales directives à configurer dans ~/.hermes/config.yaml pour le mode voix :
- Mode voix CLI : touche d'enregistrement (
record_key), durée maximale d'enregistrement (max_recording_seconds), activation automatique du TTS (auto_tts), bips sonores (beep_enabled), seuil de silence (silence_threshold) et durée de silence (silence_duration) - Reconnaissance vocale : choix du fournisseur (
local,groq,openai) et modèle associé - Synthèse vocale : choix du fournisseur, vitesse globale, et paramètres spécifiques (voix Edge TTS, modèle OpenAI, voice_id ElevenLabs, etc.)
Les clés API optionnelles (Groq, OpenAI, ElevenLabs) se configurent dans le fichier ~/.hermes/.env.
Dépannage courant
« No audio device found » (CLI)
PortAudio n'est pas installé sur votre système. Installez-le via le gestionnaire de paquets de votre distribution (Homebrew sur macOS, apt sur Ubuntu/Debian).
Le bot Discord ne répond pas dans les canaux
Dans les canaux serveur, le bot nécessite une @mention par défaut. Sélectionnez le bot utilisateur (avec le #discriminator), pas le rôle du même nom. Ou utilisez les DM. Vous pouvez aussi désactiver cette exigence via la variable d'environnement DISCORD_REQUIRE_MENTION=false.
Le bot Discord ne m'entend pas dans le salon vocal
- Vérifiez que votre ID Discord est dans
DISCORD_ALLOWED_USERS - Assurez-vous que vous n'êtes pas mute
- Le bot a besoin d'un événement SPEAKING de Discord — parlez dans les secondes qui suivent votre arrivée
Whisper retourne du texte incohérent
Le filtre anti-hallucination capture la plupart des cas. Si le problème persiste :
- Utilisez un environnement plus calme
- Augmentez
silence_thresholddans le config (plus élevé = moins sensible) - Essayez un modèle STT différent (passez de
baseàsmalloularge-v3)
Le TTS ne produit pas d'audio
- Vérifiez la clé API du fournisseur TTS et le quota
- Edge TTS (gratuit, sans clé) est le fallback par défaut
- Consultez les logs :
tail -f ~/.hermes/logs/gateway.log
Les messages vocaux Telegram s'affichent comme fichiers et non en bulles
Installez ffmpeg via le gestionnaire de paquets de votre système. Ou basculez vers un fournisseur TTS qui produit nativement de l'Opus (OpenAI, ElevenLabs, Mistral).
Erreurs courantes
- Oublier d'installer PortAudio : l'erreur « No audio device found » est la cause la plus fréquente en CLI. Toujours vérifier l'installation des prérequis système avant de activer le mode voix.
- Confondre bot utilisateur et rôle sur Discord : dans les canaux serveur, mentionner le rôle au lieu du bot utilisateur ne déclenche pas de réponse vocale.
- Utiliser Edge TTS sans ffmpeg sur Telegram : les messages vocaux s'affichent alors comme des fichiers audio rectangulaires au lieu de bulles vocales natives.
- Laisser le seuil de silence trop bas : dans un environnement bruyant, le seuil par défaut (200) provoque des déclenchements intempestifs. Montez-le à 400 ou 500 pour filtrer le bruit de fond.
Outils recommandés
- faster-whisper — pour la reconnaissance vocale 100 % locale, gratuite et sans clé API
- Edge TTS — pour la synthèse vocale gratuite avec 322 voix en 74 langues, aucun compte requis
- ffmpeg — utilitaire indispensable pour les conversions audio (MP3 vers Opus/OGG) sur Telegram et Discord
- ElevenLabs — pour une qualité vocale premium lorsque le budget le permet
- Groq — pour une reconnaissance vocale cloud ultra-rapide (~0.5s) avec un tier gratuit
L'essentiel
- Le mode voix d'Hermes Agent fonctionne sur CLI, Telegram et Discord avec une installation simple
- La reconnaissance vocale (STT) supporte le 100 % local (faster-whisper), Groq et OpenAI, avec un fallback automatique
- La synthèse vocale (TTS) offre dix fournisseurs, dont Edge TTS en gratuit par défaut
- La boucle d'enregistrement continu (Ctrl+B) permet une conversation naturelle sans interruption
- Le filtre anti-hallucination de Whisper élimine automatiquement les textes fantôme
- ffmpeg est requis pour les bulles vocales natives sur Telegram avec certains fournisseurs TTS
FAQ
Le mode voix fonctionne-t-il sans aucune clé API ?
Oui. Avec faster-whisper en STT local et Edge TTS en synthèse vocale, Hermes Agent fonctionne entièrement sans clé API et sans coût.
Puis-utiliser le mode voix sur WhatsApp ou Signal ?
Partiellement. Sur WhatsApp, les réponses vocales sont envoyées en fichier MP3 (pas de bulle vocale native). Sur Signal, les réponses vocales sont des pièces jointes sans streaming.
Comment réduire les fausses détections de parole dans un environnement bruyant ?
Augmentez le paramètre silence_threshold dans ~/.hermes/config.yaml (par défaut 200, montez à 400 ou plus). Vous pouvez aussi augmenter silence_duration pour éviter les coupures entre les mots.
Le bot Discord peut-il écouter plusieurs personnes en même temps dans un salon vocal ?
Le bot transcrit tous les utilisateurs qui parlent dans le salon, mais il répond globalement à la conversation. Il coupe automatiquement son écoute pendant la lecture TTS pour éviter l'écho.
Comment changer la touche d'enregistrement dans le CLI ?
Modifiez voice.record_key dans ~/.hermes/config.yaml. Par exemple : voice.record_key: "ctrl+shift+v".
✅ Conclusion
Le mode voix d'Hermes Agent transforme radicalement la façon dont vous interagissez avec votre agent IA. Avec une installation simple, des fournisseurs gratuits comme Edge TTS et faster-whisper, et une compatibilité étendue sur CLI, Telegram et Discord, il n'a jamais été aussi facile de parler à son assistant.
La flexibilité de configuration — du choix du fournisseur STT/TTS aux paramètres de détection de silence — permet d'adapter le mode voix à chaque contexte : accessibilité, mobilité, production de contenus audio, ou simplement la commodité de la conversation orale. Pour prolonger cette configuration, vous pouvez explorer les profils et configurations multiples d'Hermes Agent afin de basculer facilement entre différents setups vocaux selon vos besoins.