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
- Chroma feature extraction module.
- clustering
- 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.
- decoder
- errors
- misc
- Miscellaneous feature extraction module.
- temporal
- Temporal feature extraction module.
- timbral
- Timbral feature extraction module.
- utils
Structs§
- Analysis
- Object holding the results of the song’s analysis.
- Analysis
Index Iter - An iterator over the variants of AnalysisIndex
- Resampled
Audio - The resampled audio data used for analysis.
Enums§
- Analysis
Index - Indexes different fields of an Analysis.
Constants§
- NUMBER_
FEATURES - The number of features used in
Analysis - SAMPLE_
RATE - The sampling rate used for the analysis.
Type Aliases§
- Feature
- The Type of individual features