The analyser
The :scope node is more than an oscilloscope. It is an analyser: a single graph node that draws a time-domain trace, a frequency spectrum, harmonic markers, and a live pitch + note readout — all from whatever signal you wire into it.
This page explains what the analyser shows, how to read it, and how to drive it from the keyboard.
What you see
Section titled “What you see”Drop a :scope after any signal source and the canvas paints four layers:
- Grid — a 10×8 division grid, like a classic oscilloscope.
- Trace — the time-domain waveform (green polyline).
- Spectrum — frequency magnitudes in dB (cyan bars, log frequency 20 Hz – 20 kHz).
- Harmonic markers — vertical orange lines at the fundamental and its first eight overtones; odd harmonics are saturated, even harmonics dimmer, so you can see whether a wave is odd-only (square) or full-stack (saw).
A measurement panel sits on top with the peak frequency, nearest note + cents, and clarity. Pinned cursors and a Δf readout layer in when you start measuring.
When the signal has a stable pitch, the trace locks — the waveform stops scrolling and sits still on the screen, aligned to a rising zero-crossing with sub-sample precision so it doesn’t wiggle one pixel per frame. Drop pitch (or feed noise) and clarity falls below 0.3, the lock releases, and the trace free-runs while a no lock indicator appears in the top-right. The transition is hysteretic: lock re-engages once clarity climbs back over 0.4, so signals hovering near the threshold don’t flicker.
What the readouts mean
Section titled “What the readouts mean”| Readout | What it tells you |
|---|---|
| Peak Hz | Sub-bin-accurate frequency of the loudest spectral peak (QIFFT). |
| Note + cents | Nearest equal-tempered note, A = 440 Hz reference, with cents offset. |
| Clarity | 0–1 confidence that the signal has a well-defined pitch (MPM). |
| no lock | Shown top-right when clarity drops below 0.3 — the scope free-runs. |
| Δf | When both cursors are pinned, the absolute distance between them. |
The pitch tracker (McLeod Pitch Method) is phase-robust, which is why a saw plus sub-oscillator still locks where naive zero-crossing would jitter.
Cursors
Section titled “Cursors”- Click the canvas to pin cursor A. Shift-click pins cursor B.
- Click within ~12 px of a peak → the cursor snaps to the parabolically-interpolated peak frequency.
Tabcycles cursor focus (A → B → A). The focused cursor draws thicker.←/→nudge the focused cursor by one FFT bin.flocks the harmonic marker fundamental (f0) to the focused cursor’s frequency — point at any peak, hitf, and the harmonic stack snaps to it.
Keyboard map
Section titled “Keyboard map”When a :scope node is focused, single-letter keys drive it:
| Key | Action |
|---|---|
Space | pause / run |
. | freeze frame |
h | toggle harmonic markers |
n | toggle axis (engineering ↔ musical) |
m | toggle measurements panel |
g | toggle grid |
r | reset to defaults |
b | cycle FFT size (2048 / 4096 / 8192 / 16384) |
w | cycle window (Hann / Blackman-Harris-4 / flat-top) |
p | toggle peak hold |
f | lock f0 to focused cursor |
Tab | cycle cursor focus |
← / → | nudge focused cursor ±1 bin |
? | toggle help overlay |
Defaults that matter
Section titled “Defaults that matter”- FFT size 4096 at 44.1–48 kHz gives ~11 Hz bin resolution and, with QIFFT interpolation, well under one cent of error on a clean tone.
- Hann window is the all-rounder; Blackman-Harris-4 is better for closely-spaced peaks; flat-top is for accurate amplitude readings. Window switches automatically apply coherent-gain correction so dB readings stay credible across windows.
- dB floor −100 with peak-fullscale reference (0 dBFS = peak full-scale) — same convention as every consumer plugin.
- Harmonics enabled with auto-tracked
f0and 8 markers, because seeing odd-vs-even harmonics is the educational payoff.
What gets saved with a patch
Section titled “What gets saved with a patch”The full analyser configuration — FFT size, window, cursors, harmonic markers, axis mode, panel visibility — round-trips through patch save/load. Pin a cursor at 1320 Hz to teach the third harmonic of A4, save the patch, and the cursor is still there next session.
Related
Section titled “Related”:scopenode reference — parameters and Web Audio mapping.- What is sound? — the mental model behind frequency, waveform, and loudness.
- Signal flow — where in the graph an analyser belongs.