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:
Folzo
2026-04-08 12:50:57 +02:00
parent 33f22343a3
commit b93148c511
6 changed files with 673 additions and 0 deletions
+24
View File
@@ -0,0 +1,24 @@
# Audio Documentation
## Fichiers
- [TTS Research](tts-research.md) - Recherche solutions Text-to-Speech
- [STT Research](stt-research.md) - Recherche solutions Speech-to-Text
## Résumé
### TTS (Text-to-Speech)
| Solution | Status | VRAM | Notes |
|----------|--------|------|-------|
| openedai-speech | ✅ Production | ~4GB | Archivé |
| Voxtral TTS | 🔬 Recherche | 16GB+ | En attente quantization |
| Kokoro-FastAPI | 🔬 Alternative | ~2-4GB | Si Voxtral indisponible |
### STT (Speech-to-Text)
| Solution | Status | Compute | Notes |
|----------|--------|---------|-------|
| faster-whisper | ✅ Production | CPU | Actuel |
| Voxtral STT | 🔬 Recherche | GPU | Cloud API possible |
---
*Dernière mise à jour: Avril 2026*
+157
View File
@@ -0,0 +1,157 @@
# STT (Speech-to-Text) Research - Avril 2026
## Objectif
Évaluer les solutions STT pour intégrer Voxtral de Mistral ou améliorer faster-whisper.
---
## Solutions Évaluées
### 1. Voxtral STT (Mistral) ⭐ INTÉRÊT FUTUR
#### Caractéristiques
| Caractéristique | Valeur |
|-----------------|--------|
| **Modèle** | `mistralai/Voxtral-Mini-4B-Realtime-2602` |
| **Type** | Streaming ASR (Speech-to-Text) |
| **License** | Apache-2.0 ✅ |
| **Langues** | 13 |
| **VRAM** | ≥16GB (BF16) |
| **Source** | [Hugging Face](https://huggingface.co/mistralai/Voxtral-Mini-4B-Realtime-2602) |
#### Avantages
- ✅ OpenWebUI support natif via API Mistral
- ✅ Streaming avec latence configurable (80ms - 2400ms)
- ✅ Apache-2.0 license
- ✅ Peut tourner sur vLLM ou Transformers
#### Inconvénients
- ⚠️ 16GB VRAM minimum (BF16)
- ⚠️ Requiert configuration spéciale pour streaming
#### Configuration OpenWebUI (Cloud API)
```yaml
Speech-to-Text Engine: MistralAI
API Key: your-mistral-api-key
STT Model: voxtral-mini-latest
```
#### Alternative: Voxtral Mini Transcribe 2
| Modèle | Type | Description |
|--------|------|-------------|
| `voxtral-mini-transcribe-26-02` | Premier | Dernière version |
| `voxtral-mini-transcribe-realtime-26-02` | Open | Streaming temps réel |
---
### 2. Faster-Whisper (Actuel) 🔵 EN PRODUCTION
#### Caractéristiques
| Caractéristique | Valeur |
|-----------------|--------|
| **Modèle** | `Systran/faster-whisper-large-v3` |
| **Compute** | CPU (int8) |
| **Langue** | Français |
| **API** | Custom FastAPI (effi-stt) |
| **Port** | 8200 |
#### Avantages
- ✅ Fonctionne actuellement en production
- ✅ Gratuit (pas d'API key)
- ✅ Local (vie privée)
- ✅ Performance acceptable sur CPU
#### Inconvénients
- ⚠️ CPU only (plus lent que GPU)
- ⚠️ Utilisation effi-stt custom (à maintenir)
#### Setup Actuel
```yaml
# OpenWebUI Configuration
AUDIO_STT_ENGINE: openai
AUDIO_STT_OPENAI_API_BASE_URL: http://192.168.1.11:8200/v1
AUDIO_STT_OPENAI_API_KEY: anything
AUDIO_STT_MODEL: Systran/faster-whisper-large-v3
```
#### Code Source
`effi-stt/main.py` - FastAPI wrapper autour de faster-whisper
---
### 3. Whisper OpenAI API (Cloud)
#### Caractéristiques
| Caractéristique | Valeur |
|-----------------|--------|
| **Modèle** | whisper-1 |
| **Coût** | Payant (par minute) |
| **API Key** | OpenAI requise |
#### Configuration OpenWebUI
```yaml
Speech-to-Text Engine: OpenAI
API Key: your-openai-api-key
```
---
## Comparatif STT
| Critère | Voxtral (Cloud) | Faster-Whisper | Whisper (Cloud) |
|---------|------------------|----------------|-----------------|
| **Coût** | Per-minute | Gratuit | Payant |
| **Vie privée** | ❌ Cloud | ✅ Local | ❌ Cloud |
| **VRAM** | 16GB+ (si local) | 0 (CPU) | 0 |
| **OpenWebUI** | Natif | Custom API | Natif |
| **French** | ✅ | ✅ | ✅ |
---
## Recommandations
### Pour Usage Personnel (Actuel)
**Garder faster-whisper** car:
- Gratuit et local
- Fonctionne bien pour le français
- Pas de dépendance cloud
### Pour Amélioration Future
**Considérer Voxtral si:**
- OpenWebUI intègre le support natif local
- Vous avez un GPU avec ≥16GB VRAM disponible
- Vous voulez améliorer la qualité
---
## Notes Techniques
### Modèles Faster-Whisper Disponibles
| Modèle | Paramètres | Langues | Taille |
|--------|------------|---------|--------|
| tiny | 39M | 99 | ~75MB |
| base | 74M | 99 | ~150MB |
| small | 244M | 99 | ~500MB |
| medium | 769M | 99 | ~1.5GB |
| large-v3 | 1.56B | 99 | ~3GB |
### Configuration ACTUELLE
```python
# effi-stt/main.py
MODEL_SIZE = "large-v3"
DEVICE = "cpu"
COMPUTE_TYPE = "int8"
LANGUAGE = "fr"
```
---
## Sources
- [Voxtral Mini Transcribe](https://huggingface.co/mistralai/Voxtral-Mini-4B-Realtime-2602)
- [Faster-Whisper](https://github.com/SYSTRAN/faster-whisper)
- [OpenWebUI STT Docs](https://docs.openwebui.com/features/chat-conversations/audio/speech-to-text/)
---
*Document créé: Avril 2026*
*Dernière mise à jour: Avril 2026*
+187
View File
@@ -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*