Spaces:
Runtime error
Runtime error
A newer version of the Gradio SDK is available:
5.44.1
metadata
title: Analyse de Sentiment Audio
emoji: 🎤
colorFrom: purple
colorTo: indigo
sdk: gradio
sdk_version: 4.44.1
app_file: app_with_api.py
pinned: false
Sentiment Audio
Ce projet propose un pipeline complet d'analyse de sentiment à partir de fichiers audio francophones, structuré en quatre composantes principales :
Transcription audio
- Modèle Wav2Vec2 (
jonatasgrosman/wav2vec2-large-xlsr-53-french
) - Extraction de vecteurs audio puis décodage CTC
- Modèle Wav2Vec2 (
Analyse de sentiment textuel
- Modèle BERT multilingue (
nlptown/bert-base-multilingual-uncased-sentiment
) - Fonction
analyze_sentiment(text)
retournant un label (négatif
,neutre
,positif
) et sa confiance
- Modèle BERT multilingue (
Interface utilisateur Gradio
API REST FastAPI
Structure du projet
sentiment_audio_tp/
├── hf_model/ # exports de modèles sauvegardés via save_pretrained
├── models/ # cache local HuggingFace (ignoré par Git)
├── src/
│ ├── __init__.py
│ ├── transcription.py # SpeechEncoder (Wav2Vec2Model)
│ ├── sentiment.py # TextEncoder + analyze_sentiment()
│ ├── multimodal.py # Classifieur multimodal (fusion embeddings)
│ ├── inference.py # CLI (audio → transcription + sentiment)
│ ├── app.py # Interface Gradio
│ └── api.py # Serveur FastAPI
├── requirements.txt # Dépendances du projet
├── render.yaml # Infra as code pour Render
└── README.md # Ce document
Installation
Cloner le dépôt
git clone <URL_DU_REPO> cd sentiment_audio_tp
Configurer l'environnement
python -m venv venv source venv/bin/activate # macOS/Linux .\venv\Scripts\Activate.ps1 # Windows PowerShell
Installer les dépendances
pip install --upgrade pip pip install -r requirements.txt
Utilisation
CLI d'inférence
python src/inference.py chemin/vers/audio.wav
# Affiche la transcription et le résultat de sentiment
Interface Gradio
python -m src.app
- Rendez-vous sur
http://127.0.0.1:7861/
- Choisissez Enregistrement ou Upload
- Obtenez la transcription et le sentiment en temps réel
API REST
uvicorn src.api:app --reload --host 0.0.0.0 --port 8000
Swagger UI :
http://127.0.0.1:8000/docs
Tester avec
curl
ou Postman :curl -X POST "http://127.0.0.1:8000/predict" \ -F "file=@/chemin/vers/audio.wav"
Cas d'usage
- Prototype rapide d'analyse de sentiment sur des appels clients, podcasts, interviews
- Outil de validation pour analyses qualitatives de contenu audio
- Proof of Concept pour architectures multimodales
- Service back-end dans un chatbot vocal ou plateforme d'assistance
Extension
- Fine-tuning multimodal : entraînement du classifieur fusion sur un dataset annoté
- Support de nouveaux formats : MP3, FLAC…
- Tests et CI : ajouter des tests
pytest
et pipelines CI/CD - Déploiement : Docker, Kubernetes, monitoring
Licence
Licence MIT — libre d'utilisation, modification et redistribution.