The steps and skills that produced the 8-28 deliverable, mapped onto the new 9.11.26 tapes · assembled 2026-09-13
All five files measured directly with soundfile.info. Durations agree
within 1.5 s across the set, which is what makes them simultaneous mic captures of one take
rather than five separate recordings.
File in /Volumes/Black/Downloads/ | Duration | Length | Rate | Ch | Format | Size |
|---|---|---|---|---|---|---|
| 9.11.26 - 9_11_26, 10.42 PM-005.wav | 14728.5 s | 4h 05m | 44100 | 2 | PCM_24 | 3.90 GB |
| 9.11.26 - 9_11_26, 11.02 PM-002.wav | 14728.5 s | 4h 05m | 44100 | 2 | PCM_24 | 3.90 GB |
| 9.11.26 - 9_11_26, 11.06 PM-004.wav | 14727.0 s | 4h 05m | 44100 | 2 | PCM_24 | 3.90 GB |
| 9.11.26 - 9_11_26, 11.14 PM-001.wav | 14727.0 s | 4h 05m | 44100 | 2 | PCM_24 | 3.90 GB |
| 9.11.26 - 9_11_26, 11.17 PM-003.wav | 14728.5 s | 4h 05m | 44100 | 2 | PCM_24 | 3.90 GB |
| 8-28 run | 9-11 run | Consequence | |
|---|---|---|---|
| Mic tapes | 4 | 5 | Every best-mic-per-lane test has five candidates |
| Tape length | 18,745.374 s (5h 12m) | 14,727 to 14,728.5 s (4h 05m) | Shorter map, likely fewer songs than twelve |
| Rate / depth | 44100, 2ch, PCM_24 | 44100, 2ch, PCM_24 | Identical, cut settings carry over |
| Per-file size | 4.96 GB | 3.90 GB | 19.5 GB total input |
| Master location | /Volumes/Black/Downloads/ | /Volumes/Black/Downloads/ | Same drive, already found |
The 8-28 master is 8.28.26 - 9_1_26, 4.53 PM.wav, 4,960,025,948 bytes, 18745.374 s,
in that same folder. Its provenance record reads 13 of 13 bit-exact across all four mics.
Two further skills are in reach for the tail end: /stems-to-guitar-pro-drums if the
drums are going to notation, and /five-stem-song-analyst for per-song analysis.
Neither ran on 8-28.
The skill states these are not to be reordered. Quoted from its own SKILL.md.
No Demucs, DrumSep, or enhancement until verification passes. Record all 13 manifest fields. On 8-28 this step is exactly where the session broke down: the mic3 master was called "not obtainable" after searching Drive, the T7, and the boot volume, never /Volumes/Black. Brandon supplied the path. All five 9-11 tapes are already located and measured above.
Prior outputs get labelled PRIOR_RUN_REFERENCE with symlinks and a note. Never deleted, never used as inputs. Suggested root: ~/Projects/_outputs/band-practice-9-11/.
Never trust an old map. A volume-drop cull of a near-continuous jam misses the drum-driven performances, because there are almost no silences to split on. Map the kick-band periodic pulse directly.
Boundaries snapped to quiet valleys. Keep count-ins, lead-in, and decay. Never clip a transient.
htdemucs_6s, producing bass, guitar, drums, other, vocals, piano.
MDX23C, producing kick, snare, toms, hh, cymbals. Demucs first is the rule, since DrumSep partitions 100% of its input into six drum classes and has no not-a-drum output.
bass, guitar, kick, snare, toms, hihat (renamed from hh), cymbals. Frame-matched, time-zero, provenance table written.
composite-stem-alignment's source_align computed spurious offsets and applied them, pushing guitar 2.24 ms and bass 5.1 ms out of sync with the drums. Measure the real delay first with GCC-PHAT on the raw cuts, 40 to 2000 Hz, at three points. Within about 10 samples of 0 means sample-locked, so use offset 0.Each of these started as a number chosen by reasoning and was replaced by one measured from the corpus. Carry the corrected values into 9-11 rather than rediscovering them.
| Gate | Was | Now | What the measurement showed |
|---|---|---|---|
| Reality gate, cymbal presence | 0.5% fraction arm | -66 dBFS absolute | mic1 is 83-98% below 250 Hz, so real cymbals are a tiny share of total energy. The fraction arm failed by 3.8x to 50x on all six songs and would have called present cymbals absent. Now an 8th-order Butterworth bandpass on absolute band level, fraction demoted to advisory. |
LANE_PERC_MIN | 0.06 | 0.15 | Measured over 45 lanes: real lanes sit at 0.262 and above, the two bleed lanes at 0.044 and 0.064. A 4x gap, and 0.15 sits inside it. Re-run across all 45 lanes it moves exactly those two. |
| Drum gate, onsets per second | percussive fraction | 2.0 onsets/s | Songs that built a kit ran 2.7 to 3.98 onsets/s, songs refused ran 1.33 to 1.93. The 2.0 floor sits in the empty gap. Percussive fraction ranks them backwards, since the two highest inputs were both refusals. |
| GATE A room-mic guard | absent | level split | Guitar mics someone played measure -10.1 to -28.7 dBFS, room mics -30.5 to -38.4 dBFS. A 1.8 dB gap, no overlap. Without the guard a room mic scored as high-polyphony, which reads exactly like a rhythm player, and song20 was refused at guitar_corr 0.455 when the played guitar read 0.011. |
rebuild_kit_demucs_first.py behind --bleed-cancel, default OFF. On song12 it
removed 34.3% of the energy and dropped percussive content 0.778 to 0.560 while guitar correlation
stayed flat at 0.033 to 0.042. The adopt-guard refused it, as designed. The reason it cannot work:
the Demucs stem is already clean at 0.021 to 0.058 guitar, so the contamination is created by the
partition, and there is no linear copy of the guitar mic left to subtract. Do not spend the session
re-deriving this.
All in ~/Projects/_outputs/band-practice-8-28-drumsep-redo/. Purposes are
each script's own docstring first line.
| Date | Script | Purpose |
|---|---|---|
| Sep 4 | bleed_probe.py | Measure guitar bleed inside drumsep output lanes. |
| Sep 5 | verify_cut_against_master.py | Prove or disprove that a per-song mic cut is a bit-exact slice of the master. |
| Sep 5 | build_deliverable.py | Build the deliverable: labelled lossless WAV, one folder per song. |
| Sep 7 | label_guitar_roles.py | Decide which guitar mic is LEAD and which is RHYTHM, per song, from measurement. |
| Sep 7 | relabel_10_15.py | Re-label the songs 10-15 guitar files from the reproducible measurement. |
| Sep 7 | repair_guitar_labels.py | Re-derive every guitar and room file for songs 10-15 from the T7 verbatim cuts. |
| Sep 7 | verify_deliverable.py | Verify every verbatim file against the 4.97 GB master. |
| Sep 7 | build_deliverable_17_22.py | Fold the takes 17-22 drum lanes and measured guitar roles into the deliverable. |
| Sep 7 | complete_deliverable.py | Give every song the same four verbatim microphones. |
| Sep 7 | mic_independence.py | Is this microphone carrying a source of its own, or a mixture of the others? |
| Sep 7 | all_mic_correlations.py | Envelope correlation against the drum mic for EVERY mic instance, played or not. |
| Sep 7 | mic_band_profile.py | Band-energy profile of every played mic, to ask what INSTRUMENT is on it. |
| Sep 7 | onset_lock.py | Third vote on lead vs rhythm: which guitar locks to the drummer? |
| Sep 7 | lane_source_test.py | For a marginal drum lane: does it track the DRUM mic or the GUITAR mic? |
| Sep 11 | fix_kick_bleed.py | Strip sustained bleed out of the DrumSep kick lanes. |
| Sep 11 | fix_lane_sustain.py | Strip sustained bleed from snare and tom lanes. |
| Sep 11 | repoint_als_kicks.py | Point Live sessions at the FIXED kick lanes. |
fix_kick_bleed.py and fix_lane_sustain.py were promoted into
~/.claude/skills/composite-stem-alignment/scripts/, so they are part of the skill now
rather than local one-offs.
Twelve songs resolved, four output generations. The folder tree records the sequence.
| Folder | Dated | What it holds |
|---|---|---|
| DELIVERABLE-8-28/ | Sep 11 | Twelve song folders, songs 10-22. The shipped set. |
| KICK-FIXED-2026-09-11/ | Sep 11 14:14 | Nine songs, first kick de-bleed pass. |
| KICK-FIXED-V2-2026-09-11/ | Sep 11 15:50 | Twelve songs, second kick pass after the HPSS gate revision. |
| LANE-FIXED-2026-09-11/ | Sep 11 16:33 | Snare and tom sustain stripped. |
Verdict spread across the twelve: four PASS, five REVIEW_REQUIRED, two STOPPED_AT_GATE_A, one
QUIET_KIT. Provenance closed at 38 of 38 verbatim files bit-exact against the master. Full detail in
RESULTS-all-songs.md and CLOSED-2026-09-05.md in the same folder.
mic_band_profile.py and mic_independence.py before labelling anything, since the 8-28 session lost time to a room mic that read as a rhythm guitarist.