curl -fsSL https://raw.githubusercontent.com/rtk-ai/vox/main/install.sh | sh# Standard (CPU)
cargo install --path .
# macOS avec GPU Metal (recommande sur Apple Silicon)
cargo install --path . --features metal
# Linux avec GPU NVIDIA
cargo install --path . --features cuda| Composant | Pour quoi | Installation |
|---|---|---|
mlx-audio |
Backend qwen (macOS) | uv pip install mlx-audio |
sox |
Enregistrement micro (clone record, hear) | brew install sox / apt install sox |
# Parler
vox "Hello, world!"
# En francais
vox -l fr "Bonjour le monde"
# Pipe depuis une commande
echo "Message important" | vox
# Voir les voix
vox --list-voicesLa methode recommandee est d'utiliser vox comme serveur MCP :
vox initCette commande configure automatiquement tous les outils IA presents sur votre machine (Claude Code, Cursor, VS Code, Zed, etc.). Redemarrez votre outil apres l'init.
L'assistant IA pourra alors :
- Vous parler apres avoir termine une tache
- Lister et changer les voix
- Gerer vos voice clones
- Jouer des sons de packs
- Ecouter votre voix (STT, macOS)
Apres vox init, Claude Code peut utiliser les outils MCP directement :
> Corrige le bug dans auth.rs
[Claude corrige le bug, puis parle :]
"Le bug d'authentification a ete corrige. Le token etait expire
car la duree etait en secondes au lieu de millisecondes."
# Changer le backend par defaut
vox config set backend kokoro
# Voix feminine, style chaleureux
vox config set gender feminine
vox config set style warm
# Langue par defaut
vox config set lang fr
# Voir la config actuelle
vox config showCreez un clone vocal a partir d'un enregistrement audio :
# Depuis un fichier existant
vox clone add mavoix --audio ~/enregistrement.wav --text "Transcription exacte"
# Enregistrer depuis le micro (necessite sox)
vox clone record mavoix --duration 10 --text "Ce que je dis"
# Utiliser le clone
vox -v mavoix "Ceci parle avec ma voix clonee"Pour de meilleurs resultats :
- Enregistrement de 5-15 secondes
- Environnement calme, sans bruit de fond
- Parler naturellement, pas trop vite
- Fournir la transcription exacte avec
--text
Ajoutez des sons thematiques (style Warcraft peon, StarCraft, etc.) :
vox pack install peon # Installer
vox pack set peon # Activer
vox pack play greeting # "Ready to work!"
vox pack play complete # "Work complete."
vox pack play error # "Can't do that."Voir les packs disponibles : vox pack list
Discutez vocalement avec Claude :
export ANTHROPIC_API_KEY=sk-ant-...
vox chat -l frLa boucle : vous parlez → Whisper transcrit → Claude repond → vox parle la reponse.
Enregistrez et transcrivez votre voix :
vox hear -l fr
# Parlez... (s'arrete apres 2s de silence)
# => "Votre texte transcrit ici"- Latence quasi-nulle (~100ms)
- Voix Apple integrees (Samantha, Thomas, etc.)
- Support du debit (
-r 200) - Pas de voice cloning
- Zero dependance, zero configuration
- Cross-platform, necessite
kokoro-onnxetsoundfile(Python) - Bonne qualite vocale, voix pre-definies avec prefixe langue (
af_,ff_,jf_, etc.) - ~2-5s warm / ~5-8s cold start
- Pas de voice cloning
- Modele ONNX ~80 MB dans
~/.config/vox/kokoro/
- Qualite neurale superieure
- Voice cloning supporte (via
ref_audio+ref_text) - Necessite
mlx-audio+ Apple Silicon - ~1-2s warm / ~5-15s cold start
- Pipeline de chunking pour les textes longs (overlap generation/playback)
- Meme modele Qwen3-TTS mais en Rust (candle)
- Voice cloning supporte
- GPU via Metal (macOS) ou CUDA (Linux), feature flags
metal/cuda - Cross-platform, zero dependance Python
- ~2-5s warm / ~10-30s cold start
- Le modele est garde en memoire via
Mutexglobal — ideal pour le serveur MCP
| Variable | Description | Defaut |
|---|---|---|
VOX_CONFIG_DIR |
Repertoire de configuration alternatif | ~/.config/vox/ |
VOX_DB_PATH |
Chemin de base de donnees alternatif | ~/.config/vox/vox.db |
ANTHROPIC_API_KEY |
Cle API Claude (requis pour vox chat) |
Aucun |
Pour les backends qwen et qwen-native, il est possible d'utiliser un modele different :
# Via CLI
vox -b qwen-native -m "mlx-community/Qwen3-TTS-12Hz-0.6B-Base-4bit" "Texte"
# Via preference persistante
vox config set model "mlx-community/Qwen3-TTS-12Hz-0.6B-Base-4bit"Les modeles sont telecharges automatiquement depuis HuggingFace Hub au premier appel. Le modele par defaut de qwen-native est Qwen/Qwen3-TTS-12Hz-0.6B-Base. Le modele par defaut de qwen (MLX) est mlx-community/Qwen3-TTS-12Hz-0.6B-Base-bf16.
~/.config/vox/
vox.db # SQLite : preferences, clones, usage logs
clones/ # Fichiers audio des voice clones (.wav)
packs/ # Sound packs installes
peon/
manifest.json
sounds/
kokoro/ # Modele Kokoro (si utilise)
kokoro-v1.0.onnx
voices-v1.0.bin
Apres vox init, pour verifier que tout fonctionne :
# 1. Verifier que le binaire est dans le PATH
which vox
# 2. Tester le serveur MCP manuellement (Ctrl+C pour arreter)
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}' | vox serve
# 3. Verifier la configuration de Claude Code
cat ~/.claude.json | grep vox
# 4. Tester un appel complet
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}
{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}' | vox serveLe serveur doit repondre avec la liste des 14 outils. Si l'outil IA ne detecte pas vox apres l'init, redemarrez-le.
Le binaire n'est pas dans votre PATH. Verifiez avec which vox ou reinstallez.
Utilisez kokoro ou qwen-native sur Linux/Windows : vox config set backend kokoro
Tous les backends neuraux (kokoro, qwen, qwen-native) ont un temps de demarrage a froid (cold start) significant :
| Backend | Cold start | Warm start | Comment accelerer |
|---|---|---|---|
say |
~100ms | ~100ms | Rien a faire, toujours rapide |
kokoro |
~5-8s | ~2-5s | Pas de cache persistent — chaque appel CLI recharge le modele |
qwen |
~5-15s | ~1-2s | Le premier appel telecharge le modele (~1.2 GB). Ensuite, seul le startup Python est lent |
qwen-native |
~10-30s | ~2-5s | Le modele est garde en memoire dans le processus MCP. Utiliser via MCP (pas CLI) pour beneficier du warm start |
Conseil : pour la latence la plus basse avec un backend neural, utilisez vox serve (via MCP) plutot que des appels CLI individuels. Le backend qwen-native garde son modele en memoire dans un Mutex global, donc les appels suivants au meme processus sont instantanes.
Pour de meilleurs resultats avec le voice cloning :
- Format : WAV 16-bit, mono, 16-48 kHz (le WAV est recommande pour eviter les artefacts de compression)
- Duree : 5-15 secondes de parole continue
- Contenu : parler naturellement, pas trop vite, avec des phrases completes
- Environnement : calme, sans bruit de fond, sans echo
- Transcription : toujours fournir
--textavec la transcription exacte — cela ameliore significativement la qualite - Formats acceptes : wav, mp3, flac, ogg, m4a (mais WAV recommande)
Si la base SQLite est corrompue (database disk image is malformed) :
# Methode 1 : reinitialiser (perd les preferences et logs, garde les clones audio)
rm ~/.config/vox/vox.db
# La base sera recree automatiquement au prochain appel
# Methode 2 : utiliser une base temporaire pour depannage
VOX_DB_PATH=/tmp/vox_test.db vox config show
# Methode 3 : tenter une reparation SQLite
sqlite3 ~/.config/vox/vox.db ".recover" | sqlite3 ~/.config/vox/vox_recovered.db
mv ~/.config/vox/vox_recovered.db ~/.config/vox/vox.dbInstallez sox : brew install sox (macOS) ou apt install sox (Linux).
Exportez votre cle API : export ANTHROPIC_API_KEY=sk-ant-...
| Usage | Backend recommande | Pourquoi |
|---|---|---|
| Feedback rapide (1-2 phrases) | say (macOS) |
Latence ~100ms, zero configuration |
| Cross-platform, zero config | kokoro |
Marche partout, bonne qualite, pas de GPU |
| Qualite maximale | qwen ou qwen-native |
Voix neurale, prosodie naturelle |
| Voice cloning | qwen (macOS) ou qwen-native |
Seuls backends supportant le cloning |
| Serveur MCP longue duree | qwen-native |
Modele reste en memoire, warm start ~2-5s |
| Texte long (>500 chars) | qwen |
Pipeline de chunking avec overlap generation/playback |
| Machine sans GPU | kokoro ou say |
Pas de GPU requis, latence acceptable |
| Machine avec GPU (Metal/CUDA) | qwen-native |
Acceleration materielle via feature flags metal/cuda |