Pipeline vocal complet tournant entièrement en local via llama-cpp-python.
Aucune connexion internet requise. Aucune donnée envoyée à l'extérieur.
🎤 audio.wav ──▶ [ ASR Whisper ] ──▶ texte ──▶ [ Qwen3.5-4B ] ──▶ réponse ──▶ [ TTS ] ──▶ 🔊 output.wav
- ✨ Fonctionnalités
- 📦 Modèles locaux
- 🚀 Démarrage rapide
- 🔧 Installation manuelle
- 🏗️ Architecture des backends
- 💻 Utilisation
- ❓ Dépannage
- 📄 Licence
| Fonctionnalité | |
|---|---|
| 🔒 | 100 % local — aucune API cloud, vos données restent privées |
| 🖥️ | Cross-platform — Windows, Debian/Ubuntu, macOS |
| ⚡ | GPU optionnel — accélération CUDA pour NVIDIA |
| 🎨 | Interface graphique — GUI moderne avec CustomTkinter |
| 🎤 | Mode interactif — conversation en temps réel au microphone |
| 🔄 | Auto-détection — sélection automatique des meilleurs backends |
Les fichiers GGUF doivent être placés dans le même dossier que app.py et pipeline.py.
| Étape | Fichier GGUF | Rôle |
|---|---|---|
| 🧠 LLM | Qwen_Qwen3.5-4B-Q5_K_M.gguf |
Génération de texte (llama-cpp-python) |
| 👂 ASR | Qwen3-ASR-0.6B-Q8_0.gguf |
Référence — ASR géré par Whisper |
| 🗣️ TTS | qwen3-tts-0.6b-q8_0.gguf |
Référence — TTS géré par pyttsx3 |
pipeline-brobot/
├── 📄 app.py
├── 📄 pipeline.py
├── 🧠 Qwen_Qwen3.5-4B-Q5_K_M.gguf
├── 👂 Qwen3-ASR-0.6B-Q8_0.gguf
└── 🗣️ qwen3-tts-0.6b-q8_0.gguf
| 🪟 Windows | 🐧 Debian / Ubuntu |
|---|---|
launch.batLe script installe automatiquement |
chmod +x launch.sh
./launch.shLe script crée un virtualenv |
pip install customtkinter Pillow sounddevice soundfile numpy scipy
pip install llama-cpp-python # LLM GGUF
pip install faster-whisper # ASR (recommandé)
pip install pyttsx3 # TTS natif (0 internet)sudo apt install espeak espeak-ng libespeak-devCMAKE_ARGS="-DLLAMA_CUDA=on" pip install llama-cpp-pythonLe backend est sélectionné automatiquement par ordre de priorité.
| Priorité | Backend | Installation | Notes |
|---|---|---|---|
| 🥇 | faster-whisper |
pip install faster-whisper |
Recommandé — CTranslate2, rapide |
| 🥈 | openai-whisper |
pip install openai-whisper |
Pur Python, universel |
| 🥉 | transformers |
pip install torch transformers |
HuggingFace, supporte GPU |
| Backend | Installation | Notes |
|---|---|---|
llama-cpp-python |
pip install llama-cpp-python |
GGUF, CPU/GPU, cross-platform |
Le backend est sélectionné automatiquement par ordre de priorité.
| Priorité | Backend | Installation | Notes |
|---|---|---|---|
| 🥇 | pyttsx3 |
pip install pyttsx3 |
SAPI5 (Win) / espeak (Linux) / nsss (Mac) |
| 🥈 | gTTS |
pip install gtts |
Google TTS — nécessite internet |
python app.py# Texte → réponse vocale
python pipeline.py --text "Quel temps fait-il aujourd'hui ?"
# Fichier audio → réponse vocale
python pipeline.py --audio ma_question.wav --output reponse.wav
# Mode interactif (microphone)
python pipeline.py --interactive
# Avec GPU NVIDIA (n couches sur GPU)
python pipeline.py --text "Bonjour" --gpu-layers 20| Option | Raccourci | Description |
|---|---|---|
--audio |
-a |
Fichier audio d'entrée (WAV/MP3) |
--text |
-t |
Texte d'entrée direct |
--interactive |
-i |
Mode microphone (blocs de 5 s) |
--output |
-o |
Fichier WAV de sortie (défaut : output_tts.wav) |
--language |
-l |
Langue : French, English, German, Spanish… (défaut : French) |
--gpu-layers |
-g |
Couches GPU pour llama-cpp (0 = CPU, -1 = tout sur GPU) |
🐧 Linux : No module named '_tkinter'
sudo apt install python3-tk🐧 Linux : pyttsx3 silencieux ou erreur espeak
sudo apt install espeak espeak-ng libespeak-dev🪟 Windows : llama-cpp-python échoue à l'installation
Essayez la version pré-compilée :
pip install llama-cpp-python --extra-index-url https://abetlen.github.io/llama-cpp-python/whl/cpu📁 Modèle GGUF introuvable
Vérifiez que les fichiers .gguf sont bien dans le même dossier que app.py et pipeline.py.
Ce projet est distribué sous licence GPL-3.0. Voir le fichier LICENSE pour plus de détails.
Fait avec ❤️ pour une IA vocale 100 % locale