Workflow · Reference comparison
The louder version always sounds better, which is exactly why an A/B you can't level-match lies to you. Specula holds up to six versions side by side, level-matched by integrated LUFS and aligned to the sample. From there it computes the A−X residual: everything the two masters don't have in common, as its own waveform you can solo, scrub, and export.
Why you can't trust the A/B
When you can't level-match precisely, you can't trust the comparison, and you definitely can't see what changed.
Half a dB louder reads as "better" to the ear, every time. So a raw A/B between rev 3 and rev 4 measures loudness bias, not the change you made. Until level is out of the equation, the comparison answers the wrong question. Specula normalises the versions by integrated LUFS first, so what you hear after that is the difference you actually introduced: the EQ move, the limiter change, the new master chain, not a level mismatch wearing its clothes.
Set up a fair A/B
Load the versions, take level and alignment out of the way, then listen to what's left.
What it looks like
The residual is the answer
What changed becomes its own waveform. The diff slot is a virtual slot that plays back the A − X residual, the sample-by-sample subtraction of the active version from the reference. Once level and timing are matched, everything the two versions share cancels to silence, and what's left is the change itself. You route that residual through the same waveform, spectrogram, and export paths as any other slot, so you can see where in the file the difference lives and how loud it is, not just hear that something moved.
Polarity matters for the subtraction. Each slot has a ϕ toggle that flips polarity, useful for catching a wiring error, and for diff work where flipping one signal is what makes the residual sit closer to zero. The diff slot recomputes automatically (80 ms debounced) whenever nudge, gain, polarity, or level-match changes, so the residual always reflects your current alignment. It has no live measurement of its own, switching to a diff slot clears the live loudness and stereo displays, because the diff buffer plays pre-computed.
Or overlay instead of subtract. The Waveform A overlay toggle draws slot A's waveform as a ghost behind whichever slot is active, a direct visual A/B at the sample level without leaving the active version. And the Compare metrics popover puts every loaded slot side by side in one table: integrated LUFS, true peak, sample peak, LRA, DR, speech stats. Read the numbers and hear the residual, from the same comparison.
Settle the comparison
"Better or just louder?" has an answer you can play. Level-match the versions, align them, and the residual is the change itself, on screen as a waveform and in your monitors as audio. What the numbers claim and what you hear come from the same comparison.