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*