5 releases
0.2.1 | Feb 24, 2024 |
---|---|
0.2.0 | Nov 9, 2022 |
0.1.2 | Sep 2, 2022 |
0.1.1 | Jul 7, 2022 |
0.1.0 | May 3, 2022 |
#678 in Command line utilities
120KB
3K
SLoC
Audeye
π π» ποΈAudio content visualization tool
Audeye is a terminal tool to visualize audio content, written in Rust
Features
- wav / aif / flac / ogg-vorbis and many more (see : libsndfile format compatibility v1.0.31)
- mono / stereo / 5.1 / 7.1 ... (up to 9 channels)
- Waveform peak & RMS visualizer
- Spectrogram visualizer
- Signal normalization
- Zoom and move inside both visualizers
- Metadata display
Bindings
space
: display bindingsleft arrow
/right arrow
: navigate through panelsj
/k
: zoom out / inh
/l
: move left / right- [
0
-9
] : activate / deactivate display of the corresponding channel Esc
: reset channel layout
CLI arguments
-n
: normalize the audio signal before displaying it (not channel aware)--fft-window-size
--fft-window-type
:hanning
/hamming
/blackman
/uniform
--fft-overlap
--fft-db-threshold
: minimum energy level to consider (in dB)--fft-padding-type
:zeros
/loop
/ramp
Paddings types
The padding type determine how to fill the sides of each FFT window when at the very edges of the audio content
- Zeros : fill with zeros
- Ramp : fill with zeros and a small amplitude ramp to match the last/next sample
- Loop : fill with the end/beginning of the audio file
Dependencies
Audeye rely on Rust bindings to libsndfile
Debian / Ubuntu
apt-get install libsndfile1-dev
Installation
cargo install audeye
Build
- Install Rust
- Install libsndfile
- Then run
cargo run <AUDIO_FILE_PATH>
Development
Please consider audeye is still in early development, feedbacks are very welcome
Requirements
Contributing
If you wanna contribute, either make a PR (for small changes/adds) or contact me on twitter / discord if you wanna get involved more deeply
Milestone
- Waveform view
- Spectogram view
- Channels view navigation
- Channel naming (stereo, 2.1, 5.1, 7.1 ...)
- Zoom in/out
- Metadata view
- RMS and Peak in waveform view
- Option : normalize
- Option : FFT windows size and overlap
- Option : FFT dB threshold
- Option : FFT window type
- Option : FFT side smoothing
- Unit tests
- Optionnal labels on graphs
- Option : FFT logarithmic scale
- Option : Waveform envelope ?
- More audio format support
Dependencies
~13β25MB
~271K SLoC