test / README.md
Ronaldo
first commit
077b226
---
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! 🎙️**