Audioviz is a simple and easy to use library that helps you visualise raw audio-data
This is done with the help of the Fast Fourier Transform algorithm, some frequency-space and volume normalisation and optional effects like gravity.
There are currently only high-level abstractions for live visualisation, where it is consistently fed with data,
but mp3 or wav file abstractions might be added in the future.
should be possible to implement in any project
```rs use audioviz::audio_capture::{config::Config as CaptureConfig, capture::Capture}; use audioviz::spectralizer::stream::{Stream, StreamController}; use audioviz::spectralizer::config::StreamConfig;
fn main() { // captures audio from system using cpal let capture = Capture::init(CaptureConfig::default());
// continuous processing of data received from capture let audio = Stream::initwithcapture(capture, StreamConfig::default()); let audiocontroller: StreamController = audio.getcontroller();
loop {
// stored as Vec<spectralizer::Frequency
>
let data = audiocontroller.getfrequencies();
/*
do something with data ...
*/
}
}
```