docs: add audio TTS/STT research and GPU optimization documentation
- Add docs/audio/tts-research.md with Voxtral TTS, Kokoro-FastAPI, openedai-speech comparison - Add docs/audio/stt-research.md with Voxtral STT, faster-whisper options - Add docs/gpu/optimization.md with OLLAMA_KEEP_ALIVE and VRAM management - Add docs/README.md with architecture overview - Add index files for docs navigation Research conducted April 2026 for future audio improvements
This commit is contained in:
@@ -0,0 +1,187 @@
|
||||
# TTS (Text-to-Speech) Research - April 2026
|
||||
|
||||
## Objectif
|
||||
Évaluer les solutions TTS pour intégrer Voxtral de Mistral ou améliorer la solution existante (openedai-speech).
|
||||
|
||||
---
|
||||
|
||||
## Solutions Évaluées
|
||||
|
||||
### 1. Voxtral TTS (Mistral) ⭐ PRIORITÉ FUTURE
|
||||
|
||||
#### Caractéristiques
|
||||
| Caractéristique | Valeur |
|
||||
|-----------------|--------|
|
||||
| **Modèle** | `mistralai/Voxtral-4B-TTS-2603` |
|
||||
| **Taille** | 4B paramètres |
|
||||
| **License** | CC BY-NC 4.0 (non-commercial) |
|
||||
| **Langues** | 9 (English, French, German, Spanish, Dutch, Portuguese, Italian, Hindi, Arabic) |
|
||||
| **Source** | [Hugging Face](https://huggingface.co/mistralai/Voxtral-4B-TTS-2603) |
|
||||
|
||||
#### VRAM Requirements
|
||||
| Quantization | VRAM | Status |
|
||||
|--------------|------|--------|
|
||||
| BF16 (original) | 16GB+ | ✅ Fonctionne avec vLLM-Omni |
|
||||
| F16 | ~9GB | ❌ Non supporté par vLLM-Omni |
|
||||
| Q8_0 | ~5GB | ❌ Non supporté par vLLM-Omni |
|
||||
| Q4 (GGUF) | ~3GB | ❌ Non supporté par vLLM-Omni |
|
||||
|
||||
#### Limitations Actuelles
|
||||
- **vLLM-Omni ne supporte que le modèle BF16 officiel** (16GB VRAM minimum)
|
||||
- Les quantizations GGUF (Q4, Q8) utilisent llama.cpp/Burn et ne sont pas compatibles
|
||||
- Votre RX 7800 XT 16GB est pile à la limite
|
||||
|
||||
#### Installation (si VRAM résolu)
|
||||
```bash
|
||||
# Option Docker
|
||||
docker run -d \
|
||||
--name voxtral-tts \
|
||||
--runtime rocm \
|
||||
--ipc=host \
|
||||
-p 8000:8000 \
|
||||
-v ~/.cache/huggingface:/root/.cache/huggingface \
|
||||
vllm/vllm-omni:v0.18.0 \
|
||||
vllm serve mistralai/Voxtral-4B-TTS-2603 --omni
|
||||
```
|
||||
|
||||
#### Configuration OpenWebUI
|
||||
```yaml
|
||||
TTS Engine: OpenAI
|
||||
API Base URL: http://192.168.1.11:8000/v1
|
||||
Model: mistralai/Voxtral-4B-TTS-2603
|
||||
Voice: casual_male # ou autre voix française
|
||||
```
|
||||
|
||||
#### Voix Disponibles
|
||||
20 voix préconfigurées + adaptation avec 3-25s d'audio de référence
|
||||
|
||||
#### Points de Surveillance
|
||||
- [ ] Vérifier si vLLM supporte les quantizations pour Voxtral
|
||||
- [ ] Surveiller les releases vLLM-Omni pour support quantization
|
||||
- [ ] Alternative: utiliser API Mistral (cloud) si local trop lourd
|
||||
|
||||
---
|
||||
|
||||
### 2. Kokoro-FastAPI ✅ RECOMMANDÉ SI UPGRADE
|
||||
|
||||
#### Caractéristiques
|
||||
| Caractéristique | Valeur |
|
||||
|-----------------|--------|
|
||||
| **Modèle** | Kokoro-82M (StyleTTS 2) |
|
||||
| **Taille** | 82 million paramètres |
|
||||
| **License** | Apache 2.0 ✅ |
|
||||
| **VRAM** | ~2-4 GB |
|
||||
| **Source** | [GitHub](https://github.com/remsky/Kokoro-FastAPI) |
|
||||
|
||||
#### Avantages
|
||||
- ✅ Léger (~2-4GB VRAM) - ne bloquera pas le GPU
|
||||
- ✅ 54+ voix prêtes à l'emploi
|
||||
- ✅ Voice mixing (combiner voix avec poids)
|
||||
- ✅ TTS Arena #2 (open-weight, Elo 1056)
|
||||
- ✅ OpenWebUI bien documenté
|
||||
- ✅ Development actif (4.7k stars)
|
||||
- ✅ Apache 2.0 (usage commercial OK)
|
||||
|
||||
#### Inconvénients
|
||||
- ⚠️ **Voix française limitée**: `ff_swis` (Grade B-, <11h training data)
|
||||
- ❌ Pas de voice cloning natif
|
||||
|
||||
#### Installation
|
||||
```bash
|
||||
# GPU (NVIDIA - pas ROCm pour l'instant)
|
||||
docker run --gpus all -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-gpu:latest
|
||||
|
||||
# CPU (fallback)
|
||||
docker run -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-cpu:latest
|
||||
```
|
||||
|
||||
#### Configuration OpenWebUI
|
||||
```yaml
|
||||
TTS Engine: OpenAI
|
||||
API Base URL: http://host.docker.internal:8880/v1
|
||||
API Key: not-needed
|
||||
Model: kokoro
|
||||
Voice: af_bella # ou autre voix
|
||||
```
|
||||
|
||||
#### Voix Françaises
|
||||
| Voice | Type | Grade | Notes |
|
||||
|-------|------|-------|-------|
|
||||
| `ff_swis` | Female | B- | <11 hours training data |
|
||||
|
||||
---
|
||||
|
||||
### 3. Openedai-Speech (Actuel) 🔵 EN PRODUCTION
|
||||
|
||||
#### Caractéristiques
|
||||
| Caractéristique | Valeur |
|
||||
|-----------------|--------|
|
||||
| **Modèle** | Piper TTS + XTTS v2 |
|
||||
| **License** | AGPL-3.0 |
|
||||
| **VRAM** | ~4 GB (XTTS) |
|
||||
| **Status** | **ARCHIVED** ⚠️ |
|
||||
| **Source** | [GitHub](https://github.com/matatonic/openedai-speech) |
|
||||
|
||||
#### Avantages
|
||||
- ✅ Fonctionne actuellement en production
|
||||
- ✅ Voice cloning avec XTTS v2 (6-30 sec audio)
|
||||
- ✅ 16 langues supportées
|
||||
- ✅ Vous avez déjà des voix françaises téléchargées
|
||||
|
||||
#### Inconvénients
|
||||
- ⚠️ **Archivé** - plus de mises à jour
|
||||
- ⚠️ AGPL-3.0 (copyleft)
|
||||
- ⚠️ Plus lourd (~4GB VRAM)
|
||||
|
||||
#### Solution Alternative
|
||||
`speaches.ai` - projet qui continue le développement
|
||||
|
||||
---
|
||||
|
||||
## Recommandations
|
||||
|
||||
### Pour Usage Personnel (Actuel)
|
||||
**Garder openedai-speech** car:
|
||||
- Fonctionne actuellement
|
||||
- Voice cloning français possible
|
||||
- Ne nécessite pas de changement
|
||||
|
||||
### Pour Amélioration Future
|
||||
**Surveiller dans l'ordre:**
|
||||
1. **Voxtral TTS** - Meilleure qualité française si:
|
||||
- vLLM supporte la quantization (Q4/Q8)
|
||||
- Ou si vous pouvez dédicacer 16GB VRAM
|
||||
|
||||
2. **Kokoro-FastAPI** - Si:
|
||||
- Qualité française de `ff_swis` suffit
|
||||
- Vous voulez une solution légère et active
|
||||
- Voice mixing suffit (pas besoin de cloning)
|
||||
|
||||
---
|
||||
|
||||
## Notes Techniques
|
||||
|
||||
### VRAM GPU (RX 7800 XT 16GB)
|
||||
- Modèle qwen3.5:latest (Q4_K_M): ~2.5GB
|
||||
- Voxtral BF16: ~16GB (pile à la limite)
|
||||
- Kokoro: ~2-4GB
|
||||
- openedai-speech (XTTS): ~4GB
|
||||
|
||||
### Conflicts Potentiels
|
||||
- `OLLAMA_KEEP_ALIVE=0` pourrait entrer en conflit avec vLLM-Omni
|
||||
- Tester avant déploiement en production
|
||||
|
||||
---
|
||||
|
||||
## Sources
|
||||
- [Voxtral TTS - Hugging Face](https://huggingface.co/mistralai/Voxtral-4B-TTS-2603)
|
||||
- [vLLM-Omni](https://github.com/vllm-project/vllm-omni)
|
||||
- [Kokoro-FastAPI](https://github.com/remsky/Kokoro-FastAPI)
|
||||
- [Kokoro Model](https://huggingface.co/hexgrad/Kokoro-82M)
|
||||
- [Openedai-Speech](https://github.com/matatonic/openedai-speech) (archived)
|
||||
- [TTS Arena Rankings](https://huggingface.co/spaces/TTS-AGI/TTS-Arena)
|
||||
|
||||
---
|
||||
|
||||
*Document créé: Avril 2026*
|
||||
*Dernière mise à jour: Avril 2026*
|
||||
Reference in New Issue
Block a user