Expand description
This library contains stuff for song analysis and feature extraction.
A lot of the code in this library is inspired by, or directly pulled from, bliss-rs. We don’t simply use bliss-rs because I don’t want to bring in an ffmpeg dependency, and bliss-rs also has a lot of features that I don’t need. (for example, I don’t need to decode tags, process playlists, etc. etc., I’m doing all of that myself already)
We use rodio to decode the audio file (overkill, but we already have the dependency for audio playback so may as well), We use rubato to resample the audio file to 22050 Hz.
Modules§
- Chroma feature extraction module.
- this module contains helpers that wrap the a k-means crate to perform clustering on the data without having to choose an exact number of clusters.
- Miscellaneous feature extraction module.
- Temporal feature extraction module.
- Timbral feature extraction module.
Structs§
- Object holding the results of the song’s analysis.
- An iterator over the variants of AnalysisIndex
- The resampled audio data used for analysis.
Enums§
- Indexes different fields of an Analysis.
Constants§
- The number of features used in
Analysis - The sampling rate used for the analysis.
Type Aliases§
- The Type of individual features