Terminal-based audio visualizer built with Node.js. Real-time spectrum analysis, waveform rendering, and a volume/peak meter — all inside your terminal.
- 📊 Spectrum bars visualization
- 🌊 Waveform view
- 🔵 Circular visualization
- 🔊 Real-time volume (RMS)
- 📍 Peak meter with smooth decay
- ⚡ Fast and lightweight
- ⌨️ Keyboard controls
- Node.js (>= 16)
- macOS →
ffmpeg - Linux →
sox(reccommand)
git clone
cd node-cli
npm installnode index.js| Key | Action |
|---|---|
m |
Switch visualization mode |
+ / - |
Increase / decrease sensitivity |
space |
Pause / resume |
q |
Quit |
On the right side you will see:
- Vol — current loudness (RMS)
- Peak — maximum detected level (with smooth decay)
Example:
Vol : [██████████░░░░░░░░]
Peak: |
- Captures raw audio from system/microphone
- Converts PCM → float samples
- Uses FFT for frequency analysis
- Calculates RMS for loudness
- Applies smoothing for stable visualization
- Renders UI using terminal graphics
You can tweak these values in the code:
const SAMPLE_RATE = 16000;
const FFT_SIZE = 1024;- Works best in a large terminal window
- Requires access to an audio input device
- Peak meter uses exponential decay for smoother visuals
- 🎨 Gradient colors (green → yellow → red)
- 🔴 Clip indicator
- 📈 Auto gain normalization
- 🎚️ Stereo support
MIT


