Show HN: A lightweight ML model to predict music emotion - energy, valence, etc.
17 days ago
- #python
- #music-analysis
- #machine-learning
- VibeNet is a Python package, Beets plugin, and CLI tool for predicting musical emotions and attributes from raw audio.
- It predicts 7 attributes: acousticness, danceability, energy, instrumentalness, liveness, speechiness, and valence.
- Attributes are categorized as likelihoods (e.g., acousticness) or descriptors (e.g., energy).
- VibeNet can be used as a Beets plugin for tagging music libraries, a Python package for custom projects, or a CLI for one-off tasks.
- The Beets plugin allows for automatic tagging during import and supports queries like finding high-valence songs.
- The Python package provides flexibility for custom projects, supporting inference on single or multiple audio files.
- The CLI tool offers quick predictions and supports output in CSV format for batch processing.
- VibeNet was trained using the FMA dataset with a teacher-student distillation approach, leveraging EfficientNet for the student model.