All of this is done ✅, see bliss-rs
This is a rough roadmap for where I want to go for bliss-rs
.
Features are freely inspired from the corresponding discussion in my Msc thesis.
- Zero-crossing rate
- Spectral centroid
- Spectral rolloff
- Spectral flatness
- MFCC (when a satisfying way has been found to make each feature contribute equally to the rating)
- BPM
- Beat loudness
- Rough measure of the dB level of songs
- Chromagram / HPCP
Find something better than the mean to summarize these features. Maybe variance + mean would be enough, maybe media, maybe sth else?
Also, normalize everything.
Work on making this actually usable as a library, and then make python bindings
Profit.