Spaces:
Running
Running
| title: Meta MMS Speech AI | |
| emoji: 🎙️ | |
| colorFrom: blue | |
| colorTo: green | |
| sdk: gradio | |
| sdk_version: "4.3.0" | |
| python_version: "3.10" | |
| app_file: app.py | |
| pinned: false | |
| license: cc-by-nc-4.0 | |
| models: | |
| - facebook/mms-1b-all | |
| - facebook/mms-tts-yor | |
| - facebook/mms-tts-eng | |
| - facebook/mms-tts-beh | |
| - facebook/mms-tts-ddn | |
| tags: | |
| - ASR | |
| - TTS | |
| - Speech | |
| - Audio | |
| - Multilingual | |
| - MMS | |
| # 🎙️ Meta MMS Speech AI - Gradio Interface | |
| Une interface **Gradio** simple et élégante pour: | |
| - **ASR** (Automatic Speech Recognition): Convertir l'audio en texte (100+ langues) | |
| - **TTS** (Text-to-Speech): Convertir le texte en audio (8 langues) | |
| Utilise les modèles Meta MMS: | |
| - `facebook/mms-1b-all` pour l'ASR | |
| - `facebook/mms-tts-*` pour le TTS | |
| ## 🌐 Déploiement en ligne | |
| **Accès direct:** [Hugging Face Spaces](https://huggingface.co/spaces) | |
| ## 🚀 Installation locale | |
| ### Prérequis | |
| - Python 3.10+ | |
| - (Optionnel) CUDA 11.8+ pour GPU | |
| ### Installation | |
| ```bash | |
| # Clone ou télécharge le repo | |
| git clone <url> | |
| cd mms-speech | |
| # Crée un environnement virtuel | |
| python -m venv venv | |
| source venv/bin/activate # Windows: venv\Scripts\activate | |
| # Installe les dépendances | |
| pip install -r requirements.txt | |
| ``` | |
| ### Lancement | |
| ```bash | |
| python app.py | |
| ``` | |
| L'interface Gradio s'ouvrira automatiquement sur `http://localhost:7860` | |
| ## 📱 Interface utilisateur | |
| ### Onglet 1: 🔊 ASR (Audio → Texte) | |
| - Enregistre ou upload un fichier audio | |
| - Choisis la langue | |
| - Clique "Transcrire" | |
| - Récupère le texte transcrit | |
| **Langues supportées:** | |
| - English, French, Spanish, German, Portuguese, Arabic, Hindi, Chinese, Japanese, et 90+ autres | |
| ### Onglet 2: 📢 TTS (Texte → Audio) | |
| - Entre du texte | |
| - Choisis la langue | |
| - Clique "Générer l'audio" | |
| - Écoute ou télécharge l'audio généré | |
| **Langues TTS:** | |
| - 🇧🇯 Biali (beh) | |
| - 🇧🇯 Baatombu (bba) | |
| - 🇧🇯 Dendi (ddn) | |
| - 🇬🇭 Éwé (ewe) | |
| - 🇧🇯 Mina (gej) | |
| - 🇧🇯 Ditammari (tbz) | |
| - 🇳🇬 Yoruba (yor) | |
| - 🇧🇯 Fon (fon) | |
| - 🇬🇧 English (eng) | |
| ### Onglet 3: ℹ️ À propos | |
| Informations sur les modèles et ressources | |
| ## 📊 Modèles utilisés | |
| ### ASR: facebook/mms-1b-all | |
| - **Architecture:** wav2vec2 | |
| - **Taille:** 964.8M parameters | |
| - **Langues:** 100+ (ISO 639-3) | |
| - **Input:** Audio 16kHz mono | |
| - **Output:** Texte transcrit | |
| ### TTS: facebook/mms-tts-{lang} | |
| - **Architecture:** VITS | |
| - **Taille:** ~5-10M parameters par langue | |
| - **Langues:** 8 | |
| - **Input:** Texte (max 1000 chars) | |
| - **Output:** Audio WAV 22050Hz | |
| ## 💡 Utilisation | |
| ### Exemple ASR | |
| 1. Clique sur le micro ou "Upload file" | |
| 2. Enregistre ou uploader ton audio | |
| 3. Sélectionne la langue | |
| 4. Clique "Transcrire" | |
| ### Exemple TTS | |
| 1. Écris "Àbọ̀ wa" (hello en Yoruba) | |
| 2. Sélectionne "Yoruba (yor)" | |
| 3. Clique "Générer l'audio" | |
| 4. Écoute le résultat! | |
| ## 🔧 Développement | |
| ### Installer les dépendances dev | |
| ```bash | |
| pip install -r requirements-dev.txt | |
| ``` | |
| ### Tests | |
| ```bash | |
| pytest test_api.py -v | |
| ``` | |
| ### Linting | |
| ```bash | |
| black app.py | |
| flake8 app.py | |
| ``` | |
| ## 🌐 Déploiement sur Hugging Face Spaces | |
| ### 1. Créer un Space | |
| - Va sur https://huggingface.co/new-space | |
| - Choisis "Gradio" comme SDK | |
| - Sélectionne "Blank" comme template | |
| ### 2. Cloner le Space | |
| ```bash | |
| git clone https://huggingface.co/spaces/<username>/<space-name> | |
| cd <space-name> | |
| ``` | |
| ### 3. Copier les fichiers | |
| ```bash | |
| cp app.py requirements.txt README.md . | |
| ``` | |
| ### 4. Push vers Hugging Face | |
| ```bash | |
| git add . | |
| git commit -m "Add MMS Speech AI" | |
| git push | |
| ``` | |
| ### 5. Attendre le déploiement | |
| - HF va installer les dépendances (2-5 min) | |
| - Télécharger les modèles (5-15 min) | |
| - Lancer l'app automatiquement | |
| **URL du Space:** `https://huggingface.co/spaces/<username>/<space-name>` | |
| ## ⚙️ Configuration | |
| ```python | |
| SAMPLE_RATE = 16000 # Taux ASR | |
| MAX_AUDIO_LENGTH = 30 # Max 30 sec | |
| MAX_TEXT_LENGTH = 1000 # Max 1000 chars | |
| ``` | |
| ## 📈 Performance | |
| | Action | Temps | | |
| |--------|-------| | |
| | Première requête ASR | 2-5 min (chargement) | | |
| | Requêtes ASR suivantes | 1-10 sec | | |
| | Première requête TTS | 30-60 sec (chargement) | | |
| | Requêtes TTS suivantes | 1-5 sec | | |
| ## 🐛 Troubleshooting | |
| **Q: Les modèles prennent trop de temps à charger** | |
| A: C'est normal! Les modèles sont volumineux. La première requête charge le modèle (2-5 min), puis ça devient rapide. | |
| **Q: "CUDA out of memory"** | |
| A: Réduis `MAX_AUDIO_LENGTH` ou `MAX_TEXT_LENGTH`, ou utilise CPU. | |
| **Q: Je ne vois pas mon audio après avoir enregistré** | |
| A: Attends que le traitement soit terminé. Gradio affichera le résultat automatiquement. | |
| **Q: L'audio généré est muet** | |
| A: Vérifie que tu as écrit du texte et choisi une langue correcte. | |
| ## 📚 Ressources | |
| - [Meta MMS Paper](https://arxiv.org/abs/2305.13516) | |
| - [facebook/mms-1b-all](https://huggingface.co/facebook/mms-1b-all) | |
| - [facebook/mms-tts](https://huggingface.co/facebook/mms-tts) | |
| - [Gradio Documentation](https://www.gradio.app/) | |
| - [Hugging Face Spaces](https://huggingface.co/spaces) | |
| ## ⚖️ Licence | |
| CC-BY-NC-4.0 (même que les modèles Meta MMS) | |
| ## 👨💻 Auteur | |
| Créé avec ❤️ pour explorer la synthèse et reconnaissance vocale multilingue. | |
| --- | |
| **Happy speaking! 🎙️** | |