Have you ever thought why oscilloscopes tend to look something like this:

Screenshot 2026-03-21 at 8.53.03 AM.png

If I'd ask, what is the frequency range of this waveform? Would you have an answer or able to make any guesses without looking at the source code / midi inputs?

And what about this, is it exactly twice the frequency of the above?

Screenshot 2026-03-21 at 8.54.20 AM.png

or this?

Screenshot 2026-03-21 at 8.54.38 AM.png

You see the problem: you can't tell the frequency of the waveform because the period information is not available - ie: the time interval which one oscillation completes.

But wait - there is more that's missing: what if there is a second waveform that is played at double/half the frequency, how could you tell just by looking?

Generally, you can’t.

Motivation (other than using an existing solution)

There are two main problems presented by a traditional oscilloscope plotted in:

It would be nice if I can recognize these just by looking at the graph visually:

  1. Determining its frequency
  2. Determining their frequency ratio(s) given a second or third oscilloscope visual
  3. Approximating any additional harmonics present in the waveform, and their amplitude ratio(s)
  4. (optional but nice to have) Allow for making simple 2D shapes like squares and triangles

In fact, there are already two very compelling solutions to these, which are: