~/Downloads/The Ship/. Every number below was measured, not asserted.An earlier pass in this session flagged 09 MHL as 28% adrift and called it the worst track on the record. That was wrong. It came from comparing the MIDI against the audio file length. MHL's master runs music to ~156s, then holds 64 seconds of silence, then a hidden outro from 220s to 236s. Measured against actual musical content, MHL is the second-tightest track on the album at 0.8%. The finding is withdrawn.
Each combined MIDI's last note versus where the master actually stops making sound. Under 6% is within normal transcription tail slack, since transcriptions routinely omit a final ring-out or fade.
| Track | MIDI end | Song end | Drift | Error | Verdict |
|---|---|---|---|---|---|
| 02 Flake of the Year | 195.5s | 199.0s | -3.5s | 1.8% | OK |
| 03 Gene | 269.2s | 272.5s | -3.3s | 1.2% | OK |
| 04 Six Feet Under | 212.6s | 221.5s | -8.9s | 4.0% | OK |
| 05 Sleep vs Death | 253.0s | 266.5s | -13.5s | 5.1% | OK |
| 07 MOP | 171.4s | 173.0s | -1.6s | 0.9% | OK |
| 08 JGBFTL | 140.1s | 147.0s | -6.9s | 4.7% | OK |
| 09 MHL | 155.3s | 156.5s | -1.2s | 0.8% | OK |
| 10 Trapped in Wonderland | 169.9s | 174.0s | -4.1s | 2.4% | OK |
| 01 Seedy Shade | — | 241.0s | — | — | NO FILE |
| 11 Ambulance (encore) | — | 263.5s | — | — | NO FILE |
Track 06 Good Morning Captain has no audio and is not part of the target. The album is 10 tracks.
Gene was the track you flagged as "way off beat, probably tempo as well." Four independent checks say the note data is aligned:
| Check | Result | Reading |
|---|---|---|
| Audio tempo vs MIDI tempo | 89.10 vs 89.00 BPM | Match. No tempo fault. |
| Drum entry, audio vs MIDI | 32.0s vs 33.0s | Aligned at the start. |
| Last drum hit, audio vs MIDI | 247.25s vs 247.8s | Still aligned 3.5 min later. |
| MIDI end vs song end | 269.2s vs 272.5s | 1.2% — tight. |
If the tempo were wrong, the start and the end could not both land within a second across four and a half minutes. That leaves two candidates for what you heard: the transcription's note and rhythm choices in the solo, or a bad render. The earlier WAV was made with pretty_midi, which itself warned about the tempo read on these files, so the render is a live suspect while the file is sound.
The old gene_solo_vs_click.wav asked you to judge the solo against a click, which is
indirect. These put the MIDI in your left ear and the real guitar in your right. If they lock, alignment is
fine and the solo needs note cleanup, not re-transcription. The drums file is the control: it is known-aligned,
so it tells you what "locked" sounds like.
~/Projects/_outputs/theship-tabs/03_gene/gene_LEAD_midi-L_vs_real-R.wav <- the question ~/Projects/_outputs/theship-tabs/03_gene/gene_DRUMS_midi-L_vs_real-R.wav <- the control
The defect was in ~/Projects/gp_fullband_combine.py. It discarded each source's own track
names and relabeled guitars purely by note density:
clean.sort(key=len) # ascending: sparser = Lead, denser = Rhythm gtracks = clean[-2:] names = ['Lead Guitar', 'Rhythm Guitar']
Lead is usually sparser than rhythm, so the guess landed correctly on 02, 08, 09 and 10 by luck. It failed exactly where the assumption broke:
| Track | Source says | Tool wrote | Status |
|---|---|---|---|
| 04 Six Feet Under | Lead 1315 / Rhythm 387 | Lead 387 / Rhythm 1319 | SWAPPED → FIXED |
| 07 MOP | Rhythm 1800 (only guitar) | Lead 1833, no rhythm | MISLABELED → FIXED |
| 02, 08, 09, 10 | Lead sparser than Rhythm | same | CORRECT BY LUCK |
A third bug surfaced during the rebuild: the guitar extractor never filtered the drum channel, so 07's
59-note percussion track was promoted into a phantom "Lead Guitar". Now skipped. The fix reads the source's
name first and only falls back to density when the source is silent on the matter. Old outputs are preserved
in _outputs/theship-tabs/_archive_2026-07-16/ and the old script in
gp_fullband_combine.py.bak-2026-07-16.
01 Seedy Shade and 11 Ambulance have stems and masters but no Songsterr export exists for either. The pipeline is "Songsterr full-band export + Moises guitar split → combine", so with no export there is nothing to combine and no amount of local work produces one. These two need a Songsterr transcription first. That is the only true blocker on the record.
Two measurements were built during this audit and then discarded as unsound, recorded here so they are not repeated. A cross-correlation alignment probe returned offsets up to ±1.9s on Gene; at 89 BPM the beat is 0.674s and several results landed on exactly 1.685s, which is 2.5 beats, so it was locking onto the wrong beat rather than measuring drift. A nearest-onset test then put the lead at 88ms median error against a drums control at 59ms, a gap smaller than the detector's own noise floor. Neither can support a conclusion, and neither was used for any verdict above.