Skip to content

DARKQUAD/brobot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🤖 BroBot — Pipeline Vocal IA Local

ASR → LLM → TTS | 100 % Offline | Cross-Platform

License: GPL-3.0 Python 3.10+ Platform

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


📑 Table des matières


✨ Fonctionnalités

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

📦 Modèles locaux

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

🚀 Démarrage rapide

🪟 Windows 🐧 Debian / Ubuntu
launch.bat

Le script installe automatiquement
toutes les dépendances et lance la GUI.

chmod +x launch.sh
./launch.sh

Le script crée un virtualenv .venv/,
installe les dépendances et lance la GUI.


🔧 Installation manuelle

Dépendances de base

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)

🐧 Linux uniquement — moteur vocal espeak

sudo apt install espeak espeak-ng libespeak-dev

⚡ Accélération GPU NVIDIA

CMAKE_ARGS="-DLLAMA_CUDA=on" pip install llama-cpp-python

🏗️ Architecture des backends

👂 ASR — Reconnaissance vocale

Le 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

🧠 LLM — Génération de réponses

Backend Installation Notes
llama-cpp-python pip install llama-cpp-python GGUF, CPU/GPU, cross-platform

🗣️ TTS — Synthèse vocale

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

💻 Utilisation

🎨 Interface graphique

python app.py

⌨️ Ligne de commande

# 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

📋 Options complètes

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)

❓ Dépannage

🐧 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.


📄 Licence

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

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors