Zappa Drum Transcription Toolkit

The skills on this Mac that read a drum part, and everything already on disk about Frank Zappa's drum transcriptions, with Keep It Greasey pulled out in full.

Built 2026-09-08 · song locked: Keep It Greasey, s604777
The short answer on skills. Seven of them carry the drum-transcription job end to end, and they run in a fixed order: separate the kit, read the stems, notate, grade the numbers, check the notation standard, then publish. Three more sit beside that line as graders and gates.

The short answer on Keep It Greasey. A large amount of work is already done. The stems are separated into fifteen parts and sitting in /Users/Shared, three printed human transcriptions are on disk, the tempo has been measured against the recording, and a full validation pass ran on 2026-09-07 with zero repairs applied. Four specific defects are named and waiting.
On this page
  1. The seven-stage skill stack
  2. Graders and gates that sit beside it
  3. The Zappa drum program, current state
  4. Keep It Greasey, the full dossier
  5. The bundle, collected on disk
  6. KIG-M001, applied and published
  7. What is still open on this song
  8. The order to run them in

1. The seven-stage skill stack

Each of these is a real skill with its own SKILL.md and scripts under ~/.claude/skills/. Invoke by name with the Skill tool rather than running the scripts by path.

Stage 1 · separate

/composite-stem-alignment

Builds one clean multitrack from several microphone captures of the same performance after each has been separated. Settles which mic owns which lane and applies one transform per mic.

"align the mics", "the offsets disagree", "which mic for the bass"
Stage 1 · separate

/multimic-stem-fix

Repairs a stem set where separation left phase cancellation or bleed between kit lanes. Runs before any onset detection, since a contaminated tom stem produces tom claims that are separator residue.

"the stems are bleeding", "kick and bass are cancelling"
Stage 2 · read

/perfect-stem-read

The governing document. Enforces the order stem event, instrument identity, score timing, Guitar Pro lane last, so lane binning happens only at final encoding. Carries the recording-identity gate and the wrong-recording alignment controls.

"read the stems into notation", "which drum is that"
Stage 2 · read

/drum-dynamics-from-audio

Fixes the velocity and articulation layer of a score that already has the right notes. This is the skill that turns quiet snare strokes into ghost notes by measuring the recording rather than by guessing.

"the dynamics are flat", "turn the quiet snares into ghost notes"
Stage 3 · notate

/stems-to-guitar-pro-drums

Turns drum stems into a Guitar Pro drum file ready for the Songsterr editor, recovering flams and ghost notes that a full-mix pass drops. This is the build step for a new tab.

"make a better drum tab from the stems", "turn the drum stem into Guitar Pro"
Stage 3 · notate

/audio-stems-to-midi

The cheaper first pass. Demucs plus crepe plus basic-pitch plus a librosa onset fallback for drums, with a theory JSON per song. Good for a rough map of where events sit.

"convert these stems to MIDI", "transcribe the stems"
Stage 4 · repair

/transcription-repair

Treats the best human transcription as the musical model and the stems as evidence testing single claims inside it. Carries the recording-identity gate, the alignment gate with wrong-recording controls, grid snapping, a two-hands playability check, and an append-only edit ledger.

"fix this drum tab against the stems", "the toms are in the wrong place"
Stage 4 · repair

/songsterr-drum-repair

Restores a drum staff on a community tab without damaging the rest of it. Written after the ghost sweep. Knows why accents come out as staccato and how to undo a bad revision.

"restore the ghost notes", "my revision broke someone's tab"
Stage 5 · standard

/notation-evidence-gate

Settles a notation-symbol dispute against the document that governs the symbol. Resolves ghost strokes, pedal hi-hat placement and X noteheads to the Weinberg drumset standard, then refuses any claim with no stated null model.

"what does this ghost flag mean", "did we prove that", "check the baseline"
Stage 6 · grade

/reference-class

Decides whether a number earned the right to ship. Six checks against a threshold cut from the population it filters, a density no musician would play, a filter that rejects nothing, and a missing chance baseline.

"is this number real", "the counts look high", "what is the null here"
Stage 7 · publish

/songsterr-upload

Puts a corrected Guitar Pro file onto Songsterr as a private tab synced to the real recording. Checks before import whether the file will lose tracks.

"upload this tab to Songsterr", "will this import lose tracks"
Stage 7 · publish

/songsterr-tab-guide

Builds a data-driven tab-guide page for a band's albums. This is the skill that produced the Zappa drum-transcription inventory covering three albums.

"which of Zappa's songs have no Songsterr tab", "are these tabs AI or hand-written"

2. Graders and gates that sit beside the line

SkillWhat it settlesWhen to reach for it
/midi-drum-analysisReference library and analysis toolkit for MIDI drum tracks, including the rhythmic-event vocabulary the other skills borrow.Before naming a fill or a groove type.
/five-stem-song-analystReads a five-stem song for what each part sets up and where the payoff lands.Musical context ahead of a transcription pass.
/stem-analyzerPer-file measurement of a separated stem.Checking whether a stem is clean enough to trust.
/midi-to-tabConverts a MIDI file to readable ASCII and .docx tablature.Getting a printable page out of a finished MIDI.
/album-tab-citationIndexed library of twenty published tab books, Zappa included.Finding a printed transcription to test a claim against.
/impossible-guitar-partsGrades a staff against what a human hand can do, and finds two players written onto one staff.The pitched staves on the same file.
/fraud-firewallRuns the gate stack and returns one verdict before any done-claim.Before any upload.
Two rules govern all of them. The first is that a pitch in one stem does not prove that instrument played it, so identity comes before lane binning. The second is that a Demucs drums stem has to be split into kick, snare, toms, hat and cymbals before any judgement about a drum tab, because a full-kit stem cannot answer a per-lane question.

3. The Zappa drum program, current state

This is not a fresh field. A repair program has been running since late August, and it has its own front door at zappa-program-scope.

34Zappa song ids in play
3,842ghost flags stripped by the sweep
17restore revisions held on moderation
12printed charts on disk
32published audit pages
16tabs where the strip is still live

The damage that started it

A sweep on 2026-08-29 and 30 read Songsterr's parenthesised noteheads as an error and submitted revisions removing them across twenty Zappa tabs. Sixteen of those strips are the current published revision. Norman Weinberg's 1994 Guidelines for Drumset Notation, page 20, plate Ex. 11, prescribes exactly that notehead for a ghost stroke, and its wording covers cymbals as well as drums, which settles the ride-lane question too. That page was read on 2026-09-06 by rendering the image-only scan at 400 dpi, because pdftotext returns 12 bytes on it: source PDF, 15.2 MB, 12 pages.

Where the ghosts actually sat

Of the 3,842 removed flags, 1,549 are snare and 2,293 sit on cymbals, hats, kick, toms and tambourine. The largest single entry, Watermelon In Easter Hay at 1,317, carries no snare ghost at all.

The source archive

Hand transcriptions by professional transcribers live under ~/Projects/_outputs/zappa-drum-sources/ with ARCHIVE-STATE.md as the manifest. Seven folders: DRUM Magazine notation PNGs, the Cruise Ship Drummer charts, the Pete Sweeney Vinnie Colaiuta PDF, the Drumnet.ru charts, the Kasper Sloots per-album analysis with its section-letter bar maps, two academic theses, and the Rondo Hatton Report editions.

4. Keep It Greasey, the full dossier

Joe's Garage, 1979. Drums by Vinnie Colaiuta.

4.1 The three Songsterr tabs

Song idTitleAuthorTracksDrums?Read
s604777 Keep It GreaseyBen Dibden19, all named by player Yes. Part 8, "Vinnie Colaiuta" The one that matters. Human, 248 bars, 4,948 drum events, 629 ghost flags, live revision r8852151. Length runs 8:18 against the album's 8:22, a delta of 0.7 percent.
s2832032 Keep It Greasyunnamed3, all unnamedYes, generic AI transcription, 65 percent short of the album take. Not the album performance.
s754950 Keep It Greasey (Live 1980)unnamed1No, bass only Different performance, no drum staff.
The nine parts of s604777 read as a real session credit list: Ike Willis vocals, Warren Cuccurullo acoustic, Frank Zappa solo, Warren Cuccurullo overdriven, Arthur Barrow slap bass, Ike and Denny harmonies, Peter Wolf Wurlitzer, Warren Cuccurullo sitar, and Vinnie Colaiuta drums. Every stem in the separated set has a matching named part.

4.2 The revision history, and the strip that never published

Read off the Songsterr revision panel for s604777 on 2026-09-08.

DateAuthorStateWhat it did
2025-07-15
r2463117, via Editor
Kevin SheppardapprovedThe baseline held on disk as the pre-sweep file.
2026-08-29
r8768457, via GP
Brandon chavezalternativeThe ghost strip. Removed all 629 parenthesised noteheads from the Vinnie Colaiuta staff. Never became the published revision.
2026-09-02 local
2026-09-03T01:08:51 UTC
Ben Dibden1approvedSection headers, rests removed from empty bars, tracks renamed to the template format, vocal instruments changed, bass tone set to finger in the intro, a keyboard lick finished. This is r8852151, the live revision.
Keep It Greasey was hit by the sweep and survived it. The strip is one of the four submitted revisions that never became current, so all 629 ghost flags are still live on the published tab. That is why this song sits outside the sixteen-tab damage table, and it is also why Ben Dibden1's track renaming is what the export shows today.

The strip's revision note is stale, and it should not be read as the current state. Its text describes what r8768457 would have done. A signed-in read on 2026-09-08 gives s604777 38 revisions, latest r8852151, isOnModeration: false, and the copy s6862054 exactly one revision. Nothing newer exists on either tab, so the note is describing a superseded revision.
Two independent reads of the ghost layer agree. Walking the live export gives 629 flags, every one on MIDI 38, acoustic snare, spread across 152 of 248 bars from bar 2 to bar 238. The beat dynamics under them come out ppp 12, pp 94, p 376, mp 33, mf 114, which reproduces the validation page's table exactly from a different file and a different route. The strip revision's own description says the same thing: all 629 acoustic snare, 625 of them quiet sixteenths on their own subdivision.

4.3 The audio on disk

Fifteen separated stems, 44.1 kHz stereo, each 501.84 seconds, at:

/Users/Shared/202 Keep It Greasey-D minor-142bpm-442hz/

The kit is already split into six lanes: kick, snare, hat, cymbals, toms, other_kit. The rest are backing_vocals, bass, lead, other, piano, rhythm, vocals, wind, and a metronome stem. The mixture sits beside them as a 320 kbps mp3.

The metronome stem is not a recording. It was measured on 2026-09-06 and found to be a beat tracker's output rendered to a wav: 1,171 bit-identical copies of one click over digital silence, every peak exactly 0.0 dBFS, and 55 distinct 300 ms window hashes each appearing exactly 1,171 times. Its 1,170 intervals all land on a 20 ms lattice, so it can only report tempo in quantized steps. The folder name's 142bpm is the same estimator talking, and it is one estimate rather than two.

4.4 The printed human transcriptions

SourceTranscriberCoversOn diskUsable?
DRUM! Magazine, Groove AnalysisRyan BrownVerse 1 at 0:35 and Verse 2 at 1:1602-drummagazine/Keep-It-Greasey.png, 1166×1130Yes. Fully legible at read size.
DRUM! Odd Meter Lesson 4DRUM! MagazineThe 19/16 verse groove, three pagesOdd-Meter-Lesson-4-Keep-It-Greasy-1..3.pngYes. Page 1 draws the ghosts in brackets.
Pete Sweeney, Vinnie transcriptionsPete SweeneyDong Work For Yuda and Keep It Greasy03-petesweeney/Vinnietranscriptions.pdf, 9 pages, 6.09 MBImage scan, no text layer. Needs rendering to read.
On the Beaten Path: Progressive Rock, Alfred, page 64Rich LackowskiThe passage at 3:18Publisher sample PDF, md5 116b3ee7…Yes at 600 dpi. Prints 19/16, quarter = 134.
Modern Drummer Rock ChartsMarc AtkinsonThe complete song180 ppi third-party scanNo. Classified unusable at AUC 0.582 on a 13 px phone scan.

4.5 What the DRUM! chart states, read directly off the image

Verse 1 at 0:35, quarter = 134, meter 19/16, running four systems before a 4/4 bar.
Verse 2 at 1:16, meter 21/16, moving through a 9/16 bar into 4/4.
The Odd Meter Lesson page draws the same 19/16 groove with parenthesised noteheads on the snare line, which is a second published transcriber writing ghost strokes into this exact song.

Every digit above was read from a native-resolution crop, enlarged 4x and 6x with nearest-neighbour and no resampling, never off a page overview. The five readings that survived that check are 134, 19/16, 21/16, 9/16 and 4/4. The crops are filed beside the charts as EVIDENCE_KeepItGreasey_DRUMmag_timesigs_native-crops-4x.png and -6x.png.

4.6 The tempo, measured against the recording

QuantityValue
Measured quarter at the 3:18 passage136.7 BPM, drifting 135.7 to 137.9
Printed by two publishers134
R at 134 inside that window0.0167, below its own null of 0.0518
Estimator error at matched difficulty0.04 BPM end to end
Speed-shift controlAudio sits 8 to 18 cents sharp of A440, about 1 percent. The 134 to 142 gap is 6 percent, so speed does not explain it.

4.7 The validation pass of 2026-09-07

Every lane was tested in both directions at passage level. Two tests that need no alignment carried the result: a bimodal peak-dB histogram for a quiet population, and a sixteenth-grid lock against a phase-uniform baseline.

LaneNotatedValleyGrid, notated setGrid, surplusReading
kick1,311none1.889×1.646×One population. The 32 surplus onsets are real and unnotated.
snare1,423-18.63 dB1.887×1.501×Two dynamic populations, which is what a ghost layer looks like.
hat1,156-28.74 dB1.694×1.369×One mode with a quiet tail. Surplus reads as separator residue.
cymbals543-40.17 dB1.782×1.223×Same. Surplus does not clear the bar.
toms493-35.49 dB1.289×1.706×Inverted. Loud detections are less grid-locked than quiet ones, which is a contaminated stem. No tom claim was made.
The score agrees with itself from its own side. Resolving the two ways the file stores loudness gives the 629 flagged events a mean dynamic rank of 2.227 against 4.031 for the 794 unflagged, a gap of 1.804 ladder steps, Mann-Whitney z = -30.58. The flagged set sits one or two sixteenths apart on 62.89 percent of its within-bar gaps against 35.88 percent for the unflagged, with zero exceedances in 2,000 within-bar permutations. That is the notation and the audio arriving at the same picture with no alignment between them.
The alignment never closed, and that is the honest ceiling. Eight procedures place bar 102's downbeat between 197.88 and 198.20 seconds, and they are not independent, since six read the same fifteen-stem separation. The drum lanes then tested that map from outside: snare improves 17 to 4, tom 20 to 4 and hat 25 to 11 under a window slid one bar later, kick leans the same way, cymbal is flat. So 0 of 248 bars carry a surviving two-direction result, and no single notated event was matched to a single detected onset. Repairs applied: zero.

5. The bundle, collected on disk 2026-09-08

Every transcription of this song now sits in one labelled folder, named by transcriber and by what each file actually contains.

~/Projects/_outputs/zappa-keep-it-greasey-transcriptions/

5.1 The Guitar Pro files, exported live from Songsterr

FileTracksBarsDrum eventsGhost flags
s604777_…_ALBUM-TAKE_BenDibden1_r8852151_9trk_248bars_DRUMS-4948notes-629ghosts.gp9, each named by player2484,948629
s604777_…_PRESWEEP-BASELINE_2025-07-15_pre-ghost-strip.gp9248baseline held before the sweep—
s2832032_…_AI-TAB_65pct-SHORT_3trk_123bars_DRUMS-1863notes-0ghosts.gp3, unnamed1231,8630
s754950_…_LIVE-1980_BASS-ONLY_1trk_121bars_406notes_NO-DRUMS.gp112100
s6862054_…_BRANDON-EDIT-COPY_r8958071_UNMODIFIED_9trk_248bars_DRUMS-4948notes-629ghosts.gp9, named by player2484,948629
A cross-check that passed. Walking the export from MasterBar to Bar to Voice to Beat to Note reference gives the Vinnie Colaiuta track exactly 4,948 events and 629 ghost flags, matching the figures published from the CloudFront part JSON. Two independent reads of the same revision agree, so the export carries the ghost layer intact.
The copy tab is already staged. s6862054, titled "Keep It Greasey by Frank Zappa Brandon edit" and filed under the artist string Misc Covers, carries exactly one revision, r8958071, created via Copy, with no edit submitted to it. Exporting it gives 248 bars, 9 tracks, 14,444 note events and 629 ghost flags, drum track at 4,948 and 629, matching s604777 in every figure. The copy route the standing gate requires exists and is clean, so KIG-M001 has somewhere to land that never touches Ben Dibden1's original.

The public API cannot see it. songsterr.com/api/meta/6862054 returns nulls without credentials, so it has to be read from the signed-in browser.
Two GPIF counting traps, both hit and both fixed during this pass. First, Notes are shared definitions, so counting <Note> elements returns 680 on a file carrying 14,444 events. Second, a ghost is a direct <AntiAccent>Normal</AntiAccent> child of Note, never a <Property name="AntiAccent">. Reading it as a Property returned zero ghosts on a file holding 629 of them, which is the same shape of error that let the original sweep proceed.

5.2 The printed charts, rendered and labelled

The Pete Sweeney PDF was rendered at 200 dpi for all nine pages and again at 400 dpi for the Keep It Greasy pages. Noteheads, X-heads and grace notes read clearly at that size.

PagesSongTranscriberPublication
1 to 2All BluesJeff WaldDrum Soloist. Vinnie, not Zappa.
3 to 5Dong Work For YudaChris BradyModern Drummer Rock Charts. Also Joe's Garage.
6 to 9Keep It GreasyMarc AtkinsonModern Drummer Rock Charts. The complete song.
Correction to the source manifest. zappa-drum-sources/ARCHIVE-STATE.md records this PDF as holding two charts, Dong Work For Yuda and Keep It Greasy. It holds three, and All Blues is the one it misses. The Marc Atkinson attribution used in the earlier validation work is now confirmed from the printed page itself, where it appears under the title on page 6.

5.3 The Songsterr part JSON

All nine parts of s604777 at revision r8852151, pulled from CloudFront on 2026-09-08. The drum staff is part8_DRUMS_VinnieColaiuta.json at 317 KB. The meta payload carries a control character, so it needs json.load(..., strict=False).

6. KIG-M001, applied and published 2026-09-08

The repair is live on the copy tab. s6862054 now sits at revision r8972975, createdVia GP, tracksCount 9, isOnModeration: false, published 2026-09-08. The original s604777 was never touched and still sits at r8852151 by Ben Dibden1.

6.1 What changed, and what it was

Bar 231, beat index 7, one sixteenth at mf. Songsterr's own part JSON is the field that renders, and it read {"fret": 65, "string": 4}. String 4 on that staff carries 1,311 kicks and nothing else, so a fret 65 there is an encoding slip rather than an instrument.

FieldBeforeAfter
Songsterr note{"fret": 65, "string": 4}{"fret": 35, "string": 4}
GPIF articulation41, Timbale high, staff line 97, Kick (hit), staff line 8
GPIF Midi / Fret / String65 / 65 / 135 / 35 / 0
The GPIF export disagreed with Songsterr about where the note sat, and that is why the earlier record and the export read differently. Songsterr put it on string 4, the kick row. The GP export put it on GPIF String 1, the low-tom row, because the exporter had to bind an out-of-kit fret to some articulation and picked the one whose output MIDI is 65. The rendered field wins, so the repair is Kick.

6.2 The gates that ran before the push

GateResult
gpif/diff_gpif_tracks.py with the target track namedexit 0. Only Vinnie Colaiuta changed. The other eight tracks are byte-identical.
preflight_import.pyPASS. 9 tracks, no part loss, grid 1.30% inside the 2% tolerance, drum notation clean, stamped.
NAMEDROPCLEAR. 9 of 9 track names CDATA-wrapped, which is the state measured to survive the importer.
Edit methodSurgical text replacement on the raw GPIF, never a reserialize, so all 149 CDATA blocks survived.

6.3 The GPIF shared-element trap, measured rather than assumed

A peer session working Watermelon deleted 164 note instances across 85 bars it never targeted, inside a total loss of 179 across 90 bars, because it edited a shared Beat in place. That trap is real in this file too, and it did not reach this edit.

Figure corrected 2026-09-08 by the Watermelon audit session, from an instance-level census of the quarantined damaged file against its parent. The earlier "179 across 79 bars" was wrong twice: the span is 90 bars, and the 15 intended removals sit inside the 179, so the never-targeted collateral is 164.

Link in the chainSharing on the KIG-M001 targetWorst sharing in the same file
Bar to Voice 22141 bar—
Voice 2214 to Beat 15031 voiceone beat referenced by 739 voices
Beat 1503 to Note 6791 beatone note referenced by 144 beats
The chain from bar to note was 1 to 1 to 1, so rewriting Note 679 in place could reach nothing else. The whole-track diff confirmed it from the other direction, and so did the post-publish read.

Element ids do not survive a Songsterr round trip. The published re-export renumbers with no content change: Beats went 1,527 to 1,556 and Notes 680 to 679, because the exporter re-deduplicates. Compare content tuples, never ids.

6.4 Verified after publish, uncredentialed

Read straight from CloudFront at 6862054/8972975/v0-3-2-VZtKXkSzlkLljDFV/8.json, http 200, with no session cookie.

MeasureBeforeAfter
fret 65 events10
kick, fret 351,3111,312
ghost flags629629
measures248248
note events4,9744,974
track names9 named9 named

All nine custom names survived the importer, which confirms the CDATA finding against the older blanket NAMEDROP rule. The published tab keeps its eight source videos and hasPlayer: true, so the audio sync came through the import.

6.5 The eye check, because a field read is still a detector

The row was settled from stored fields first. That is a detector result, so it was put to the eye: bar 231 of both files rendered with alphaTab headless at scale 4.0, then diffed pixel by pixel.

VersionWhere the notehead sits
BEFORE, fret 65 Timbale highin the space below the bottom staff line
AFTER, fret 35 Kickon the bottom staff line, with every other kick in the bar
The eye agrees with the fields, so nothing was overruled. The pixel diff isolates a notehead-sized change 42 px wide at x 1122 to 1163, spanning y 513 to 565, which straddles the bottom line at y 532. Everything else that differs sits at y 587 to 704, below the staff, and is beam re-layout.

6.6 Ghost and dynamic are two different elements

A ghost-versus-dynamic comparison only means something when the two sides are different fields. Counted in the published file:

MarkWhere it livesElements in the file
ghost<AntiAccent> child of <Note>1 shared definition, referenced by 629 instances
dynamic<Dynamic> child of <Beat>1,556
staccato<Staccato/> child of <Note>0
There is no staccato anywhere in this file, so the ghost-turned-into-staccato substitution that damaged Montana s35870 has no counterpart here.

Scope note that reconciles two published numbers. The 2026-09-07 validation page reports 794 unflagged against these 629. That figure is snare-lane only, and 629 plus 794 is 1,423, exactly the MIDI 38 count. Counting every lane gives 4,319 unflagged. Both are right at their own scope.

6.7 Threshold provenance

No figure produced in this pass came from a fitted threshold, so the author-calibration failure mode does not apply to any count above.

FigureWhere it is read from
4,948 drum events, 629 ghost flags<AntiAccent> children and beat-to-note references in the GPIF
All 629 on MIDI 38, 152 of 248 barsthe Midi property on each referenced note
1,311 to 1,312 kicks, fret 65 one to zeroSongsterr part JSON fret field
19/16, 21/16, 9/16, 4/4, quarter 134native-resolution image crops at 4x and 6x

The detector figures in section 4.7 belong to the 2026-09-06 and 09-07 sessions and are cited as theirs. Nothing was refitted here.

6.8 Id-histogram pre-flight on the two remaining edits

A peer session lost 164 note instances across 85 bars it never targeted, inside a total loss of 179 across 90 bars, by editing a shared Beat in place. The cheap check that catches it is printing the id histogram of an edit plan before writing. Run here on the published file, counting instances on both sides so the units match.

PlanNote idIn planTotal file-wideVerdict
KIG-M002, 21 hand claps (GM 39)6672121Exclusive. An in-place edit is safe.
KIG-M003, 114 ghost flags at mf659114629Shared, 515 instances outside the plan. Copy-on-write mandatory.
Note 659 is the shared snare-ghost definition, carrying every one of the 629 ghosts on the Vinnie Colaiuta staff. Editing it in place to resolve 114 would silently change all 629.

A units error this check caught in its own first pass. The first run compared a plan's instance count against the note's beat-reference count, 21 against 5 and 114 against 37, and labelled both exclusive. Those are different units. Counting instances on both sides flips M003 to shared. Compare like with like, or the histogram lies in the safe direction.
The worst-shared beat in the file is not on the drum staff. Beat 1020 is referenced by 739 voices and belongs to Warren Cuccurullo, a guitar track, so no drum edit can reach it.

7. What is still open on this song

IdFindingEvidence neededState
KIG-M001GM 65 written on the kick staff line at bar 231, position 7 sixteenths. One event in 4,948, inside a repeating figure whose other string-4 events are all GM 35.None. This is score-internal and exact.APPLIED, published as r8972975
KIG-M00221 GM 39 hand claps drawn at the snare position across bars 22 to 32, 42 to 44, 65 and 82.Placement is certain. Intent is not recoverable.unresolved
KIG-M003114 ghost flags whose resolved dynamic is mf, which is the unflagged population's own mark. The two encodings disagree.Nothing on hand says which is meant.unresolved
KIG-M00432 kick onsets the score omits. They sit 7.66 dB below the notated median and land on the sixteenth grid at 1.646× baseline.Bar positions unknown. Listed by audio time only.unresolved
q-2026-08-31-227358Kick lane convention. House convention is GM lane 36, used alone by 13 of 20 songs. Keep It Greasey uses lane 35 alone, along with Catholic Girls and Fembot.Decide whether to normalize or leave it.in progress
The publish route is open, and it runs through the copy. The live tab is another author's work, r8852151 by Ben Dibden1, so the standing gate forbids a revision onto it. That gate is already satisfied: s6862054 is an unmodified copy titled "Brandon edit", verified this pass to match the original in every figure. Any repair goes there.

8. The order to run them in

  1. Nothing needs separating. The fifteen stems exist and the kit is already in six lanes. Skip stages 1 and 2 of the acquisition work.
  2. Read the Marc Atkinson chart. It is now rendered at 400 dpi across four pages and it is the only complete-song printed source. Bar-by-bar it is the strongest test available for the notated drum part.
  3. Run /perfect-stem-read on the six kit stems, holding the identity-before-lane order.
  4. Run /notation-evidence-gate on any symbol dispute the read produces, ahead of writing a claim down.
  5. Run /reference-class on every count before it enters a deliverable.
  6. KIG-M001 is done, published on s6862054 as r8972975. The other three findings have no evidence that closes them.