Skip to content

A "spectrum analyzer"-style audio visualizer.

Notifications You must be signed in to change notification settings

tengyifei/audio-visualizer

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

audio-visualizer

This is a pretty simple audio visualizer in Rust, using Piston, PortAudio, and RustFFT.

It shows a "spectrum analyzer" graph, which plots the frequencies (20Hz - 20kHz) and their relative loudness over time:

output.gif

The code is a little messy at the moment though...

Building and Running

You'll probably want to build this in release mode.

For now it only accepts wav inputs. You can also supply some graphing arguments: y-axis offset, and y-axis scale (in that order):

cargo run --release -- <wav file> 0.0 0.2

Future Ideas

  • It would be neat to use this in conjunction with the rust-vst crate to create a spectrum analyzer VST that you can plug into your Digital Audio Workstation.
  • Having some overlays that show where the exact frequencies are would be helpful, since this is a log-log plot.
  • I'd like to be able to detect what notes are being played at any given time, maybe some peak-detection and some careful harmonics math could do this.

About

A "spectrum analyzer"-style audio visualizer.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 100.0%