docs: Document successful STT/TTS setup and next steps
This commit is contained in:
@@ -0,0 +1,233 @@
|
||||
# 🎉 SUCCÈS - Voix et Ouïe pour Effi
|
||||
|
||||
> **Date** : 05 Avril 2026
|
||||
> **Statut** : ✅ FONCTIONNEL
|
||||
> **Test réussi** : "Coucou Ify, est-ce que tu m'entends ?"
|
||||
|
||||
---
|
||||
|
||||
## ✅ Récapitulatif de l'installation
|
||||
|
||||
### 🎙️ STT (Speech-to-Text) - ✅ FONCTIONNEL
|
||||
|
||||
**Solution** : Effi-STT (notre solution maison)
|
||||
- **URL** : http://192.168.1.11:8200
|
||||
- **Modèle** : faster-whisper large-v3
|
||||
- **Langue** : Français
|
||||
- **Statut** : Transcription réussie
|
||||
|
||||
**Configuration Open WebUI** :
|
||||
```yaml
|
||||
STT:
|
||||
Engine: OpenAI
|
||||
URL: http://192.168.1.11:8200/v1
|
||||
Model: whisper-1
|
||||
Language: fr
|
||||
```
|
||||
|
||||
**Test réussi** :
|
||||
```
|
||||
Entrée : "Coucou Ify, est-ce que tu m'entends ?"
|
||||
Sortie : ✅ Transcription correcte
|
||||
```
|
||||
|
||||
### 🔊 TTS (Text-to-Speech) - ✅ FONCTIONNEL (en anglais)
|
||||
|
||||
**Solution** : openedai-speech
|
||||
- **URL** : http://192.168.1.11:8100
|
||||
- **Voix actuelle** : alloy (anglais)
|
||||
- **Statut** : Fonctionnel
|
||||
|
||||
**Configuration Open WebUI** :
|
||||
```yaml
|
||||
TTS:
|
||||
Engine: OpenAI
|
||||
URL: http://192.168.1.11:8100/v1
|
||||
Model: tts-1
|
||||
Voice: alloy
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🎯 Prochaines étapes
|
||||
|
||||
### 1. Ajouter les voix françaises au TTS
|
||||
|
||||
#### Voix féminine (Effi) - Siwis
|
||||
|
||||
```bash
|
||||
# Sur folzo-Corp
|
||||
cd ~/openedai-speech/tts-voices
|
||||
|
||||
# Télécharger la voix française féminine (Siwis)
|
||||
wget https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/fr/fr_FR/siwis/medium/fr_FR-siwis-medium.onnx
|
||||
wget https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/fr/fr_FR/siwis/medium/fr_FR-siwis-medium.onnx.json
|
||||
|
||||
# Modifier la configuration
|
||||
cat >> ~/openedai-speech/tts-config/voice_to_speaker.yaml << 'EOF'
|
||||
|
||||
# Voix françaises
|
||||
siwis:
|
||||
model: voices/fr_FR-siwis-medium.onnx
|
||||
speaker: 0
|
||||
effi:
|
||||
model: voices/fr_FR-siwis-medium.onnx
|
||||
speaker: 0
|
||||
EOF
|
||||
|
||||
# Redémarrer le service
|
||||
sudo docker compose -f ~/openedai-speech/docker-compose.yml restart
|
||||
```
|
||||
|
||||
#### Voix masculine (pour l'assistant du fils) - Gilles
|
||||
|
||||
```bash
|
||||
# Sur folzo-Corp
|
||||
cd ~/openedai-speech/tts-voices
|
||||
|
||||
# Télécharger la voix française masculine (Gilles)
|
||||
wget https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/fr/fr_FR/gilles/medium/fr_FR-gilles-medium.onnx
|
||||
wget https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/fr/fr_FR/gilles/medium/fr_FR-gilles-medium.onnx.json
|
||||
|
||||
# Alternative: Tom (autre voix masculine)
|
||||
# wget https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/fr/fr_FR/tom/medium/fr_FR-tom-medium.onnx
|
||||
# wget https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/fr/fr_FR/tom/medium/fr_FR-tom-medium.onnx.json
|
||||
|
||||
# Ajouter à la configuration
|
||||
cat >> ~/openedai-speech/tts-config/voice_to_speaker.yaml << 'EOF'
|
||||
gilles:
|
||||
model: voices/fr_FR-gilles-medium.onnx
|
||||
speaker: 0
|
||||
papa: # ou assistant, ou le nom que tu veux
|
||||
model: voices/fr_FR-gilles-medium.onnx
|
||||
speaker: 0
|
||||
EOF
|
||||
|
||||
# Redémarrer
|
||||
sudo docker compose -f ~/openedai-speech/docker-compose.yml restart
|
||||
```
|
||||
|
||||
#### Configuration Open WebUI après ajout des voix
|
||||
|
||||
```yaml
|
||||
TTS:
|
||||
Engine: OpenAI
|
||||
URL: http://192.168.1.11:8100/v1
|
||||
Model: tts-1
|
||||
Voice: siwis # Pour Effi (voix féminine FR)
|
||||
# OU
|
||||
Voice: gilles # Pour l'assistant (voix masculine FR)
|
||||
```
|
||||
|
||||
### 2. Tester les performances STT
|
||||
|
||||
**À mesurer** :
|
||||
- Temps de latence (parler → transcription affichée)
|
||||
- Qualité de transcription avec différents accents
|
||||
- Performance avec du bruit de fond
|
||||
|
||||
**Méthode de test** :
|
||||
1. Appuyer sur le micro 🎤
|
||||
2. Parler une phrase de 5-10 secondes
|
||||
3. Chronométrer le temps jusqu'à l'affichage du texte
|
||||
4. Vérifier la qualité de la transcription
|
||||
|
||||
### 3. Créer l'assistant pour le fils
|
||||
|
||||
**Idées** :
|
||||
- Modèle LLM adapté (plus simple, plus pédagogique)
|
||||
- Voix masculine française (Gilles)
|
||||
- Système de mémoire spécifique
|
||||
- Restrictions de contenu si nécessaire
|
||||
|
||||
---
|
||||
|
||||
## 📊 Architecture finale
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────────────────────────────┐
|
||||
│ EFFI - INFRASTRUCTURE │
|
||||
├─────────────────────────────────────────────────────────────────┤
|
||||
│ │
|
||||
│ folzo-Corp (192.168.1.11) │
|
||||
│ ┌─────────────────────────────────────────────────────────┐ │
|
||||
│ │ 🎙️ Effi-STT (Port 8200) │ │
|
||||
│ │ - faster-whisper large-v3 │ │
|
||||
│ │ - API OpenAI compatible │ │
|
||||
│ │ - Langue: Français │ │
|
||||
│ └─────────────────────────────────────────────────────────┘ │
|
||||
│ │
|
||||
│ ┌─────────────────────────────────────────────────────────┐ │
|
||||
│ │ 🔊 openedai-speech (Port 8100) │ │
|
||||
│ │ - Voix: siwis (féminin FR) │ │
|
||||
│ │ - Voix: gilles (masculin FR) │ │
|
||||
│ │ - Voix: alloy (anglais) │ │
|
||||
│ └─────────────────────────────────────────────────────────┘ │
|
||||
│ │
|
||||
│ ┌─────────────────────────────────────────────────────────┐ │
|
||||
│ │ 🧠 Ollama (Port 11434) │ │
|
||||
│ │ - qwen3.5:9b (principal) │ │
|
||||
│ │ - bge-m3 (embeddings) │ │
|
||||
│ └─────────────────────────────────────────────────────────┘ │
|
||||
│ │
|
||||
└─────────────────────────────────────────────────────────────────┘
|
||||
│
|
||||
▼
|
||||
┌─────────────────────────────────────────────────────────────────┐
|
||||
│ effi-server (192.168.1.27) │
|
||||
│ ┌─────────────────────────────────────────────────────────┐ │
|
||||
│ │ 💬 Open WebUI (Port 3000) │ │
|
||||
│ │ - Interface Effi │ │
|
||||
│ │ - Configuration STT/TTS │ │
|
||||
│ │ - Mémoire manuelle │ │
|
||||
│ └─────────────────────────────────────────────────────────┘ │
|
||||
│ │
|
||||
└─────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📝 Commandes utiles
|
||||
|
||||
```bash
|
||||
# Voir les logs STT
|
||||
sudo docker logs effi-stt -f
|
||||
|
||||
# Voir les logs TTS
|
||||
sudo docker logs openedai-speech -f
|
||||
|
||||
# Redémarrer STT
|
||||
sudo docker restart effi-stt
|
||||
|
||||
# Redémarrer TTS
|
||||
sudo docker restart openedai-speech
|
||||
|
||||
# Test STT
|
||||
curl -X POST http://localhost:8200/v1/audio/transcriptions \
|
||||
-F "file=@audio.mp3" \
|
||||
-F "language=fr"
|
||||
|
||||
# Test TTS
|
||||
curl -s http://localhost:8100/v1/audio/speech \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"model":"tts-1","input":"Bonjour","voice":"siwis"}' \
|
||||
--output /tmp/test.mp3
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🎉 Bilan
|
||||
|
||||
| Composant | Solution | Statut |
|
||||
|-----------|----------|--------|
|
||||
| **STT** | Effi-STT (maison) | ✅ Fonctionnel |
|
||||
| **TTS** | openedai-speech | ✅ Fonctionnel |
|
||||
| **Voix FR** | Piper (siwis/gilles) | ⏳ À configurer |
|
||||
| **LLM** | qwen3.5:9b | ✅ Fonctionnel |
|
||||
| **Interface** | Open WebUI | ✅ Fonctionnel |
|
||||
|
||||
**Prochaine étape** : Ajouter les voix françaises !
|
||||
|
||||
---
|
||||
|
||||
*Documentation créée le 05/04/2026*
|
||||
Reference in New Issue
Block a user