From e129012343dbdd5797e5b5928b573060677f93e6 Mon Sep 17 00:00:00 2001 From: Folzo Date: Sun, 5 Apr 2026 22:38:27 +0200 Subject: [PATCH] docs: Document successful STT/TTS setup and next steps --- docs/SUCCES-VOIX-OUÏE.md | 233 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 233 insertions(+) create mode 100644 docs/SUCCES-VOIX-OUÏE.md diff --git a/docs/SUCCES-VOIX-OUÏE.md b/docs/SUCCES-VOIX-OUÏE.md new file mode 100644 index 0000000..4f2cd14 --- /dev/null +++ b/docs/SUCCES-VOIX-OUÏE.md @@ -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*