5703cf5871a937c4de319e9276d97048e4e2a79c
Arioch — Assistant vocal (Mistral Large + Voxtral TTS)
Assistant vocal CLI personnalisé utilisant Mistral Large pour les réponses et Voxtral TTS pour la synthèse vocale.
Prérequis
- Python 3.10+
- Une clé API Mistral : console.mistral.ai
- Lecteur audio installé :
- macOS :
afplay(inclus) - Linux :
mpg123→sudo apt install mpg123
- macOS :
Installation
# Cloner et entrer dans le projet
cd arioch-assistant
# Créer un environnement virtuel
python -m venv .venv
source .venv/bin/activate # Linux/macOS
# .venv\Scripts\activate # Windows
# Installer les dépendances
pip install -r requirements.txt
# Configurer l'environnement
cp .env.example .env
# Éditer .env et renseigner MISTRAL_API_KEY
Utilisation
python main.py
Commandes disponibles
| Commande | Description |
|---|---|
exit / quit |
Quitter l'assistant |
reset |
Effacer l'historique de conversation |
voice <id> |
Changer la voix Voxtral (voice_id) |
voice clear |
Revenir à la voix par défaut |
help |
Afficher l'aide |
Phase 2 : Voix personnalisée (clonage)
Enregistre ta propre voix (ou toute autre) avec un fichier audio de 2–3 secondes :
python scripts/register_voice.py --name "Ma voix" --audio sample.mp3 --language fr
L'ID retourné peut être ajouté dans .env :
VOICE_ID=<id_retourné>
Architecture
assistant/
├── config.py # Variables d'environnement et constantes
├── llm.py # Chat streaming avec Mistral Large (tool-call loop)
├── tts.py # Synthèse vocale Voxtral TTS
├── audio.py # Lecture audio cross-platform
├── cli.py # Boucle REPL interactive + pipeline TTS streaming
├── mcp_client.py # Gestionnaire de serveurs MCP (tool calling)
└── profile.py # Chargement des profils de personnalité YAML
mcp_servers/
└── traveller_map/ # Serveur MCP Traveller Map (sources TypeScript intégrées)
├── src/ # Sources TypeScript
├── dist/ # Build compilé (node dist/index.js)
└── package.json
profiles/
└── traveller_scout.yaml # Profil avec mcp_servers configuré
scripts/
└── register_voice.py # Enregistrement d'une voix clonée
main.py # Point d'entrée
Serveurs MCP embarqués
Les serveurs MCP sont dans mcp_servers/. Pour (re)compiler un serveur :
cd mcp_servers/traveller_map
npm install # première fois seulement
npm run build
Les serveurs sont déclarés dans le profil YAML avec un chemin relatif à la racine du projet :
mcp_servers:
- name: traveller-map
command: node
args: ["mcp_servers/traveller_map/dist/index.js"]
Description
Languages
TypeScript
56.7%
Python
43.3%