Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

maxmarsc/audeye

Repository files navigation

Audeye

πŸ”Š πŸ’» πŸ‘οΈAudio content visualization tool

Demo

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 bindings
  • left arrow / right arrow : navigate through panels
  • j / k : zoom out / in
  • h / 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

  1. Install Rust
  2. Install libsndfile
  3. 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

About

CLI tool to visualize the content of an audio file

Topics

Resources

License

Stars

Watchers

Forks

Packages

Contributors

Languages

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /