197 lines
4.0 KiB
Markdown
197 lines
4.0 KiB
Markdown
# 🚀 Démarrage - Audio Classifier
|
|
|
|
## ✅ Statut
|
|
|
|
Le projet est configuré et prêt à fonctionner !
|
|
|
|
## Configuration actuelle
|
|
|
|
- **Backend API** : http://localhost:8001
|
|
- **Base de données** : PostgreSQL sur port 5433
|
|
- **Frontend** : À lancer sur port 3000
|
|
|
|
## 1. Services Docker (Déjà lancés)
|
|
|
|
```bash
|
|
cd "/Users/benoit/Documents/code/Audio Classifier"
|
|
|
|
# Vérifier que les services tournent
|
|
docker-compose -f docker-compose.dev.yml ps
|
|
|
|
# Logs du backend
|
|
docker-compose -f docker-compose.dev.yml logs -f backend
|
|
```
|
|
|
|
## 2. Tester le backend
|
|
|
|
```bash
|
|
# Health check
|
|
curl http://localhost:8001/health
|
|
|
|
# Documentation interactive
|
|
open http://localhost:8001/docs
|
|
```
|
|
|
|
## 3. Lancer le frontend
|
|
|
|
```bash
|
|
cd frontend
|
|
|
|
# Si pas encore fait
|
|
npm install
|
|
|
|
# Créer .env.local
|
|
cat > .env.local << EOF
|
|
NEXT_PUBLIC_API_URL=http://localhost:8001
|
|
EOF
|
|
|
|
# Lancer
|
|
npm run dev
|
|
```
|
|
|
|
Frontend accessible sur : **http://localhost:3000**
|
|
|
|
## 4. Analyser votre bibliothèque audio
|
|
|
|
### Option A : Via l'API
|
|
|
|
```bash
|
|
# Analyser un dossier
|
|
curl -X POST http://localhost:8001/api/analyze/folder \
|
|
-H "Content-Type: application/json" \
|
|
-d '{
|
|
"path": "/audio",
|
|
"recursive": true
|
|
}'
|
|
|
|
# Note: "/audio" correspond au montage dans le conteneur
|
|
# Pour analyser vos fichiers, mettre à jour AUDIO_LIBRARY_PATH dans .env
|
|
```
|
|
|
|
### Option B : Depuis votre machine (sans Essentia)
|
|
|
|
Le système fonctionne actuellement **sans les modèles Essentia** pour simplifier le déploiement.
|
|
|
|
**Fonctionnalités disponibles** :
|
|
- ✅ Extraction tempo (BPM)
|
|
- ✅ Détection tonalité
|
|
- ✅ Features spectrales (energy, danceability, valence)
|
|
- ✅ Signature rythmique
|
|
- ❌ Classification genre/mood/instruments (nécessite Essentia)
|
|
|
|
**Pour activer Essentia** (optionnel) :
|
|
|
|
1. Télécharger les modèles :
|
|
```bash
|
|
./scripts/download-essentia-models.sh
|
|
```
|
|
|
|
2. Reconstruire avec Dockerfile complet :
|
|
```bash
|
|
# Éditer docker-compose.dev.yml
|
|
# Changer: dockerfile: Dockerfile.minimal
|
|
# En: dockerfile: Dockerfile
|
|
|
|
docker-compose -f docker-compose.dev.yml build backend
|
|
docker-compose -f docker-compose.dev.yml up -d
|
|
```
|
|
|
|
## 5. Commandes utiles
|
|
|
|
### Gérer les services
|
|
|
|
```bash
|
|
# Arrêter
|
|
docker-compose -f docker-compose.dev.yml stop
|
|
|
|
# Redémarrer
|
|
docker-compose -f docker-compose.dev.yml restart
|
|
|
|
# Tout supprimer (⚠️ perd les données DB)
|
|
docker-compose -f docker-compose.dev.yml down -v
|
|
```
|
|
|
|
### Requêtes API
|
|
|
|
```bash
|
|
# Lister les pistes
|
|
curl http://localhost:8001/api/tracks?limit=10
|
|
|
|
# Recherche
|
|
curl "http://localhost:8001/api/search?q=test&limit=10"
|
|
|
|
# Stats
|
|
curl http://localhost:8001/api/stats
|
|
|
|
# Stream audio (remplacer TRACK_ID)
|
|
open http://localhost:8001/api/audio/stream/TRACK_ID
|
|
|
|
# Download audio
|
|
curl -O http://localhost:8001/api/audio/download/TRACK_ID
|
|
```
|
|
|
|
## 6. Configuration avancée
|
|
|
|
### Changer le dossier audio à analyser
|
|
|
|
Éditer `.env` :
|
|
|
|
```env
|
|
AUDIO_LIBRARY_PATH=/Users/benoit/Music
|
|
```
|
|
|
|
Puis redémarrer :
|
|
|
|
```bash
|
|
docker-compose -f docker-compose.dev.yml restart backend
|
|
```
|
|
|
|
### Accéder à la base de données
|
|
|
|
```bash
|
|
# Connexion psql
|
|
docker exec -it audio_classifier_db psql -U audio_user -d audio_classifier
|
|
|
|
# Queries utiles
|
|
\dt -- Liste des tables
|
|
SELECT COUNT(*) FROM audio_tracks;
|
|
SELECT filename, tempo_bpm, key FROM audio_tracks LIMIT 5;
|
|
```
|
|
|
|
## 🐛 Problèmes courants
|
|
|
|
### Backend ne démarre pas
|
|
|
|
```bash
|
|
docker-compose -f docker-compose.dev.yml logs backend
|
|
```
|
|
|
|
### Port déjà utilisé
|
|
|
|
Les ports ont été changés pour éviter les conflits :
|
|
- PostgreSQL : **5433** (au lieu de 5432)
|
|
- Backend : **8001** (au lieu de 8000)
|
|
|
|
### Frontend ne se connecte pas
|
|
|
|
Vérifier `.env.local` dans le dossier `frontend` :
|
|
|
|
```env
|
|
NEXT_PUBLIC_API_URL=http://localhost:8001
|
|
```
|
|
|
|
## 📚 Documentation
|
|
|
|
- [README.md](README.md) - Vue d'ensemble
|
|
- [SETUP.md](SETUP.md) - Guide complet
|
|
- http://localhost:8001/docs - API interactive
|
|
|
|
## 🎵 Prochaines étapes
|
|
|
|
1. **Analyser vos fichiers** : Utiliser l'API `/api/analyze/folder`
|
|
2. **Explorer le frontend** : Naviguer dans les pistes
|
|
3. **Tester la recherche** : Filtrer par BPM, etc.
|
|
4. **Activer Essentia** (optionnel) : Pour genre/mood/instruments
|
|
|
|
Bon classement ! 🎶
|