Your first measurement
Ten minutes, one pedal, one setting. You’ll end with a Fingerprint — the pedal’s full characterization, the complete suite of measurements made in one run — saved in your library.
Before you start
Rig cabled per Setting up your rig, pedal in the loop.
A calibration for this device, sample rate, and knob setting.
The pedal set the way you actually use it.
Monitors down, or headphones off. The interface’s output drives the pedal and, on most interfaces, your monitors too. PedalScope stops once before the first test signal on a new interface to say exactly that — the output level guard — and won’t ask again on that output unless you push the level past −10 dBFS.
Create the pedal, then define its panel
The pedal exists in the library before any measurement does. Click + at the bottom of the sidebar, name the pedal, and choose Create & Define Controls… — a minute of naming each switch and knob (see variants) means the very first measurement already records exactly how the panel was set, with a canonical label comparisons can trust. The new pedal’s overview page offers Measure Fingerprint right away.
(You can still skip ahead — typing a new name in the measure flow’s pedal picker creates the pedal on the spot, and controls can be defined later via the sidebar’s gear menu — but panel-first is the order that pays off.)
The flow
Click Measure Fingerprint on the pedal’s overview page (or New Measurement in the toolbar). Three steps:
Setup. Choose Hardware Pedal as the source (the other choice, Plugin, has its own page), then pick the interface, the input the pedal returns into, and the sample rate. The device list is ranked by measurement plausibility — real duplex interfaces first; virtual, aggregate, and one-way devices annotated and last — but nothing is hidden, and your last-used device is remembered. 96 kHz is the default for a reason: a distortion pedal’s whole point is adding harmonics above the note, and higher rates leave room to capture them.
Calibrate. Reuse your stored calibration (the app matches it to the device and rate) or run a fresh one — remember the straight-cable patch, then re-patch the pedal.
Measure. The default is the Full Fingerprint: one click acquires the whole suite — Harmonic Distortion, Transfer Curve, Compression, Gain Map, Chord IMD, and the Waveform Matrix — at the setting on the panel. Keep the default level (−26 dBFS), pick the pedal (or type a name to create it), set the variant picker to match the physical knobs, and press Measure Fingerprint (the button shows a time estimate; a few minutes at the defaults on hardware — a plugin renders offline, well under a minute).
If the pedal has no controls defined yet, the box that would hold the picker says so — “No controls are defined on this pedal, so this measurement will record no setting.” — and offers Define Controls…; you can measure anyway, and the record is tagged with the pedal alone until you correct it with Edit Settings… later.
Next to the variant picker are three optional provenance fields: a notes line (anything the panel setting can’t say — the plugin flow can pre-fill it, but the field stays yours), a knob photo well (drop an image, browse, or right-click to shoot one with your iPhone), and a Room °C box. Temperature matters mainly for germanium circuits, whose junctions drift about −2 mV/°C — leave it empty when you didn’t measure it; an empty field honestly means “not recorded”, never zero. Every record also has a general notes field on its own page, separate from the rig notes, for what you heard and why you measured.
A checklist ticks off each sub-measurement as it lands in the library. The first is the harmonic sweep: a sine that glides from low to high, recorded and unpicked into the note that went in and each harmonic the pedal added; the rest of the suite follows automatically — nothing to re-patch between steps. Abort keeps what’s measured and stops the measurement in hand without saving it (the panel reads Stopping… until the output has actually stopped): a partial Fingerprint is honestly labeled (3/6) and a Complete button finishes it later with identical settings. One kind on its own — say, just a quick Harmonic Distortion pass — lives under Single measurement.
Reading your first fingerprint
The result lands in the library sidebar, which mirrors what a Fingerprint is: each pedal is a top-level group, each Fingerprint under it is one acquisition (labeled with its setting and date), and the sub-measurements nest inside with short names — Harmonic Distortion, Transfer Curve, Compression, Gain Map, Chord IMD, Waveform Matrix. Click the Fingerprint row for its overview — the setting, quality flags, one tile per sub-measurement, and the plain-language summary of the whole acquisition; click the pedal row for the device view; click any sub-measurement for its charts. Importing measurement files always asks which pedal they belong to, so everything stays filed under a device. What to look at first — with the full story in Harmonic Distortion:
The curves are the pedal’s recipe. Each curve is one added harmonic (H2, H3, …), read at the note you play. Big H3 with odd friends means symmetric, focused clipping; a strong H2 means asymmetry — warmth, or looseness, depending on taste.
The THD chart is “how dirty, where”. The figure is the added harmonics as a fraction of the output — around 1 % on a lightly driven overdrive, tens of percent on a fuzz — a proportion, never a verdict on hearing.
H1 is the pedal’s EQ — its basic tone shaping, before any harmonics. A soft-knee overdrive’s mid-hump or a big fuzz’s mid-scoop shows up here.
If the numbers look implausible (THD near your interface’s floor, everything flat), check the usual suspects: pedal actually on? right input channel? calibration from the same knob positions?
Control measurements: the null run and the re-patch pair
Two optional captures put a floor under everything else a hardware session claims. Both are ordinary records — they land in the library, export, and compare like any measurement; the only special thing about them is what they measure.
The null run is the loop with no pedal in it. Flip on Null run — nothing in the loop in the Measure step, patch the interface output straight back to the input with a plain TS cable or through the Breakout Box’s IN → OUT path (see Bench fixtures) — or true-bypass the pedal — and run at the same interface gain as the pedal captures this floor speaks for. The record files under the dedicated Null run (loop only) library entry with no knob settings — there is no device to have any. Compare a pedal record against its session’s null run: whatever stands above the null curve is the pedal’s own contribution; whatever both share is your rig and cables. The register matters — a null run shows the rig-and-cable floor. It never “proves the pedal is noisy”; it shows where noise claims stop being resolvable.
The re-patch repeatability pair is the same pedal at the same knob settings, measured twice, with every cable pulled and reseated and a fresh calibration in between. The pair’s difference is your rig’s own measurement-to-measurement floor — the context under any claim that two units differ. The Re-patch Note button beside the notes field pre-fills a standard marking so the pair is findable later (the note stays yours to edit or clear). One pair doesn’t establish a distribution, but it bounds the trivial case — see comparing units honestly.
Order matters in a session: null run first, then the re-patch pair, then any knob work. If the re-patch turns up something odd, the clean floor is already on record to read it against. Both controls are most citable when captured under the same conditions as the measurements they guard — for standard-condition sessions, that is the PSC-1 drive level.
Sharing and exporting
Everything you measure can leave the app:
Any measurement page as a picture. Every measurement page has Copy and Save buttons at its top right. Both produce the same thing: one 2× PNG of the page’s charts with a provenance header — pedal, setting, measurement kind, date, the calibration it rests on, and the app build — so the picture answers a stranger’s questions on its own in an issue, a forum post, or a chat. Copy puts it straight on the clipboard; Save writes it with a self-documenting filename (pedal, setting, kind, date). The export shows the page exactly as you see it — every view toggle (phase-rotation removal, relative-to-H1, the Gain Map’s quantity picker, the axis framing) renders in the state it’s in on screen, and a caption in the image states any option a toggle controls, so the picture documents its own settings.
A single chart card. Right-click a card and choose Export Chart as PNG… — just that card as rendered, without the provenance header.
Any record as a data bundle. Right-click a measurement in the sidebar (or use Export on the record’s page) to save a folder with the measurement JSON, the run’s calibration, a metadata file (setting, notes, temperature, provenance), the knob photo, the machine-readable control state, the capture-quality report, a plugin’s exact settings blob where one was captured, and — for transfer curves — a two-channel WAV of the averaged input/output cycle. The JSON is exactly what the app imports, so a bundle is also a backup: drop it on another Mac’s PedalScope, or load it in Python for your own analysis.
A pedal, sweep, or fingerprint as a container. Right-click the pedal, sweep, or Fingerprint node and choose Export Pedal… (or Export Sweep… / Export Fingerprint…): a folder of ordinary record bundles plus one manifest that remembers the structure — sweep membership and titles, the baseline star, fingerprint groups, settings, tags, portraits, notes at every level, and the calibrations everything ran with (photos, rig settings, and archived state included). Importing the container on another Mac (drag it into the import dialog, which now accepts folders) reassembles all of it under the right pedal — re-importing the same container is safely a no-op, so containers double as backups. Each member bundle stays identical to what that record’s own Export button writes. Record titles are provenance: they keep the pedal’s name as it was when measured, and if the pedal has been renamed since, lists and detail pages simply render the current name — the stored title never changes.
Keeping a growing library workable
Three light-weight tools keep hundreds of measurements from becoming a wall of rows:
Tags. On the pedal’s overview page, give it project tags (“hardware program”, “model comparison”). A pedal can carry several — the same overdrive legitimately belongs to more than one project. Create a tag by typing it; remove it from a pedal without deleting it elsewhere. The scope menu at the top of the sidebar narrows the list to one tag (or to untagged pedals) — it’s a filter, not a move: the pedal still appears under every tag it carries, and the menu stays visible (orange while active) so a scope can never silently hide your library.
Search. The field at the top of the sidebar matches pedal names, makers, record titles, tag names and control settings (the bracketed part of a variant’s label) — case- and accent-insensitive, any substring — but not dates, knob notes or run notes. It narrows what the tag scope and the archive toggle already show, so a scope stays a scope; the one exception is that an archived pedal or record the query matches is shown, labelled archived, so you can find what you put away. A pedal matched only through one of its records opens just far enough to show that record; a pedal matched by its own name keeps whatever you had open. None of that is remembered: clear the query and the sidebar is exactly as you left it. No match says so in the list rather than going blank.
Open and close in bulk. Option-click a pedal’s disclosure triangle to open or close that pedal and everything under it (the Finder gesture), and use View ▸ Collapse All Pedals (⌥⌘←) or Expand All Pedals (⌥⌘→) — the same two items sit in the gear menu at the bottom of the sidebar — for every pedal at once; what is inside each pedal keeps the state you left it in, across launches and across library maintenance.
Archive, never delete. Right-click a pedal or a record and Archive it: it disappears from the sidebar and every picker, but nothing is lost — the archive-box button at the bottom of the sidebar reveals archived items (dimmed) for reference or unarchiving. Until something is archived the button stays disabled (its hover tip says why). Pair it with a container export and archived work is cold storage, not risk.
The baseline star. Mark one sweep per pedal as its baseline (right-click the sweep, or the star on the sweep’s page). The mark is machine-readable — “compare against the baseline” stops being something you have to remember which sweep it was.
Where to go next
Open each sub-measurement of your new Fingerprint: the Gain Map is the drive story, Compression the squash under your fingers, Chord IMD what chords go through.
Change one switch on the pedal and measure a second Fingerprint — then ⌘-click two Harmonic Distortion records and Compare.
Turn knobs live and watch the harmonics dance: Live mode.
No hardware handy?
Launching the app with the --simulated-dut flag adds a software test
pedal (a soft-knee overdrive circuit with a 7-way clipping-diode switch) to
the device list. The entire flow — calibration included — runs against it
with no audio hardware, which is how the app’s own acceptance tests walk
this exact tutorial.