test / README.md
Ronaldo
first commit
077b226

A newer version of the Gradio SDK is available: 6.14.0

Upgrade
metadata
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

🚀 Installation locale

Prérequis

  • Python 3.10+
  • (Optionnel) CUDA 11.8+ pour GPU

Installation

# 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

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

pip install -r requirements-dev.txt

Tests

pytest test_api.py -v

Linting

black app.py
flake8 app.py

🌐 Déploiement sur Hugging Face Spaces

1. Créer un Space

2. Cloner le Space

git clone https://huggingface.co/spaces/<username>/<space-name>
cd <space-name>

3. Copier les fichiers

cp app.py requirements.txt README.md .

4. Push vers Hugging Face

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

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

⚖️ 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! 🎙️