Welcome to RustyKat website! Music and audio software for creative Mac users.

About WaveWindow


An oscilloscope is a simple and clever device.  A basic oscilloscope has only two inputs – horizontal and vertical, like an Etch-A-Sketch!  When an electronic signal is applied to each of the inputs, a dot of light appears at the position indicated by the combination of the two inputs.  Consider all the images you can draw with such a device, and consider that a television is 90% oscilloscope!

'Waveform' is the name given to what we see on the screen of an oscilloscope.  It is the visual representation of something that changes with time.  This 'something' is also called a 'signal' and contains information which we want to visualize.

In most oscilloscope applications, a standard 'timing' signal (a sawtooth wave) is applied to the horizontal input, to get the beam moving left-to-right across the screen, then quickly sweep back to the left side, and repeat.  In this manner, the horizontal axis provides a time reference and when we apply a signal to the vertical input, we see how it changes in time.

But, just to keep you on guard, Lissajous figures are created by applying a slightly different signal to the horizontal input.  So even though the incoming sound is the same, the visualization of it is different.

Requirements: Mac OS X 10.9 or later. Audio input device such as a built-in microphone and a USB audio interface.

WaveWindow main window


Pause Button

This button freezes the display.  Don’t forget to hit the Pause button again to restart the display!

Setup… Button

Click this button to bring up the Preferences Dialog.  Preferences can also be invoked via the application menu.

Snapshot Button

Clicking this button will place a snapshot of the display in the Clipboard.  You can paste from the clipboard into your favorite program.

Resizing the Window

Resize WaveWindow just as you would any Window, by dragging the little resize gadget in the lower right corner.  This will allow you to see more (or less) data.  And you can also scale the vertical axis this way.

WaveWindow Preferences



Checking this item places a grid on the display. Tick marks are placed along the horizontal axis.  The distance between two tick marks is called a ‘Division’.  The unit of time represented by one division is shown on the WaveWindow display.  Example: Horz 1.33 mSecs/Div

The vertical axis is represented by a solid line at the midpoint and a dashed line midway between the vertical limits.  (Grid lamp is fairly meaningless in Lissajous mode.)



A dot is plotted for each sample data point.


Sample data points are connected by lines.

Lissajous Figures

In Lissajous mode, a sine wave is substituted for the standard 'sawtooth' wave applied to the horizontal input.  The frequency of the Lissajous horizontal sweep frequency is 220Hz (set Horizontal Scale to 1x when using this mode.)

Lissajous figures are of primary interest in viewing frequencies which are integer ratios to the sweep frequency.  The figures thus produced can actually be used to determine the frequency of the input, by looking at the resultant pattern, and comparing it to a table of known patterns for given frequency ratios.  For our purposes, it is interesting enough just to play some notes and watch the patterns.  Generally, you should be in Async mode when using Lissajous Figures.  Play an 'A' on your instrument and observe the resultant pattern.


'Synchronizing' means 'to get in step with'.  Consider what happens when the waveform being displayed does not repeat precisely at the fixed interval...  The waveform can appear to 'travel' across the display, either backward or forward.  This is a common on all oscilloscopes.  To make the waveform appear to stand still, synchronization may be employed.  


Async means no synchronization.  It can sometimes appear as if there are several waveforms on the screen, even though there are not.  This is a result of the screen being erased and redrawn faster than the eye can discriminate.


There are actually many different ways to synchronize to an incoming signal.  No method works in every situation.  The sync mode employed here delays the incoming signal until a positive-going, zero-crossing is found.  Zero-crossing is where the signal crosses the vertical axis at 0.  Positive-going means that the signal is crossing from below the axis to above.  Very often this will be a correct place at which the waveform repeats a cycle, but not always.


This sync method uses a bit of 'fuzzy-logic' to determine if the signal is perhaps a 'pitched' sound.  When it finds something that looks like it may be some sort of musical note, it holds it on the display until the next musical note is found.  This can be useful for a hands-free operation where you play a note, then be quiet, and the wave will stay on the screen.  Of course, the display will not change at all if WaveWindow cannot find a 'musical note', so if the display seems to have 'locked up' make sure you are not in Capture mode.


This preference simulates the focus adjustment found on real oscilloscopes.  Here, focus merely changes the size of the dot or line (see plot modes).


This preference changes the horizontal time scale.  At the 1x setting, every point of incoming data is displayed. At 2x, every other data point is displayed.  At 4x, every fourth point is displayed.  This allows you to get more data on the screen at the same time.  If the incoming data is periodic, you will see more cycles when the Horizontal Scale is increased.


A number of different color sets are provided for your viewing pleasure.  Experiment to find the best color combination for your monitor.

Copyright © 1993-2003 Rustle Laidman, Copyright © 2004-2023 Laidman & Katsura. All rights reserved.