Crate mecomp_analysis

source
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§

Enums§

Constants§

Type Aliases§

  • The Type of individual features