Appleseed Cast · Mare Vitalis · s6389251 · 2026-09-07

Kilgore Trout: guitar staves with no skipped strings, and what the stems say

Two guitar staves rebuilt so no string is skipped between fretted notes unless the shape is an octave. Plus the reason the recording only supports one guitar for most of the song.

The build

Two files, same five tracks, same pitches, differing only in how strictly the no-skip rule is applied. The rhythm guitar had 19 beats where fretted notes skipped a string without being an octave. The lead staff is monophonic, 217 single notes with no multi-note beats at all, and a single note has no second string to skip to, so it was left untouched.

BuildSkipped stringsOctave shapes keptMax hand spanGate
source, the live tab19304PASS
s6389251-guitars-noskip.gp (strict)0305FAIL, IMPOSSIBLE_SPAN x15
s6389251-guitars-noskip-pragmatic.gp15304PASS
The rule and the hand disagree on 15 beats. Two chord shapes, 47/57/61 and 52/62/66, have no contiguous voicing of those exact pitches inside a four-fret hand. The fretboard was searched exhaustively. Closing the skip forces a five-fret stretch, and the gate calls that IMPOSSIBLE_SPAN precisely because a four-fret voicing exists, the one that gets there by skipping the string. Applied strictly to those beats, the no-skip rule makes the part harder to play.

The third shape had no such conflict and is a clean win:

ShapeBeatsBeforeAfterSpan
midi 50, 62, 664s0f10 s2f12 s3f11, idle s1s2 open, s3f7, s4f72 → 0
midi 47, 57, 619s0f7 s2f7 s3f6, idle s1s1f2 s2f7 s3f61 → 5
midi 52, 62, 666s0f12 s2f12 s3f11, idle s1s1f7 s2f12 s3f111 → 5

The pragmatic build takes the first row and leaves the other two alone. It closes every skip that can be closed inside a four-fret hand, keeps the 30 octave double-stops your rule exempts, and clears every gate:

TIER 1  PITCH GATE:    PASS   0 lost, 0 added, 16 -> 16 distinct pitches
TIER 1b POSITION GATE: PASS   only beats that failed a hard gate moved
Lead Guitar    217 notes    0% hand skip   wide 0  same 0  tie 0   PASS
Rhythm Guitar 1087 notes   12% hand skip   wide 0  same 0  tie 0   PASS
VERDICT: PASS

Rhythm hand skip improves from 13% to 12%. Nothing was deleted, no pitch changed, and both archives carry all 12 original entries and all 5 tracks. Note definitions went from 116 to 125, which is what a copy-on-write clone produces; a shared edit would have left the count at 116 onto unrelated beats.

The finding. The tab's Lead Guitar staff is the rhythm guitarist's part written onto a second staff. Of the 61 lead-guitar attacks in the recording, 0 fall inside a bar that staff writes. Of the 230 rhythm-guitar attacks, 155 do. The recording's actual lead, a 15.3-second passage from 76.5 s to 91.8 s, has 0 notes on the Lead staff across the 10 bars that span it. Those bars are not empty in the tab: the Rhythm staff writes 102 notes there. The two staves are mislabelled rather than one being blank.

Audio accuracy, measured before playability

Every preservation gate in this pipeline compares a candidate against the inherited tab, so a build can pass all of them while faithfully reproducing wrong notes. The independent check is the DTW beat map audit against the stems, with a shifted-time control on every number.

Build vs laneMap gainAttack recallPrecisionPitch agreementControlSeparation
source vs Rhythm Guitars+38.637.8%96.3%50.4%45.3%+5.1
pragmatic vs Rhythm Guitars+38.637.8%96.3%50.4%45.3%+5.1
pragmatic vs Lead Guitars+53.466.5%76.1%81.1%47.5%+33.6

Two readings come out of this. The source and the re-voiced build return identical numbers, which is independent proof that the repair moved string and fret only and left every pitch and every onset alone. And the inherited transcription is weakly supported against the rhythm lane: pitch agreement of 50.4% against a 45.3% control is a separation of +5.1, and only 489 of 1293 written attacks fall on a detected onset. Timing before the warp runs a median of 92.9 ms late with a p90 of 185.1 ms.

Playability now passes. Accuracy is what remains open. The playability work in this page is sound and the pragmatic build passes every physical gate. What it cannot fix is that roughly half the rhythm staff's written pitches are not corroborated by the rhythm stem. That content is inherited from the Songsterr AI transcription and has never been verified against audio. Raising it takes a re-transcription from these stems. Refretting cannot do it.

The lead lane tells the opposite story, and it is the reason the mislabelling matters. Pitch agreement there reaches 81.1% against a 47.5% control, a separation of +33.6. The lead passage's pitches really are in the tab. They sit on the wrong staff.

Ownership per note is refused rather than reported. The skill's ownership_audit.py found the Lead and Rhythm split separates by register rather than by player, +0.2651 against a +0.2766 shifted-time control, so it emits the refusal instead of a number. That refusal is itself consistent with the finding: these are not two players.

This is Brandon's 2026-08-11 complaint stated exactly: two guitars arranged for one. What is new is that it is now measured rather than suspected, against a mapping validated on four control staves.

What made the measurement possible

The 2026-08-22 FINDINGS.md stopped at an honest impasse. Demucs gave a guitar lane and a catch-all other lane that measured independent, but nothing proved other was a guitar rather than keys or synth. It closed by asking for a role-based separation pass before Kilgore could be the proof case.

The Moises 11-lane export delivered today at 17:35 is that pass. It labels Lead Guitars and Rhythm Guitars as separate lanes. The labels were not trusted; they were measured.

The silence gate caught a false finding first

Run one compared the two Moises guitar lanes and returned an onset correlation of 0.0060 and an onset coincidence of 0.0%, which reads as perfect independence, the exact answer the project wanted. It is an artifact, and the skill's control #2 says why: read the silence gate before any correlation.

Moises laneRMSActiveAttacksReading
Lead Guitars−44.20 dB7.61%61near-silent residue
Rhythm Guitars−21.94 dB96.82%230a full part
Bass−19.08 dB80.40%352a full part
Vocals−26.15 dB34.42%103a full part
Other−29.59 dB83.54%419catch-all

A lane that is 92.4% silent cannot coincide with anything, so silence manufactures a perfect independence score. The same silent lane had also contaminated the known-independent control, which was rerun on dense lanes rather than reweighted.

The detector is calibrated, not asserted

The known-dependent control is the gtr_L / gtr_R channel split proven on 2026-08-22 to be a single performance captured on two channels. The detector reproduced that prior result closely, which is what licenses reading anything else it says.

PairStatusOnset rCoincidence
Lead Guitars vs itselfceiling1.0000100.0%
gtr_L vs gtr_Rknown dependent0.790186.0%
Bass vs Rhythm Guitarsknown independentn/a33.5%
Bass vs Vocalsknown independentn/a11.7%
Vocals vs Rhythm Guitarsknown independentn/a2.2%

The August measurement of the same known-dependent pair was onset r 0.7629 at 55.8% coincidence. Reproducing it at 0.7901 and 86.0% on a different stem source is the transfer check; the two runs agree on the verdict, which is the part that matters.

Where the lead actually is, and where the staff actually is

0s 40s 80s 120s 172.5s Tab: Lead Guitar staff, 217 notes, 32 bars 0.0–15.0s 21.8–48.8s 55.6–69.1s Audio: lead guitar actually sounding, 61 attacks 76.5–91.8s 7.4s gap
The staff stops at 69.1 s. The lead starts at 76.5 s. The two never overlap in a single bar. Bar positions come from the tab's own tempo automation (128 bpm at bar 0, 142 from bar 8), read by lead_staff_vs_audio.py lines 45 to 51 out of MasterTrack/Automations/Automation in appleseed-allparts/KILGORE_TROUT_PROOF/s6389251_BANK_preserved-2026-08-22.gp. That map yields a total of 171.3 s against the audio's 172.5 s, a 0.7% difference, far too small to explain a 7.4-second gap.

The control that validates the mapping

The whole finding rests on mapping tab bars onto the audio clock. If that mapping were wrong, the finding would be an artifact. So the identical mapping was run on the four staves whose answer is not in doubt.

StaffBars writtenWritten bars with audioAudio covered
Rhythm Guitar7598.7%74.4%
Electric Bass (pick)8497.6%99.4%
Drums8798.9%99.0%
Vocals4285.7%96.2%
Lead Guitar320.0%0.0%

Four staves score between 85.7% and 98.9%. The fifth scores zero. The mapping is sound and the outlier is real.

And it is not merely shifted

An offset sweep from −4 s to +20 s never brings the Lead staff above 18.8%, and it only reaches that at +19.0 s, an eleven-bar shift that would destroy the alignment of the other four staves. At the true offset it is 0.0%.

One control cut against the simple story

Correction worth stating. Control #14, marginal value, returned 0.5392 against a filler threshold of 0.05. The Lead Guitar staff is not empty filler. It carries real guitar content, covering 117 onsets the Rhythm staff's own bars do not.

That refines the diagnosis instead of refuting it. The content is real; the attribution is wrong. Splitting those 117 onsets by source lane settles it:

Rhythm-lane onsets inside Lead-staff bars : 155 of 230
Lead-lane   onsets inside Lead-staff bars :   0 of 61

The staff is carrying the rhythm guitarist's music. That is one player written across two staves, which is precisely the failure mode this skill exists to catch.

What the recording asks for

BarStartEndLeadRhythmBassDrumsVocals
4475.877.5094100
4577.579.2074100
4679.280.9096100
4780.982.6076100
4882.684.3096100
4984.386.0076100
5086.087.7096100
5187.789.4066120
5289.491.10155150
5391.192.70247130

Ten bars span the recording's only lead passage. The Lead Guitar staff writes 0 notes across all ten, while 60 lead attacks sound in the audio underneath them.

Are the stems themselves trustworthy?

A finding built on a lane that is 92.4% silent has to answer the obvious challenge: is that lane real, or is Moises simply failing to separate a lead that is there? And is a second guitar hiding in Other, the catch-all lane that fooled the August pass?

The Lead lane is real signal. Inside 76.5 to 91.8 s it reads −33.69 dB with a peak of 0.1746. Outside that window it reads −71.25 dB with a peak of 0.0053. That is a 37.56 dB in-window advantage, and the harmonic fraction inside the window is 0.602, which puts it in the pitched-instrument range; noise sits far below that. Moises reports no lead guitar outside that passage, and that reading is the finding here.

The Other probe comes back negative too. Across 0 to 69 s, the region the Lead staff writes in, Other has almost the same spectral centroid as the rhythm guitar (1258.7 Hz against 1271.3 Hz), computed by librosa.feature.spectral_centroid in stem_profile.py line 67 and recorded as other_0_69.centroid_hz and rhythm_0_69.centroid_hz in stem_profile.json. So a centroid comparison alone would have passed it. The energy distribution separates them:

Lane, 0 to 69 sRMS<130 Hz130–400400–1.2k1.2–4k>4k
Other−30.92 dB12.0%68.3%13.4%6.2%0.1%
Rhythm Guitars−21.60 dB4.2%42.9%26.2%26.7%0.0%

Other is 9.3 dB quieter and puts 68.3% of its energy in the low mids with only 6.2% above 1.2 kHz, where the rhythm guitar carries 26.7%. That is low-mid bleed rather than a picked electric guitar with bite. No second guitar is hiding there.

All eleven lanes, profiled on their active frames

LaneRMS allRMS activeActiveCentroidCrest
Lead Guitars−44.20−33.027.61%2088.2 Hz7.82
Rhythm Guitars−21.94−21.8096.82%1469.9 Hz5.91
Bass−19.08−18.1380.40%380.7 Hz5.56
Vocals−26.15−21.5234.42%2677.7 Hz4.94
Other−29.59−28.8183.54%1478.5 Hz8.20
Kick−21.58−20.4777.55%281.3 Hz7.92
Snare−25.93−22.2042.31%2329.5 Hz9.84
Hi-Hat−54.90−39.012.52%6468.1 Hz8.28
Cymbals−35.62−34.7982.51%5474.6 Hz18.47
Toms−29.25−27.4265.61%270.6 Hz14.37
other_kit−47.93−46.9379.31%1945.3 Hz42.18

The Lead lane's active-frame centroid of 2088.2 Hz sits well above the rhythm guitar's 1469.9 Hz, which is where a lead line belongs. Two lanes are effectively empty, Hi-Hat at 2.52% active and other_kit at −47.93 dB with a crest factor of 42.18. Both are separation residue. Neither affected the Drums control, which was a union of the six kit lanes and is carried by Kick, Snare, Toms and Cymbals.

One thing has not been done: nobody has listened to these stems. The 2026-08-22 findings asked for an ear check on the second-guitar candidate, and the standing rule is no playback without an explicit go. Every number above comes from measurement, with no listening behind it.

What was checked and left alone

The live tab passes the playability gate. Run against impossible_gate.py, the preserved live tab returns PASS: zero impossible spans, zero same-string collisions, zero tie failures, zero octave conflicts. Lead 217 notes at 0% hand skip, Rhythm 1087 at 13%. Nothing here is a fingering problem, so no refret was run.

A seeding handoff claimed Kilgore carried two IMPOSSIBLE_SPAN failures that justified holding it back. It does not. Three of that document's claims were checked against disk and did not survive: the cited output directory repair-2026-09-07/ was never created, the queue item q-2026-09-07-9b1b4e is not in shift_queue.jsonl, and no Kilgore Guitar Pro file was created or modified in September 2026, the only September Kilgore files being the Moises audio stems themselves. Its fourth claim did hold, the Blind Man's Arrow revision r8953534 is live and returns http 200.

Correction, 2026-09-08: the repair DID ship, from the other Mac

The disk check above is correct and stays. What it could not see is the live tab, because it only queried Blind Man's Arrow. Kilgore's own live revision was never checked. It reads:

songsterr.com/api/meta/6389251
  revisionId   8954531
  createdAt    2026-09-07T23:54:58Z   =  18:54 CDT
  author       Brandon chavez
  tracks       5
  description  "Distortion Guitar, bar 52: two chords needed a 5-fret stretch
                while a tied note held string 2 at fret 4"
                and it names r8954002 as its source revision

That description is the bar 52 repair the seeding handoff said was pending, and it names r8954002 as its source, which is the revision the handoff listed as live with 2 failures. So the upload happened, 4 minutes after that handoff was written at 18:50 CDT.

Both accounts were right about different things. No Kilgore .gp was created here in September, confirmed again today, and no repair-2026-09-07/ directory exists on this Mac. The work was done on the other machine, so this Mac holds no artifact of it. Blind Man's Arrow went up at 17:45 CDT as r8953534, Kilgore 69 minutes later.

What this changes below: the playability repair is done and live. The three numbered items that follow are about the lead-staff mis-attribution, which is a separate and still-open question.

The repair this points to

Nothing has been uploaded. The tab is live public content, so the change wants an explicit go-ahead. What the evidence supports:

  1. Do not refret anything. The playability gate already passes; a blanket refret would relocate a performance to fix a problem that is not there.
  2. The Lead Guitar staff carries real notes under the wrong label. Its 217 notes are rhythm-guitar material. Merging it back into one guitar staff is the honest shape for 0–69 s, and it matches the standing upload rule: never more guitar staves than the recording has players.
  3. Transcribe 76.5–91.8 s. That is the one place Kilgore genuinely has a second guitarist, 60 attacks with a clean isolated lane to work from, and it is currently empty. This is the only place a Lead Guitar staff has earned its existence.