# Journal des essais - Voix et Ouïe pour Effi (Avril 2026) ## 📋 Contexte **Objectif** : Déployer TTS (Text-to-Speech) et STT (Speech-to-Text) sur folzo-Corp (Fedora, RX 7800 XT) - **TTS** : openedai-speech (port 8100) ✅ Fonctionnel - **STT** : Whisper avec speaches (port 8200) ❌ Problématique **Infrastructure** : - effi-server (192.168.1.27) : Open WebUI - folzo-Corp (192.168.1.11) : Ollama + TTS/STT (Fedora, RX 7800 XT 16GB) --- ## ✅ SUCCÈS ### 1. TTS (openedai-speech) - FONCTIONNEL **Date** : 05/04/2026 **Statut** : ✅ Opérationnel **Configuration** : ```yaml Service: openedai-speech Port: 8100 Image: ghcr.io/matatonic/openedai-speech:latest Voix: Piper (anglais) + XTTS v2 (si fichiers .wav disponibles) GPU: ROCm activé (RX 7800 XT) ``` **Ce qui a marché** : - Image Docker précompilée disponible - Configuration SELinux avec `:Z` pour les volumes - Voix Piper (alloy, echo, etc.) fonctionnent en anglais - Test réussi : `curl http://localhost:8100/v1/audio/speech` → fichier MP3 généré **Problème résolu** : - Permissions SELinux sur Fedora : ajout de `:Z` dans les volumes Docker - Groupe utilisateur : `user: "0:0"` dans docker-compose **Limitation** : Les voix sont en anglais. Pour le français, il faudrait : - Télécharger des modèles Piper FR (`fr_FR-siwis-medium`) - OU utiliser XTTS avec échantillons de voix FR --- ## ❌ ÉCHECS ET PROBLÈMES ### 1. STT avec speaches v0.8+ - BLOQUANT **Date** : 05/04/2026 **Statut** : ❌ Non fonctionnel - Abandonné **Problème principal** : Speaches v0.8+ introduit une vérification stricte des "model cards" (README.md) pour tous les modèles. Le modèle `deepdml/faster-whisper-large-v3-turbo-ct2` (et `Systran/faster-whisper-large-v3`) ne contiennent pas ce fichier dans leur repository HuggingFace. **Erreur systématique** : ``` HTTP error: 500: The model repository does not contain a valid model card. This is likely due to the breaking change introduce v0.8.0 release. ``` **Tentatives effectuées** : 1. **Préchargement du modèle** ❌ - Téléchargement via Python dans le container réussi - Mais speaches ne le reconnaît pas comme "enregistré" 2. **Enregistrement via API** ❌ - `POST /v1/models` → retourne "Not Found" - L'API a changé et la documentation est obsolète 3. **Téléchargement README.md manuel** ❌ - Impossible d'accéder au cache HuggingFace dans le container - `pip` non disponible dans l'image speaches - Structure de dossiers complexe 4. **Utilisation modèle Systran/faster-whisper-large-v3** ❌ - Même erreur de "model card" manquante 5. **Alias de modèle** ❌ - Non testé mais probablement même problème **Conclusion** : speaches v0.8+ est incompatible avec les modèles faster-whisper standards. Nécessite soit : - Des modèles avec README.md complet (rare) - Une modification du code source de speaches - Une version antérieure de speaches (< 0.8) --- ## 🔄 SOLUTIONS ALTERNATIVES À EXPLORER ### Option 1 : whisper.cpp (Plus fiable, C++) - **Avantages** : Rapide, stable, compatible ROCm (via OpenCL) - **Inconvénients** : Nécessite compilation, moins d'abstraction - **Statut** : À tester ### Option 2 : faster-whisper serveur Python simple - **Avantages** : Contrôle total, pas de dépendances complexes - **Inconvénients** : Nécessite création d'un mini-serveur - **Statut** : Solution de contournement possible ### Option 3 : Version antérieure speaches (< 0.8) - **Avantages** : Fonctionnait avant la v0.8 - **Inconvénients** : Pas de tag Docker clair pour versions anciennes - **Statut** : À investiguer ### Option 4 : Utiliser le STT intégré à openedai-speech - **Avantages** : Déjà configuré, même stack - **Inconvénients** : Moins performant que Whisper dédié - **Statut** : À vérifier si c'est possible ### Option 5 : Whisper ROCm natif (sans Docker) - **Avantages** : Performance GPU maximale - **Inconvénients** : Complexité installation ROCm - **Statut** : À évaluer --- ## 📝 LEÇONS APRISES 1. **Ne pas se fier aux dernières versions** : speaches v0.8+ a des breaking changes majeurs 2. **Vérifier la compatibilité des modèles** : Les modèles HuggingFace doivent avoir un README.md complet pour speaches v0.8+ 3. **SELinux sur Fedora** : Toujours utiliser `:Z` pour les volumes Docker 4. **Documentation obsolète** : Les docs de speaches ne reflètent pas les changements API v0.8+ --- ## 🎯 PROCHAINES ÉTAPES RECOMMANDÉES 1. **Rechercher la solution la plus stable actuellement** : - whisper.cpp avec ROCm - Version speaches antérieure fonctionnelle - Alternative : Wyvern (anciennement faster-whisper-server) 2. **Priorité** : Fonctionnement > Performance - Même si c'est en CPU, tant que ça marche - Optimisation GPU secondaire 3. **Documentation** : - Tester une solution complète avant documentation - Vérifier chaque étape --- **Date de création** : 05/04/2026 **Dernière mise à jour** : 05/04/2026