Every analyzer prints numbers. Proof prints the floor those numbers sit on, and refuses to show a digit it has not earned. It measures what your own interface contributes — its noise and its distortion — before it measures anything else, and then reports every reading against that.
Not released yet. There is no download and no price — when there is, it will be here.
Its noise and its distortion are added to whatever you are trying to measure, and they do not announce themselves. A number that does not say how far it sits above them is a number you cannot act on.
Patch output 1 back into input 1 and Proof measures that loop before it measures anything else. What it learns is the floor — and it is re-runnable whenever the rig changes.
No converter has a flat one. Proof draws it as a region under the curves, across frequency, because that is what it actually is — and a single number for it would be a fiction.
A reading well clear of the floor is real. One near it is a range. One under it is an inequality. The floor decides which, on every read.
This is the part that makes Proof different, and it is not a feature you turn on. Where a reading sits relative to the measured floor decides how it is allowed to be written down.
There is no setting for how many digits to show. The number of figures comes from headroom: four figures means the instrument is entitled to four. When the headroom is not there, the digits are not there either — which is the same rule as the table above, applied one decimal place at a time.
The tier is computed from the rig on every read and never stored, so a hand-edited file cannot claim one it has not earned.
No measured floor, or a rig that cannot vouch for itself. The readings are still real work — they are just not bounded by anything. The built-in simulator is capped here permanently, because a modelled rig has perfect provenance of nothing.
A floor has been measured on this rig and the readings are held against it. This is the tier the app is built to reach on ordinary hardware.
A reference channel and calibration on every active channel. Proof will tell you exactly which reasons are keeping a rig below this, one line each.
Stated plainly, because an instrument that overstates itself is worse than one that does less. The app's own masthead prints 3 ready, and each of the other six explains itself when you open it rather than drawing something that looks like an answer.
Each harmonic against the floor it stands on.
Distortion swept, with the floor drawn underneath as a region.
Bounded by the noise spectrum rather than the distortion floor — a level is not a ratio.
Nothing writes an impulse into a record yet.
Needs an acoustic capture — a microphone and a room.
Needs an acoustic capture, and a tail long enough to hold the decay.
Needs an acoustic capture — decay over time needs something that decays.
Needs a series of sweeps at several drive levels, each with its own floor.
Needs a sense-resistor jig, and a rig with a reference channel.
The work left on the other six is ours, not yours: an acoustic capture path, a series of captures, and a measurement jig. Nothing about your rig is in the way.
Every capture is written as a Proof record: the rig it was taken on, the floor it was bounded by, and the curves. You can open it in any text editor.
Re-opened later, a record is re-hashed rather than trusted. One that has been edited says so, and one that fails its own hash is refused rather than drawn.
Records live in the app's own documents folder on your device. Read them, verify them, delete them, export them. We never receive a copy.
Proof will not print a number it cannot justify. It will not draw a floor it has not measured. It will not report phase or arrival time on a rig running two uncorrected clocks, because those are not reportable there — and it says so rather than adding a caveat underneath.
Email jamey@warrenlabs.com. It reaches a person. If you are reporting something that looks wrong, the most useful thing you can send is the measurement record itself — Proof writes every capture as a readable text file you can open, check and share.
Proof asks for three things before it can measure: an audio interface, one short cable from its output 1 back into its input 1, and the input gain turned down. It then measures that loop, and everything you measure afterwards is reported against what it learned.
You can skip that step. Nothing is disabled if you do — every capture still works and every record still exports — but readings are marked Indicative, meaning there is no measured floor to hold them against. The bench measurement is re-runnable at any time.
Proof needs the microphone permission to read any audio input at all, including a USB or Thunderbolt interface — on iOS every input arrives through the same permission. If Proof says it cannot see an input, the switch is in Settings › Privacy & Security › Microphone › Proof.
Proof reads the input in two places, and in both you choose which one. On the Measure tab it runs a capture you start, on the rig you picked, and stops when the capture ends. On the Tools tab it streams from the input you selected in Settings for as long as that tab is open, so the meters have something to read; the input in use is named in the status strip at the top of every tool screen. Nothing is written to disk in either case except a measurement record you asked for.
Proof makes no network connections. It has no analytics, no crash reporting, no telemetry and no account, and nothing you measure leaves your device unless you export it yourself. The full policy is on the privacy page.
Three of the nine lenses work today — harmonic spectrum, frequency response and THD against frequency. The list above says what each of the others is waiting on. Each one says so in the app when you open it.
Mac, iPad and iPhone. If you measure things and you want to know when it lands, say so — it goes to a person, not a list broker.
jamey@warrenlabs.com