Four Appleseed Cast tabs, arranged for three guitars

Built 2026-09-07 on MacBookPro from the live Songsterr exports pulled the same day by the chat titled Zappa paren fix audit. Every number below comes from a run of the gate, not from an estimate.

Contents

  1. What was asked
  2. What the source files looked like
  3. How the arrangement works
  4. Result, per song
  5. The two tier-1 gates
  6. Subdividing Guitar 3, and what is still open
  7. Comparison with independent transcriptions
  8. The files
700rule-breaking beats before
59rule-breaking beats after
641beats fixed
0pitches lost or invented

1. What was asked

Take the single guitar part in each tab, arrange it across two or three guitars, keep every hand inside five frets, and allow a string skip only when the shape is an octave. Compare the result against other transcriptions online where any exist.

2. What the source files looked like

Every one of the four tabs already carried two guitar staves. Not one beat on any staff exceeded five frets, so the five-fret rule was satisfied on arrival. The other rule was broken 700 times: that many beats attacked two or more strings with an unused string sitting between them, and none of those were octave shapes.

songstavesbeatsbeats with a string skipbeats past five frets
Secret s6388915215022640
Kilgore Trout s638925121141900
Blind Man's Arrow s6389274214022940
A Tree For Trials s63893352342520

3. How the arrangement works

A skip means the pick crossed a string it never struck. Two guitarists collapsed onto one staff produce exactly that shape, so the repair gives the notes back to a second pair of hands rather than re-fingering the beat.

Each failing beat is tested for the smallest set of notes whose removal leaves the rest playable exactly where the source wrote them. Those notes move to a third guitar staff. Nothing else is touched, so a healthy beat keeps the string and the fret the transcription gave it.

Three guitars was the ceiling, and three was never needed for any single beat: the solver reported zero beats requiring a third hand and zero beats with no legal shape at all. Guitar 3 exists to receive what two hands cannot hold at one instant, and it carries between 42 and 202 beats per song.

4. Result, per song

songguitars afterbreaking a rule beforeaftershare fixed
Secret326425239 of 264
Kilgore Trout390189 of 90
Blind Man's Arrow329431263 of 294
A Tree For Trials352250 of 52
total70059641 of 700
Guitar 3 finished clean on all four songs. Zero skips, zero spans past five frets, zero unplayable beats on the added staff in every file.

Per staff, after the arrangement

songstaffbeatsnotesskip beatsspan > 5
SecretDistortion Guitar65384610
Overdriven Guitar8491158240
Guitar 3 (arranged)22524200
Kilgore TroutDistortion Guitar56564900
Distortion Guitar57669110
Guitar 3 (arranged)888900
Blind Man's ArrowDistortion Guitar71691450
Overdriven Guitar686932250
Guitar 3 (arranged)21826800
A Tree For TrialsAcoustic Guitar (steel)17518800
Acoustic Guitar (steel)16717920
Guitar 3 (arranged)435000

5. The two tier-1 gates

impossible_gate.py --source BEFORE AFTER was run on every file. Both mandatory gates pass on all four.

songpitch gateposition gatepitches gonepitches invented
SecretPASSPASS00
Kilgore TroutPASSPASS00
Blind Man's ArrowPASSPASS00
A Tree For TrialsPASSPASS00
The position gate reads: every note in a beat that was already healthy kept the string and fret the source gave it. That is the check that catches a blanket refret quietly rewriting a performance while every other number looks fine.

Two traps the build hit and cleared

GPIF Notes are shared definitions. One <Note id> is referenced by many beats, so editing it in place rewrote every beat pointing at it. The first run moved 130 of 205 notes on one staff while only 36 edits had been issued. Copy-on-write brought that to 23.
Beats are shared too. A beat reused at two onsets lost its note in both places when one of them shed it, which showed up as 55 notes placed on Guitar 3 and never removed from the origin. Beat-level copy-on-write took the orphan count to 0 on all four files.

6. Subdividing Guitar 3, and what is still open

An earlier build stopped at 109 remaining beats, and 87 of those 109 failed for one reason: Guitar 3 borrows its bar skeleton from an original staff, so it had no beat at that onset to receive anything. The restaffing chain that normally solves this, table_to_midi.py plus the retime tool, is not on this Mac, confirmed by direct search for all six pipeline scripts.

The other route needs no such tool. Every Guitar 3 beat carrying no shed notes is a rest, and cutting a rest into shorter rests changes nothing that sounds. The missing onset is created by splitting the rest that contains it, and the shed notes land there. A sounding beat is never cut. That took the remaining count from 109 to 59.

59 beats still attack across an unused string, out of 4961 beats across the twelve staves.

reason the beat is still opencount
the rest containing the onset will not divide into plain note values33
no removal leaves both halves playable19
Guitar 3 already holds a full hand at that instant7
The first group wants tuplet-aware subdivision, which is the rhythm red zone where a wrong rational beat position corrupts the bar. That one is parked until it can run against the retime chain.

7. Comparison with independent transcriptions

Songsterr holds exactly one transcription of each of these four songs and all four are ours, so Songsterr offers nothing to compare against. Ultimate Guitar carries three independent guitar transcriptions.

sourcesongdeclared tuningcapowidest span measuredcolumns past five frets
UG 578874A Tree For TrialsD A D G B Enone00
UG 208140Blind Man's Arrownone declarednone30
UG 977078Blind Man's Arrownone declared6224
Our A Tree For Trials tuning is independently confirmed. Our file declares pitches 38 45 50 55 59 64, which is D A D G B E. The Ultimate Guitar transcription declares the same tuning in words.
No independent transcription supports capo 7 on Blind Man's Arrow. One declares no capo, one declares capo 6, and our file declares capo 0. The rejected capo 7 that the skill keeps as its standing proof of an ergonomically attractive and musically wrong answer stays rejected.

The human transcribers stayed inside five frets across the material that parsed cleanly, and they wrote string skips of their own. That matches the reading this arrangement takes: a skip is ordinary in a tab, and it often marks a second player.

No tab content is reproduced here. The comparison reads tuning, capo, fret spans and skip counts out of the pages, then discards the notation.

8. The files

Four arranged Guitar Pro files. They open in Guitar Pro, TuxGuitar, or any GP7 reader.

Secret — arranged.gp Kilgore Trout — arranged.gp Blind Man's Arrow — arranged.gp A Tree For Trials — arranged.gp score.json arrange_stats.json index.md

Reproduce it

python3 ~/Projects/_outputs/appleseed-allparts/arrange-2026-09-07/tools/arrange.py
python3 ~/Projects/_outputs/appleseed-allparts/arrange-2026-09-07/tools/refine.py
python3 ~/Projects/_outputs/appleseed-allparts/arrange-2026-09-07/tools/subdivide.py
python3 ~/Projects/_outputs/appleseed-allparts/arrange-2026-09-07/tools/score.py
python3 ~/.claude/skills/impossible-guitar-parts/impossible_gate.py \
  --source _live_export_2026-09-07/s6389274-Blind-Mans-Arrow.gp \
  arrange-2026-09-07/arranged/s6389274-Blind-Mans-Arrow-ARRANGED.gp