Application de dictée vocale similaire à Windows (Win+H) pour Linux, compatible X11 et Wayland.
- 🎙️ Dictée vocale offline via nerd-dictation + Vosk.
- 🖥️ Compatible X11 et Wayland (détection automatique).
- 🎨 Interface minimaliste flottante et thémable.
- ⌨️ Injection automatique du texte dans l'application active.
- 🔐 Vie privée respectée : Aucun transfert de données vocales vers le cloud.
- 🌐 Support multi-langues (français, anglais, etc.).
L'installation se déroule en trois étapes : les outils système pour l'interaction avec votre bureau, l'environnement Python, et enfin le modèle de reconnaissance vocale.
linvoc n'est pas une simple application Python isolée ; elle doit interagir avec votre serveur graphique (X11 ou Wayland) pour simuler des pressions de touches (injection de texte). Pour cela, des outils système natifs sont indispensables.
# Debian / Ubuntu / Mint
sudo apt install xdotool ydotool wl-clipboard
# Fedora
sudo dnf install xdotool ydotool wl-clipboard
# Arch Linux
sudo pacman -S xdotool ydotool wl-clipboardImportant
Pour les utilisateurs de Wayland (GNOME, KDE récent) :
ydotool nécessite un démon en arrière-plan. Activez-le ainsi :
sudo systemctl enable --now ydotool
sudo usermod -aG ydotool $USER
# Redémarrez votre session pour appliquer les changements de groupe.Sur les distributions Linux modernes, Python protège son système (norme PEP 668). Vous devez utiliser un environnement virtuel pour installer des paquets proprement.
# Cloner le dépôt et entrer dedans
git clone https://github.com/struestyle/linvoc.git
cd linvoc
# Créer un environnement virtuel
python3 -m venv .venv
# Activer l'environnement
source .venv/bin/activate
# Installer linvoc en mode éditable
pip install -e .Note
Cette commande installe automatiquement toutes les dépendances nécessaires, y compris nerd-dictation, vosk et PySide6. pip génère également un script "wrapper" nommé linvoc dans le dossier .venv/bin/.
Le script install.sh automatise les étapes 2 ci-dessus et installe la commande linvoc dans ~/.local/bin/ pour qu'elle soit accessible depuis n'importe où :
git clone https://github.com/struestyle/linvoc.git
cd linvoc
./install.shLe script effectue automatiquement :
- Création du venv et installation des dépendances
- Installation d'un wrapper
linvocdans~/.local/bin/ - Vérification que
~/.local/binest dans lePATH
Note
Si ~/.local/bin n'est pas dans votre PATH, le script vous indiquera la ligne à ajouter dans votre ~/.bashrc ou ~/.zshrc.
nerd-dictation nécessite un modèle Vosk pour fonctionner hors-ligne.
# Créer le dossier de configuration
mkdir -p ~/.config/nerd-dictation
cd ~/.config/nerd-dictation
# Télécharger et extraire le modèle français
wget https://alphacephei.com/vosk/models/vosk-model-small-fr-0.22.zip
unzip vosk-model-small-fr-0.22.zip
mv vosk-model-small-fr-0.22 model
rm vosk-model-small-fr-0.22.zipDepuis n'importe quel terminal (après installation via install.sh) :
linvoc # Lancement standard
linvoc --lang en # Si vous avez un modèle anglais
linvoc --check # Vérification des dépendancesTip
Si vous n'avez pas utilisé install.sh, vous pouvez lancer depuis le dossier du projet :
./.venv/bin/linvoc ou python3 -m src.main
- Positionnez votre curseur dans un champ texte.
- Lancez linvoc (via terminal ou raccourci clavier).
- Appuyez sur Espace pour démarrer.
- Parlez (le micro devient rouge).
- Appuyez sur Espace à nouveau : le texte est injecté.
Pour utiliser linvoc comme un vrai outil système (similaire à Win+H), créez un raccourci clavier global dans vos paramètres système (ex: Super+H).
Si vous avez installé via install.sh, utilisez simplement :
linvoc --startSinon, pointez directement vers le lanceur dans votre environnement virtuel :
/chemin/complet/vers/linvoc/.venv/bin/linvoc --startTip
L'argument --start permet de lancer l'application et de commencer l'écoute immédiatement, ce qui rend l'expérience beaucoup plus fluide.
- KDE Plasma : Paramètres → Raccourcis → Commandes → Ajouter.
- GNOME : Paramètres → Clavier → Raccourcis personnalisés → Ajouter (+).
- XFCE : Paramètres → Clavier → Raccourcis d'applications → Ajouter.
- "Le texte ne s'insère pas" : Vérifiez que
xdotool(X11) ouydotool(Wayland) est installé. - "nerd-dictation non trouvé" : Réinstallez nerd-dictation via la commande pip fournie plus haut.
- Latence : La transcription locale peut prendre 1 à 2 secondes après la fin de la parole selon votre processeur.
Ce projet utilise pyproject.toml pour sa gestion.
# Pour créer un package distribuable (.whl)
pip install build
python3 -m buildVous pouvez installer n'importe quel modèle supporté par Vosk :
nerd-dictation setup-vosk <code_langue> (fr, en, de, es, it, ru, zh, etc.)
Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.