Waveform Matrix

The scope view. The waveform matrix captures what your pedal actually does to a wave — the real input and the real output, recorded over a grid of notes and levels, so the shape you see is a measurement, never a reconstruction.

What it shows

Each tile of the grid holds two periods of raw captured audio: the tone that went into the pedal and the waveform that came out, at one note and one drive level. Nothing is modelled, fitted, resampled, or cleaned up — a tile is the capture itself, which is exactly why this view exists. The app’s model-rendered pictures are reconstructions, and a reconstruction can be wrong in ways a raw capture cannot. This is the view you check everything else against.

The grid has two axes because distortion character moves along both. Along the note axis, tone stacks and coupling capacitors change how much of the wave survives to the clipper. Along the level axis, the shape of clipping itself changes — and some distortion lives only at the quiet end.

Why the quiet tiles matter

Crossover distortion — the dead zone some circuits leave around the zero crossing — is strongest at LOW level: the dead zone is a fixed size, so it is a large bite out of a quiet wave and an invisible sliver of a loud one. A view that only looks at one healthy drive level measures this kind of distortion exactly where it hides. The default level range reaches down to −48 dBFS for that reason, and the quiet tiles are where a crossover circuit shows its flat spots plainly.

The honest cost: at low level, the capture includes the rig’s and the pedal’s own noise, so quiet tiles look fuzzier than loud ones. That fuzz is real signal from your rig, not a rendering artifact — the app records each row’s measured noise floor alongside the tiles.

Reading it honestly

  • Each tile is drawn scaled to its own loudest sample, so shapes stay readable across a 36 dB level range — read shapes in the tiles and levels on the axis labels. Click a tile to expand it: the expanded chart shows the tile at true relative scale with a time axis, and its caption states the delivered note, level, period count and sample count.

  • Quiet tiles are checked against the row’s measured noise floor. A tile whose output doesn’t stand clearly above that floor wears an “≈ noise” badge, and its expanded caption says how far above or below the floor it sits — the wave drawn there is real captured signal, and most of it is the rig’s and device’s own noise rather than shaping of the tone.

  • Every tile states its provenance. The record stores the actual delivered note frequencies and levels — not the ranges you asked for. If a note snapped to the nearest semitone, the snapped value is what the record says. Note names are nominal equal-tempered pitches (A4 = 440 Hz, with E2 held at 82.4 Hz) for a standard-tuned six-string guitar — see Tuning and temperament.

  • A visible difference is not automatically an audible one. Two tiles can look different — a phase shift alone redraws a wave — while sounding identical. The matrix shows what the circuit does to the waveform; your ears judge what matters.

Part of the Full Fingerprint

The waveform matrix is a member of the Full Fingerprint suite: one click acquires it along with the five analysis measurements, and the grid-dimension control sits right on the fingerprint panel. A fingerprint measured before the matrix joined the suite shows as partial, with the matrix listed as not measured — that is an honest statement about a suite that grew, not a defect in the record, and nothing about the record’s existing measurements or summaries changes.

Configuration

The grid dimension is yours: 3×3, 5×5, or 7×7 — the default is 5×5, and the choice is sticky: it holds for future runs, on both the fingerprint panel and the single-measurement path, until you change it. (5×5 is the default because 3×3’s only quiet sample is the floor itself — it has no point at all in the 22 dB gap between the floor and the standard drive, which is where crossover dead zones and clipping onset live; 5×5 samples the middle of that gap and walks the note axis in octaves.) Capture time scales with the square of the size, so the choice is a real cost decision. The grids nest: a 3×3 measures a subset of the 5×5’s points, which measure a subset of the 7×7’s — on the default note span that is the octave ladder E2 · E3 · E4 · E5 · E6, with A♯2 and A♯4 joining at 7×7 — so matrices captured at different dimensions stay comparable point for point. And because the dimensions are odd, every matrix has a centre tile, and it is the same operating point at every dimension: the standard drive at the middle note of your span (E4 on the default span). That centre cell is a different thing from the standard-note row — E2 stays on the note axis for the transfer-curve cross-check, at the edge of the default grid, while the centre tile is the most musically representative cell. The note span and the level span are both adjustable in the measure sheet; the default notes cover E2 to E6, and the default levels run from 22 dB below the standard drive (a fixed voltage at your pedal, −48 dBFS on a typical rig) up to −12 dBFS.

One level of the grid is always the standard measurement drive — the same operating point the app’s other measurements use — whenever it falls inside your chosen span. On a calibrated hardware rig that is the level delivering 168 mV peak at the pedal’s input, in your rig’s own dBFS; on a plugin it is the −26 dBFS convention. The standard drive NOTE (E2) likewise always sits on the note axis when your span reaches it — so a matrix tile and the transfer curve’s measured cycle line up at the same operating point by construction. The remaining levels fill the gaps, so the steps are not always even — that is deliberate: the floor, the ceiling, and the standard point all matter more than tidy spacing, and the axis labels state exactly what was delivered.

Comparing matrices

Select two waveform-matrix records (⌘-click) and Compare overlays their captured output waves at every point the two grids share. One rule governs the whole view: tiles are matched on the delivered notes and levels the records store — never on row or column position. A 3×3 and a 7×7 of the same span genuinely share the 3×3’s nine points, and the comparison finds them by value; “same column” does not mean “same drive”, and the pane says how many tiles line up and that the rest have no counterpart.

Levels are matched in the records’ own physical domains. Two records from the same rig (or rigs whose measured volts factors agree) match on their stored dBFS. Two calibrated rigs with different volts factors deliver different voltages at the same dBFS — there the match is on the voltage actually delivered at the pedal: the quiet floor and the standard drive are fixed voltages on every calibrated rig and pair up, while the −12 dBFS ceiling is a rig-side setting that generally does not, and the view says so. A plugin record against a hardware record states two different physical quantities with no bridge, so no tiles are level-matched at all — the comparison states that and shows each grid on its own rather than pretending an alignment.

In each shared cell both output waves are drawn scaled to their own loudest sample — shapes compare directly, levels live on the labels, and as everywhere in PedalScope, a visibly different wave is not automatically an audibly different one.

Three or more matrix records compare the same way: the shared grid becomes the intersection — the tiles every selected record delivered, matched on the stored values point for point — and each cell overlays every record’s wave in its legend color. The level-matching rules above apply across the whole selection at once: all records on one axis match on dBFS, all-calibrated rigs match on delivered voltage, and one incomparable pair anywhere means no levels are matched and each grid is shown on its own, with the reason stated.

Distortion does not always grow with level

Reading down a column and expecting ever-more shaping at louder drives is a natural instinct, and often wrong. Measured on both a hardware soft-knee overdrive and its plugin model: total harmonic distortion peaks at moderate drive and falls toward the loudest levels, because the gain compresses while the harmonic content saturates — the fundamental keeps growing and the distortion, relative to it, shrinks. A loud tile that looks cleaner than the one below it can be telling the truth. Cross-check against the same device’s Gain Map, which measures exactly this trend with independent captures.

For the curious

Each frequency row is captured in one pass: a stepped tone walks the level grid from quietest to loudest with continuous phase, holding each level long enough to settle before the two stored periods are cut from the steady part of the step. The tile window starts at an upward zero crossing of the input, and the output window is the same time span at the calibrated loop latency — so the pedal’s own phase shift between input and output is preserved in the picture, not aligned away. Samples are stored as 32-bit floats at the capture rate.