Files
Audio-Classifier/DEMARRAGE.md
2025-11-27 17:43:52 +01:00

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) :

  1. Télécharger les modèles :
./scripts/download-essentia-models.sh
  1. 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

🎵 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 ! 🎶