Files
Effi/docs/JOURNAL-ESSAIS-TTS-STT.md
Folzo eb2c365220 docs: Document all TTS/STT attempts and recommended solution
- 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
2026-04-05 21:00:53 +02:00

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 :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