jack_oscrolloscope is a simple waveform viewer for JACK. The waveform is displayed in realtime, so you can always see the signal the instant it comes through JACK's input port.


jack_oscrolloscope showing two tracks.


jack_oscrolloscope in non-scrolling mode, clipping is indicated in red, current position in white.


Source Code:

jack_oscrolloscope-0.7.tar.gz (2011-01-29)


Distribution Packages:




In the jack_oscrolloscope source directory, run:


and then, as root:

make install

or, to install somewhere other than /usr/local, e.g. /usr:

make PREFIX=/usr install


Command line options:

jack_oscrolloscope [options] [port ...]

-N <name>        JACK client name
-n <number>      number of input ports
-d <seconds>     duration of audio being displayed (default 5s)
-c               indicate clipping
-s               disable scrolling
-x <pixels>      set window width
-y <pixels>      set window height
-C <color,...>   set waveform color
-S <scale,...>   set waveform scale
-Y <height,...>  set waveform height (per port)
-G               don't use OpenGL for drawing
-f <fps>         video frames per second (default 50, 0=unlimited/vsync)
-h               show this help

Config file:

You can put default options into the config file ~/.jack_oscrolloscoperc. This file should consist of one single line, with the options just like you would have entered them on the command line.

Options given on the command line override those in the config file. To override options which take no arguments, append 0. E.g. to override "-s", use "-s0".

Port arguments are not yet supported in the config file.


jack_oscrolloscope eats too much CPU:

Unfortunately, with SDL (option -G), scrolling currently can't be hardware accelerated on X11. If this is an issue, use OpenGL, disable scrolling (-s), or reduce the window size / number of tracks.

Too much jitter...:

If scrolling is not as smooth as it ought to be, you should...

You may want to put "-f 0" into your ~/.jack_oscrolloscoperc.
Do not use -f 0 unless vsync is actually working, as that would only cause a useless waste of CPU cycles.