- Add detailed journal of all attempts (successes and failures) - Explain speaches v0.8+ incompatibility with model cards - Research and document whisper-asr-webservice as stable alternative - Provide complete deployment plan with docker-compose - Include validation checklist
4.9 KiB
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 :
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
:Zpour 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
:Zdans 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 :
-
Préchargement du modèle ❌
- Téléchargement via Python dans le container réussi
- Mais speaches ne le reconnaît pas comme "enregistré"
-
Enregistrement via API ❌
POST /v1/models→ retourne "Not Found"- L'API a changé et la documentation est obsolète
-
Téléchargement README.md manuel ❌
- Impossible d'accéder au cache HuggingFace dans le container
pipnon disponible dans l'image speaches- Structure de dossiers complexe
-
Utilisation modèle Systran/faster-whisper-large-v3 ❌
- Même erreur de "model card" manquante
-
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
- Ne pas se fier aux dernières versions : speaches v0.8+ a des breaking changes majeurs
- Vérifier la compatibilité des modèles : Les modèles HuggingFace doivent avoir un README.md complet pour speaches v0.8+
- SELinux sur Fedora : Toujours utiliser
:Zpour les volumes Docker - Documentation obsolète : Les docs de speaches ne reflètent pas les changements API v0.8+
🎯 PROCHAINES ÉTAPES RECOMMANDÉES
-
Rechercher la solution la plus stable actuellement :
- whisper.cpp avec ROCm
- Version speaches antérieure fonctionnelle
- Alternative : Wyvern (anciennement faster-whisper-server)
-
Priorité : Fonctionnement > Performance
- Même si c'est en CPU, tant que ça marche
- Optimisation GPU secondaire
-
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