sndpeek :
real-time audio visualization

authors: Ge Wang | Perry Cook | Ananya Misra
George Tzanetakis (MARSYAS)
date:2003 - present
version: 1.4 (what's new?)

sndpeek is just what it sounds (and looks) like:

  • real-time 3D animated display/playback
  • can use mic-input or wav/aiff/snd/raw/mat file (with playback)
  • time-domain waveform
  • FFT magnitude spectrum
  • 3D waterfall plot
  • lissajous! (interchannel correlation)
  • rotatable and scalable display
  • freeze frame! (for didactic purposes)
  • real-time spectral feature extraction (centroid, rms, flux, rolloff)
  • available on MacOS X, Linux, and Windows under GPL
  • part of the sndtools distribution.

look -> "gallery"

Download sndpeek-1.4!
(what new?)

MacOS X: executable (mountain lion and later)

Win32: exe + glut32.dll | glut lib (for compilation)

All platforms (OS X, Linux, Windows): source
(Linux compilation requires libsndfile)

question? comment? complaint?
email (gewang /at/

usage: sndpeek  --[options] [filename]
  ON/OFF options: fullscreen|waveform|lissajous|waterfall|
  number options: timescale|freqscale|lissscale|logfactor|
   other options: nodisplay|print

    sndpeek --fullscreen:ON --features:OFF --spacing:.05

  *** if no file is provided, the mic input is used. ***

sndpeek + wutrfall (1.3)
Ge Wang, Perry R. Cook, Ananya Misra
'h' - print this help message
'p' - print current settings to console
's' - toggle fullscreen
'f' - freeze frame! (can still rotate/scale)
'1' - toggle waveform display
'2' - toggle lissajous display
'3' - (also 'w') toggle wutrfall display
'4' - toggle feature extraction (broken)
'd' - toggle dB plot for spectrum
'r' - toggle rainbow waterfall
'b' - toggle waterfall moving backwards/forwards
'x' - restart file playback (if applicable)
'p' - print current settings to terminal
'm' - mute
'j' - move spectrum + z
'k' - move spectrum - z
'u' - spacing more!
'i' - spacing less!
L, R mouse button - rotate left or right
'[', ']' - rotate up or down
'-' - scale DOWN the spectrum
'=' - scale UP the spectrum
(shift)'-' - scale DOWN the waveform
(shift)'=' - scale UP the waveform
'c' = LOWER log factor of spectrum display
'v' = RAISE log factor of spectrum display
      (log factor of 1.0 is linear display
(shift)'c' - LOWER amount of viewable waveform
(shift)'v' - RAISE amount of viewable waveform
'l' - scale DOWN the lissajous!
'L' - scale UP the lissajous!
'y' - decrease delay for lissajous plot
'Y' - increase delay for lissajous plot
'q' - quit

soundlab |