FAQ
Why doesn't PedalScope use AI?
Because the methods it uses were chosen for what they explain. Nonlinear system identification is mature and robust, and the quantities it measures — which harmonics a device adds, at what level, and how they combine — are the ones the established literature on auditory perception is written in. AI has recently become very good at emulating what a circuit does to a signal, but an emulation reproduces the output without taking it apart. PedalScope's measurements take it apart. Its plain-language summaries are generated from those measurements by fixed, hand-written rules: there is no generative model in the app, and your measurements never leave your Mac.
Why is PedalScope Mac-only?
The Mac was chosen for four reasons. Apple designs its hardware and operating system together, and PedalScope builds directly on that integration: it binds explicitly to the audio interface you choose, refuses to run through a hidden sample-rate conversion, and never touches your system's default devices. It is written in Swift 6, whose memory safety and compile-time checking of concurrent code give the app security, stability and performance that the language enforces, not just careful programming. The app is managed by a small developer team with domain expertise and experience in macOS development. And the Mac is a predictable foundation: widely available, running one operating system on a well-defined range of hardware, and a popular platform for recording and music production.
Why isn't PedalScope open source?
Distribution of the app as a commercial product was chosen for the sake of sustainability and independence. The underlying principles are documented in detail in hardware, software and reference materials that are fully open source: the plans for the Reference Box and the Breakout Box, the methods documents with an independent Python reimplementation of the analysis, and the measurement libraries — all in one public repository, PhaseDog/pedalscope-open-source, and gathered on the Open Source page. The core analysis functionality is provided in the free app, distributed through the Mac App Store: for simulations, and for visualization of the reference measurements of well-known commercial pedals, which can be downloaded free of charge from this site.
How do you validate the measurements?
Against answers known before anything is plugged in. The project's hardware reference box has distortion behavior determined by resistor arithmetic and Fourier theory — for example, one circuit in it must produce a harmonic ratio of exactly −13.98 dB. PedalScope measures −14.0. Every analysis algorithm is additionally tested in software against closed-form mathematical ground truth on every build, the whole analysis is reimplemented independently in Python and held to parity with the app on every change — the methods documents carry that check and its tolerances — and the plugin-measurement path is verified against a unit that should measure as perfectly clean — PedalScope reads its distortion at the numerical floor, around −174 dB. When the app tells you two pedals differ by 3 dB somewhere, that number has been through all of that. The reference box's own measurements are published as the reference library, so you can open the numbers yourself; the full validation story is in the user guide and the methods documents.
I'm a guitarist / pedal designer / recording engineer — what do I
actually do with this?
Guitarists: see what your pedals actually do to the signal — and shop or argue with evidence. Compare two drives on the same charts, see which one cleans up under a light touch and which one never does, and find out whether that boutique pedal actually behaves differently from the classic it's compared to.
Pedal designers: a bench instrument for iteration. Measure a prototype, change one component, measure again — PedalScope resolves changes as small as a single swapped diode — and keep every revision's fingerprint as a permanent, comparable record of the build.
Recording engineers: decide plugin-versus-pedal questions with data instead of forum threads. Measure the hardware unit and the plugin at matched levels and see precisely where they agree and where they part company — and know how hard you can push a drive before its character changes.
What about impedance? Don't I need a re-amp box between my interface
and the pedal?
It depends on the pedal, and PedalScope is honest either way. An audio interface's line output is a low-impedance source, while a guitar pickup is not — and some circuits care about that difference. Most overdrives and distortions with a buffered or op-amp input stage — most modern pedals — behave essentially identically from either source. Vintage-style fuzzes are the big exception: their input stage interacts strongly with what's driving them, and a fuzz measured from a low-impedance source is genuinely a different measurement than one driven from a pickup-like source. For those, a re-amp box or a simple series-resistor fixture restores pickup-like conditions — and PedalScope records the fixture as part of the measurement's identity (a declared source control on the pedal, and the source impedance stamped in the rig's calibration), so a fingerprint always says exactly how it was driven. Either way you get a true measurement of the pedal as it was actually driven; the fixture just needs to be part of the record, and the app makes sure it is.
Can PedalScope profile an amp?
No — and please don't try by connecting an amplifier's speaker output to your audio interface, which can damage the interface. PedalScope measures pedal-level devices: anything that takes an instrument- or line-level signal in and puts one out (which includes amp-sim and drive plugins, hosted by the app and measured offline). It does not measure amplifiers. A real amplifier's speaker-level output, its reactive load, and its power-stage behavior are outside what this instrument measures, and the app says so wherever an amp could be connected. If you're even thinking about it, read Safety: amplifiers first — a tube amp must always drive a proper load, and speaker-level signals destroy line inputs.
Can I compare my measurements with someone else's?
Yes — if you both measure at the same stated condition, and PedalScope is built to make that condition checkable rather than remembered. A drive pedal's behavior depends on how hard it's driven, so two measurements only overlay if the drive level, the source, and the loading match. Every PedalScope measurement records its source fixture and embeds its calibration, and once you've entered your interface's volts factor (one scope or multimeter reading of the app's built-in calibration tone; it describes one interface, so the app clears it when you switch devices), drive levels are stated in volts — which are portable between rigs in a way interface-relative numbers never are.
The standard condition is called PSC-1: 168 mV peak at the pedal input with the standard sweep, driven direct (or through a declared 10 kΩ fixture for vintage-style fuzz), into a high-impedance input, on a clean same-session calibration. Two PSC-1 measurements of the same unit are comparable. The guide has the complete definition. The published reference library is the concrete case: measurements of the project's known-answer circuits, ready to import and set beside your own. The app grades this for you: a Harmonic Distortion record whose recorded provenance meets the condition wears a PSC-1 badge quoting the condition string, and that string rides the provenance strip of every chart you copy or save from it. A record without the badge shows nothing — most measurements are exploration at whatever drive the question needed — and hovering its calibration chip explains what would need to change, or that its calibration carries no volts factor to check against. The badge asserts recorded provenance, nothing more.
One honest caveat: two units of the same pedal model measured perfectly can still differ — see the next question.
See also: How do you validate the measurements?
My clone measures differently from the original. Is it
wrong?
Not necessarily — and PedalScope will never tell you it is. Two originals off the same production bench differ: carbon-comp resistors drift, diode forward voltages scatter, germanium transistors vary widely. PedalScope resolves changes as small as a single swapped diode, which means it also resolves the natural spread between two "identical" originals. A difference smaller than that spread is not a verdict about your build.
That's why the app reports differences as measured quantities ("H2 differs by 3 dB at this note") and never as judgments. When comparing a clone to an original, treat single-unit references as one sample, not ground truth — the original you measured is one point in its model's population. Putting real numbers on typical unit spreads for classic circuits is planned work (it requires measuring many units of the same model, which is exactly the kind of study this instrument exists for). Until then, the honest position is that nobody knows the typical spread for any given circuit yet. Which is itself the reason not to read a small measured difference as a defect.
Why not just use REW? It's free.
If you want a free, cross-platform audio analyzer, REW is well worth using — its distortion measurement uses the same log-sweep family of methods PedalScope builds on. The difference is what the two tools are for. REW is built for rooms and loudspeakers: its questions are flatness, decay, and THD, and its workflow assumes you know why you're asking. PedalScope is built for distortion effects: it measures the musically meaningful quantities — touch response across drive level, even/odd harmonic balance, what a two-note chord invents, how character shifts as you dig in — keeps every measurement in a library with its calibration and control settings attached, explains results in plain language generated from the numbers, and lets you listen to what it found, loudness-matched. And the whole instrument is validated against a hardware reference box with answers known from circuit theory before anything is plugged in. If you want a general-purpose audio analyzer, use REW. If your question is "what does this pedal actually do, and how is it different from that one," that's what PedalScope is for.
What audio interface do I need? Does anything need
calibrating?
One audio interface that both plays and records, wired into a loop: the app plays a test signal out of the interface's first output pair, through the pedal, and reads it back on one input of the same device. Any reasonably clean duplex interface does that. PedalScope calibrates the loop itself, every session: it measures your interface's flatness, noise floor, and round-trip latency directly, embeds that calibration in every measurement, and warns you if the rig's floor limits what a measurement can claim. There is no external calibration gear and no trusting a spec sheet — the app measures your actual rig. An ordinary desktop interface is entirely adequate — the project's reference rig is one — and any number of inputs is fine: you choose the one the loop returns on.
What matters when choosing: an honest noise floor, reasonably flat response (the app measures and compensates level, and tells you the flatness it found), and separate input/output jacks you can wire into a pedal loop. One optional extra: entering your rig's volts-per-dBFS factor (a single multimeter or scope reading of the app's calibration tone — a steady sine at a known level, made for exactly this) upgrades level readouts from interface-relative to absolute volts, which is what makes measurements portable between rigs.
A Mac's own headphone and microphone jack is not a substitute for an interface; the next question says why.
Why can't I use my Mac's headphone/microphone
jack instead of a USB audio interface?
Because the measurement loop needs one device that both plays and records, and a Mac's built-in audio is two. The built-in output and the built-in input are separate devices — on a MacBook Pro, macOS lists them as “MacBook Pro Speakers” and “MacBook Pro Microphone” — and the loop has to play and record through one device, so that calibration and measurement traverse the same electrical path on one clock. Combining the two in a macOS aggregate device is not a supported path: an aggregate that spans two clock domains applies drift correction, and drift correction is resampling, which the measurement path forbids in as many words. (Whether the built-in devices in fact share a clock is measurable and has not been measured; the route is unsupported, not proven impossible.)
The jack's input is the second problem. Where a Mac has a single sound port, Apple's own documentation says it “supports stereo output and mono input (such as a headset with a built-in microphone)”. That input is a microphone input: it supplies a bias voltage and expects millivolts, so a pedal's output overloads it, and the bias puts DC on the pedal's output jack.
What to use instead is an audio interface with a line output and a line or instrument input, wired into a loop through the pedal. Any reasonably clean duplex interface does it; what to look for is under What audio interface do I need?
Can an audio utility running in the background
affect a measurement?
Yes, if it installs its own audio driver. System-wide volume, routing and capture utilities work by putting a stage of their own into the audio path, and a measurement loop is an audio path like any other. The one measured during development is SoundSource, from Rogue Amoeba: with it running, a bare loopback calibration read about 28 ms more round trip (2,739 samples at 96 kHz), on two different interfaces, while the loop's flatness, distortion floor and gain read exactly as they did without it. Only the latency moved, so nothing else in the calibration would have flagged it.
So before you calibrate or measure, quit any utility of that kind. Quitting the app is not always enough, because its driver can stay loaded: log out and back in, and take it out of your login items so it isn't running at the next start-up. Leaving it on all the time isn't a way round this either — whether it was running is recorded nowhere in a calibration, so there would be no way to check afterwards that it was consistent. Whether other programs that use the interface without installing a driver have the same effect has not been measured.
Which multimeter do I need to read the volts
factor?
None, to use PedalScope — the volts factor is optional, and without it every level simply stays in dBFS. If you do want one, the requirement is a specification rather than a brand: an AC-volts range of a few volts or less with 1 mV resolution or finer, specified at the 220 Hz of the app's test tone. The very cheapest meters, whose AC ranges start at 200 V, can't resolve the test tone at all.
The meter on PedalScope's development bench is an Agilent U1252B (a lab-grade handheld, now sold under the Keysight name), which is far more than this job needs. Three inexpensive, widely available meters meet the requirement on their makers' published specifications:
- Klein Tools MM420 — 4.000 V AC range at 1 mV, ±(1.0% + 3 digits), specified from 50 to 400 Hz, True RMS.
- KAIWEETS KM601 — 999.9 mV and 9.999 V AC ranges at 0.1 mV and 1 mV, specified from 40 Hz to 1 kHz, True RMS.
- AstroAI DM6000AR — 600 mV and 6 V AC ranges at 0.1 mV and 1 mV, specified from 40 to 400 Hz, True RMS.
Those three have not been used on the bench: the list is a check against each maker's datasheet, not a measurement of the meters. Whichever you use, read it at the test tone's −12 dBFS preset rather than the sweep level — a meter's fixed "plus N digits" error matters least on a bigger reading. The calibration page of the guide works through the arithmetic.
Are there pedals this method can't measure?
Yes, and PedalScope is built to tell you when it meets one. The measurement assumes the pedal's behavior holds still during a sweep — true for the classic overdrive/distortion/fuzz families. It is NOT true for effects whose behavior changes over time: heavy sag, envelope-dependent gating, blocking distortion that recovers slowly, a compressor's time-dependent gain, or anything with modulation in the path. Those devices produce plausible-looking charts that are actually artifacts of a moving target.
The instrument's defenses are measurements, not disclaimers: every transfer curve carries a memory metric that flags behavior a static curve can't explain, and repeatability checks catch chains that don't repeat (in one documented case, two captures of a plugin's untouched default preset disagreed by over 20 dB; before every plugin run the app now renders the chain twice and stops with the difference quoted when the two don't agree). When the instrument says a device is outside the method, that IS the finding: "this pedal's character is time-dependent" is a true and useful thing to know about it — it's just not a fingerprint.
Does PedalScope measure how a pedal changes over
time?
Not yet. Every measurement today reads a pedal in a settled state, at a steady level. Measurements of how a pedal's behavior changes over time — how quickly it recovers after a loud burst, whether it responds differently coming down from a loud passage than going up to it, and how it follows a decaying note — are in development. They will arrive as a free update, covered by the Measurement Unlock.