- 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
158 lines
3.9 KiB
Markdown
158 lines
3.9 KiB
Markdown
# 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*
|