4.0 KiB
4.0 KiB
🚀 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)
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
# Health check
curl http://localhost:8001/health
# Documentation interactive
open http://localhost:8001/docs
3. Lancer le frontend
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
# 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) :
- Télécharger les modèles :
./scripts/download-essentia-models.sh
- Reconstruire avec Dockerfile complet :
# É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
# 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
# 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 :
AUDIO_LIBRARY_PATH=/Users/benoit/Music
Puis redémarrer :
docker-compose -f docker-compose.dev.yml restart backend
Accéder à la base de données
# 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
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 :
NEXT_PUBLIC_API_URL=http://localhost:8001
📚 Documentation
- README.md - Vue d'ensemble
- SETUP.md - Guide complet
- http://localhost:8001/docs - API interactive
🎵 Prochaines étapes
- Analyser vos fichiers : Utiliser l'API
/api/analyze/folder - Explorer le frontend : Naviguer dans les pistes
- Tester la recherche : Filtrer par BPM, etc.
- Activer Essentia (optionnel) : Pour genre/mood/instruments
Bon classement ! 🎶