# πŸŽ‰ 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*