Method
We take the song apart before we score it.
Four stages, in series. Most detectors run one of them.
Stage 01
Decode
Unpacked to raw audio so an MP3 of a real band is not punished for being an MP3. This step matters more than it sounds. A published audit found detectors that were plausibly identifying encoder pipelines rather than authorship, because generated output tends to arrive at one sample rate and human recordings at another. Normalising first removes the shortcut.
Stage 02
Split
Vocal and accompaniment separated and scored alone. This is where hybrids get caught. A real singer over a generated bed might read 44 on the mix, which tells you nothing, and 22 on the vocal with 94 on the backing, which tells you everything.
Stage 03
Listen close
Breath and handling noise, micro-timing drift, room tone, and the periodic spectral residue that neural vocoders leave behind. That last signal is architectural: upsampling layers in a vocoder must produce regularly spaced peaks in the spectrum. It is published, reproducible, and it is also removable, which is why it can never be the only signal.
Stage 04
Name it
SynthID and C2PA manifests read and reported separately from the acoustic score, so a watermark signal and a statistical inference are never conflated in the record. Then matched against an index of known model behaviour to name the generator and version where possible.
The part most detectors skip
A watermark is not a detector.
SynthID and C2PA tell you when a generator chose to be honest. They tell you nothing at all when it did not, which is the only case that matters. Metadata is stripped routinely by ordinary upload pipelines, and the two largest generators have made no shipped provenance commitment.
So provenance is read, reported, and kept in its own column. It never substitutes for the acoustic analysis.
Questions about the method
Because the most common real-world case is a hybrid. A human vocal over a generated bed reads as ambiguous on the mix and passes. Separating the stems turns one useless number into two useful ones.
It can, and that is one of the documented failure modes in the field. A published audit found a detector flipping its verdict on a plain resample to 22.05kHz. Any pipeline worth trusting has to be tested against re-encoding, resampling and filtering, and publish those results.
It should still be flagged, just not named. Naming requires a match against an index of known model behaviour. Flagging does not.