So far this library is rather basic and targets developers that develop audio algorithms. With this library you can easily display your current audio data/waveform/spectrum and check if everything looks good/as expected.
-
dynamic real-time audio
- functionality to record audio and connect it with a GUI window
- side-by-side (top/btm) view of original waveform and custom view (e.g. spectrum or lowpass filter)
- cross-platform (Windows with WASAPI, Linux with ALSA, MacOS with coreaudio)
-
static waveform
- very basic PNG output
- PNG output with basic axes/labels using https://crates.io/crates/plotters
- TODO fancy static output (code contributions are welcome)
-
static spectrum
- very basic PNG output with the option to highlight specific frequencies (definitely needs more work, code contributions are welcome)
- PNG output with basic axes/labels using https://crates.io/crates/plotters (definitely needs more work, code contributions are welcome)
- TODO fancy static output (code contributions are welcome)
There are several examples in the examples/
directory. Below, you can see some visualization examples.
On the top you see the original waveform of the song Holiday by Green Day. On the bottom you see the data after a
lowpass filter was applied. The beats are visible.
On the top you see the original waveform of the song Holiday by Green Day. On the bottom you see
the frequency spectrum of the latest 46ms of audio. Frequencies <2000Hz are clearly present.
The MSRV is 1.63.0 stable.
- make sure to have these required packages installed:
sudo apt install libasound2-dev libxkbcommon-dev