Frank Zappa, Joe's Garage, 1979. Songsterr s604777, live tab r8852151 by Ben Dibden1, part 8 "Vinnie Colaiuta", 248 bars, 4948 notes, 629 ghost flags.
Two publishers print quarter = 134 for the 3:18 guitar-solo passage. The recording plays that passage at 136.7, drifting from 135.7 to 137.9. This page shows the measurement, the controls that had to pass first, and the one asset that turned out to be synthetic.
Session of 2026-09-06. Nothing on this page has been uploaded to Songsterr. No ghost flag has been moved, added or removed.
scope limit, read this first What is measured is an audio window
Everything below establishes the tempo of the audio between 198 and 238 s. That window is tied to the printed 3:18 marker by the lead stem, which sits at digital silence through 197 s and enters at 198.275 s against a printed 198.000 s.
It is not established that this window is measures 102 to 104. That mapping comes from the
tab's own score map. Queue item q-2026-09-06-acaf55 tested it and failed to establish
it, and section 12 carries that measurement. Any sentence here that names a measure number is
carrying an untested assumption, and the blocker-2 row in section 11 is labelled a scale estimate for
exactly this reason.
inherited, unchanged The instance-level test already ran and failed
An onset-by-onset comparison of Songsterr ghost flags against snare-stem detections returned 9 agreements of 20 where the base rate alone predicts 10.0. A permutation test over 20,000 shuffles of the ghost labels gave a shuffled mean of 8.89 and sd 1.36, so p(shuffled ≥ observed) = 0.739. Zero of 629 flags receive audio support.
That negative stands and this page does not revisit it. A detector disagreeing with a reading made by eye and by ear loses. The 629 flags stay where the transcriber put them.
The previous session closed with three measured blockers rather than an appeal to effort, and a queue item asking which of four tempo numbers is correct: the printed 134, the metronome stem's 136, the folder name's 142, and a local grid sweep peaking at 143.5. This page answers that item.
The previous session leaned on a stem named metronome in the 15-stem separation set,
reading 136.00 BPM from it and using its first click as the phase anchor for grid tests. Before any
tempo arithmetic, that asset was classified.
verdict It is a beat tracker's output rendered to a wav
It is digital silence plus 1,171 bit-identical copies of one click sample. Nothing separated from the record is in the file.
| Test | Metronome stem | Snare stem, same folder, same separation |
|---|---|---|
| Duration | 501.660 s | 501.840 s |
| Exact-zero sample fraction | 0.4238 | 0.0061 |
| Samples remaining after masking 10 ms before and 350 ms after every click | 1,561,721, every one exactly 0.0, peak 0.0 | not applicable |
| Distinct click peak amplitudes | 1, all exactly 1.0 at 0.0 dBFS | not applicable |
| Pairwise waveform cosine similarity, 685,035 pairs | mean 1.000000, min 1.000000 | not applicable |
| md5 of 300 ms stereo windows, 64,405 windows | 55 distinct hashes, each appearing exactly 1,171 times | not applicable |
A source separation cannot produce a stem shorter than its siblings, and it cannot produce 1,171 bit-identical transients at full scale over digital silence.
1,171 clicks give 1,170 intervals. Every single interval falls within one sample of a multiple of 882 samples, which is 20 ms at 44.1 kHz. The fraction inside two samples of that lattice is 1.0000. The beat times were produced at 50 frames per second and then rendered.
Each single interval can take nine values and no others. A run of alternating steps does encode an intermediate average, so the lattice constrains instantaneous values rather than long-window means. The claim below rests on one interval and on a median of intervals, and both are lattice-bound.
| Lattice step | Interval | Implied quarter BPM | Count | Share |
|---|---|---|---|---|
| 18 | 360 ms | 166.667 | 21 | 1.8% |
| 19 | 380 ms | 157.895 | 75 | 6.4% |
| 20 | 400 ms | 150.000 | 159 | 13.6% |
| 21 | 420 ms | 142.857 | 322 | 27.5% |
| 22 | 440 ms | 136.364 | 383 | 32.7% |
| 23 | 460 ms | 130.435 | 174 | 14.9% |
| 24 | 480 ms | 125.000 | 27 | 2.3% |
| 25 | 500 ms | 120.000 | 8 | 0.7% |
| 26 | 520 ms | 115.385 | 1 | 0.1% |
withdrawn "The metronome stem reads 136.00 BPM median"
That number is the 440 ms bin, which holds 32.7% of the intervals. Re-running the previous session's exact window, 190 to 212 s, reproduces its figures to the digit: 50 clicks, median 440.00 ms, p10 420.0, p90 480.0. The eight distinct interval values in that window are 380, 400, 420, 440, 460, 480, 500 and 520 ms, every one a lattice step. The p10 to p90 spread that was read as evidence the click track is not a fixed grid is the quantizer.
A quarter note at the printed 134 BPM is 447.76 ms, which this lattice cannot express at any step. No single interval in this stem can express 134, and its median can only land on a lattice step.
The folder name's 142bpm is the same instrument talking. 142.857 is the 420 ms bin and
the mean interval across the file is 428.15 ms, which is 140.14 BPM. The filename and the
metronome stem are one estimate, not two.
The stem folder is named D minor-142bpm-442hz. A file that had been resampled to a
442 Hz reference would carry every tempo figure with it, so it was tested first, and the result gates every BPM figure below. Tuning was estimated per stem against the A440 equal-tempered grid, with 30-second windows
for stability.
| Stem | Global cents vs A440 | Implied A | 30 s windows | Window median | Read |
|---|---|---|---|---|---|
| bass | +14.0 | 443.6 Hz | 16 | +18.2 | usable |
| lead | +14.0 | 443.6 Hz | 16 | +14.9 | usable |
| rhythm | +8.0 | 442.0 Hz | 16 | +6.1 | usable |
| piano | +1.4 | 440.4 Hz | 3 | +3.0 | too sparse |
| vocals | -49.8 | 427.5 Hz | 8 | -17.5 | unstable, discarded |
control passes Speed cannot explain the tempo gap
The three stems with sustained pitched content agree: the audio sits 8 to 18 cents sharp of A440, matching the folder's label. Taking A440 as the band's reference, that is a playback ratio between 1.0046 and 1.0104, so about 1.0% of speed under that assumption. The 134 to 142 gap is 6%.
stated limit This assumes the band tuned to A440, which is not established here. The bound holds as written and the conclusion does not depend on the exact value inside it.
Onsets come from the summed kit, six stems: kick, snare, hat, cymbals, toms and other_kit. The measurement therefore no longer rests on quiet snare detections at -42 to -50 dBFS, which is the third inherited blocker. Onset detection runs at hop 128, 44.1 kHz.
The statistic is circular concentration over a candidate period T:
R = |mean( exp( 2πi · tk / T ) )| E[R] under the null = √π / (2√N)
Phase is optimized implicitly, so no anchor click enters the measurement and the rendered metronome is never touched.
corrected Why the earlier sweep peaked at 143.5
The previous statistic was the fraction of onset gaps falling within 25 ms of a sixteenth multiple. A fixed absolute tolerance against a variable period is biased toward short periods by construction. A random gap lands within τ of a multiple of T with probability 2τ/T.
At τ = 25 ms that is 44.7% for the 111.9 ms sixteenth of quarter = 134, and 47.8% for the 104.5 ms sixteenth of quarter = 143.5. The three-point tilt toward 143.5 is the tolerance. The earlier section's own quoted chance floor of 45.4% is that quantity.
first version was too easy, and this replaces it
The original validation generated onset times and handed them to the estimator, so it tested
the statistic and never the pipeline. It also returned R = 0.81 where the real window returns
0.4377, which means the synthetic was easier than the recording. Both faults are fixed below.
Every run now synthesises audio and passes it through the same
onset_strength then onset_detect chain at hop 128, 44.1 kHz, delta 0.03.
Signal built to the measured conditions of the 198-238 s window: onset density 7.3 per second, two amplitude populations 22 dB apart with a quiet share of 0.545, kit-like exponentially decaying broadband transients, and a -60 dBFS noise floor.
| True BPM | Recovered median | Max absolute error | R | Detector recall | Detector precision | Timing bias |
|---|---|---|---|---|---|---|
| 134.000 | 134.0004 | 0.024 | 0.811 | 0.997 | 0.997 | +5.45 ms |
| 136.700 | 136.7116 | 0.013 | 0.805 | 0.993 | 0.997 | +5.51 ms |
| 137.500 | 137.5011 | 0.014 | 0.799 | 0.993 | 0.997 | +5.53 ms |
| 142.857 | 142.8571 | 0.027 | 0.785 | 0.987 | 0.997 | +5.70 ms |
The detector reports every onset about 5.5 ms late. A constant shift leaves the period estimate untouched, because the statistic is phase-invariant. It matters for anchoring, and it is carried into section 12.
| Jitter sd | R | Recovered median, true 136.7 | Max absolute error | Matches the real R |
|---|---|---|---|---|
| 12 ms | 0.798 | 136.687 | 0.013 | no, far easier |
| 18 ms | 0.611 | 136.687 | 0.037 | no |
| 24 ms | 0.421 | 136.699 | 0.037 | yes |
| 30 ms | 0.274 | 136.699 | 0.062 | no, harder |
| 36 ms | 0.186 | 136.674 | 26.42 | no, past the cliff |
| 42 ms | 0.168 | 127.904 | 27.58 | no, past the cliff |
The method has a cliff and the real data sits well above it. Down to R near 0.27 the estimator holds to 0.06 BPM. Below R near 0.19 it breaks completely, missing by 26 BPM. The observed R of 0.4377 is roughly 2.3 times the breakdown level.
The 5-second table in section 9 shows the passage accelerating from 135.72 to 137.87. A linear ramp across exactly that range, with ordinary 12 ms jitter, was synthesised and run end to end.
| Model | R produced | R observed on the real audio | Recovered median | True midpoint | Bias |
|---|---|---|---|---|---|
| linear ramp 135.72 to 137.87, 12 ms jitter | 0.4347 | 0.4377 | 136.44 | 136.795 | -0.357 BPM |
the low R is explained
Modelling the passage as a tempo ramp across the measured range reproduces the observed R to 0.003. The recording's R of 0.4377 is what ordinary drift over 40 seconds looks like, and it is not detector failure and not a wrong metrical reading. Under that model the single-window estimator sits 0.36 BPM low of the true midpoint, which is well inside the 2.15 BPM spread reported as the answer.
where the model still differs from the recording
The synthetic ramp carries uniform onset density. The real window does not: onsets thicken later, which is why the real 40-second single fit lands at 137.46, above its sub-window median of 136.66, in the opposite direction to the synthetic bias. Density weighting is therefore an unmodelled term, and it is one reason the sub-window curve is reported as the answer rather than the single fit.
Calling 109.12 ms "the sixteenth" is a claim, so it was scanned rather than assumed. Wide sweep, 40 to 900 ms, over the solo passage.
| Period | Reading | R | vs null 0.0518 |
|---|---|---|---|
| 109.10 ms | the fundamental | 0.4359 | 8.4x |
| 54.60 ms | half of 109.10, so the same grid read at twice the rate | 0.2461 | 4.8x |
| 218.24 ms | the eighth | 0.0465 | below |
| 327.36 ms | dotted eighth | 0.0337 | below |
| 436.48 ms | the quarter | 0.0299 | below |
| 518.32 ms | 4.75 sixteenths, a quarter of the 19/16 bar | 0.0419 | below |
| 2073.28 ms | one true 19/16 bar | 0.0376 | below |
One fundamental and its half. A previous version of this table labelled 518.32 ms "one 19/16 bar", which was wrong: 518.32 ms is 4.75 sixteenths and the bar is 19 of them, 2073.28 ms. The bar period is now measured and listed, at R = 0.0376. Every longer multiple sits at or below the null, which is what a running sixteenth subdivision with no eighth-level accent looks like. Reading 109.12 ms as the sixteenth gives a 19/16 bar of 2.073 s, against the tab's notated 2.111 s for measure 102. Two independent routes to the same bar length settle the level.
Solo passage 198 to 238 s. Both Alfred page 64 and the DRUM Groove Analysis page mark this passage from 3:18, and the lead stem enters at 198.275 s against that printed 198.000 s, so the window is tied to the printed marker by audio. Nothing ties it to a measure number by audio. 293 kit onsets. A single best-fit period across the whole 40 seconds gives quarter = 137.46, R = 0.4377 against a null expectation of 0.0518, Rayleigh p = 4.2 × 10-25, and above all 200 draws of an interval-shuffle null whose max-R averaged 0.226.
| Candidate | Where it comes from | R in this window | Against null 0.0518 |
|---|---|---|---|
| 134.000 | Alfred p64 and DRUM Groove Analysis | 0.0167 | below the null |
| 135.000 | the tab's own automation at measure 101 | 0.1786 | 3.4x |
| 136.364 | the rendered metronome's modal bin | 0.0548 | 1.1x |
| 142.857 | the folder name | 0.0236 | below the null |
| 143.500 | the previous session's sweep peak | 0.0647 | 1.2x |
| 137.463 | measured | 0.4377 | 8.5x |
A single 40-second fit hides tempo drift, so the window was split. Every sub-window is individually strong, R between 0.59 and 0.83 against nulls near 0.15.
withdrawn 137.46 as the headline figure
Median 136.66, range 135.72 to 137.87, spread 2.15 BPM. The sub-window sequence rises overall and changes direction twice, and the 40-second single fit is weighted toward the later, denser windows. 136.7 with a 2.1 BPM spread is the honest figure.
Other windows, for completeness. Bootstrap intervals here measure onset sampling noise only. They do not measure tempo drift inside a window, and the table above shows drift is the larger term.
| Window | Onsets | Best quarter BPM | R | Bootstrap CI 95% | p vs interval-shuffle null |
|---|---|---|---|---|---|
| 198-238 s, the solo | 293 | 137.46 | 0.438 | 137.19 to 137.54 | <0.005, 0 of 200 draws |
| 340-400 s | 517 | 140.58 | 0.342 | 139.53 to 140.66 | <0.005, 0 of 200 draws |
| 400-460 s | 512 | 135.33 | 0.262 | 133.57 to 137.82 | 0.015 |
| whole song | 3456 | 137.87 | 0.107 | 137.09 to 138.53 | <0.005, 0 of 200 draws |
The song is not at one tempo, which agrees with the tab carrying 19 tempo automations between 64 and 139.
not supported by this window The printed 134 does not match what the recording plays at 3:18
It scores 0.0167, below its own null of 0.0518, in the same window two publishers print it. The measured value is 2 to 4 BPM higher. At most 1.0% of that gap can be playback speed, so the remainder is real. The estimator was validated to 0.03 BPM against synthetic ground truth including 134 itself.
refuted 143.5 and 142.857
143.5 was a tolerance artifact of the earlier statistic, and it scores 0.0647 here against a null of 0.0518. 142.857 scores below the null, and it was never independent evidence in the first place, being the same beat tracker's output as the metronome stem.
supported The transcriber's own tempo map is the closest candidate
The live tab's automation reads 135 at measure 101. The audio at 198 to 203 s measures 135.72. A gap of 0.7 BPM, or 0.5%, and closer than every printed and machine-derived figure on the list.
coincidence, not evidence The metronome's 136.364
It does land near the measured 136.7. That is a property of the lattice spacing. In this range a 20 ms grid can emit only 130.435, 136.364 or 142.857, so landing near a true value carries no information about the recording.
| Blocker as inherited | Status after this pass |
|---|---|
| 1. Onset timing precision. 23 to 29 ms median absolute residual against a 111.9 ms sixteenth, 17 of 33 onsets inside 25 ms of the best grid. | disqualified as stated The best-scoring grid was anchored on the first metronome click. A beat time on a 20 ms lattice can sit anywhere within half a step of the true beat, so up to 10 ms of the residual was injected by the reference, which is up to 8.9% of a subdivision. True onset precision is now unknown rather than established at 23 ms. |
| 2. Tempo-map drift. Notated 498.36 s against a 501.84 s stem, 0.7%, roughly one 19/16 bar of positional uncertainty at 198 s. | reduced, as a scale estimate The inherited figure applied a whole-song accumulation locally. Comparing the tab's notated 2.111 s for measure 102 against the audio's 19 × 110.52 ms = 2.100 s gives 11 ms per bar, 0.55%, about 35 ms over three bars. That comparison presumes the 198-203 s window is measure 102, which is q-2026-09-06-acaf55. Read it as the scale of tempo-map error, not as a measure-anchored
result. |
| 3. Detector reliability at low level. Many quiet detections sit at -42 to -50 dBFS on a separated stem, where separation artifacts and bleed are not excluded. | untouched, still stands This pass sidestepped it by summing the whole kit rather than solving it. Any instance-level claim still has to face it. |
Queue item q-2026-09-06-acaf55. It asks where measure 102 begins in the audio. It ran
twice, and the second run overturned the first.
index base, settled first
The record's measure 102 is 0-based index 101. It starts at 196.8549 s, is
19/16, lasts 2.1111 s, at bpm 135, read from the tab's signature and
automations.tempo fields rather than from any image. That matches the previously recorded
196.898 to 199.009 s to 43 ms with an identical duration. The first run of this script labelled
one bar late and that is corrected.
The first run scanned a global offset across plus or minus 1.5 s and reported a cross-family range of 1,928 ms, with kick at +1.176 and hat at +1.174. The cymbal peak sat at +1.490, ten milliseconds from the search boundary, which is the tell that the window was too narrow.
Added: a scan-aware permutation null, shuffling the notated inter-onset intervals and rescanning, so the null faces the same 3,001-point search the observation did. Added: a bootstrap over notated events. Added: a sweep of the peak-over-mean cut, since the guitar vote missed the published 1.35 by 0.02.
| Source | Family | Run 1 offset | Run 2 offset | Peak/mean | Scan-aware p | Bootstrap 95% CI |
|---|---|---|---|---|---|---|
| part 4 Arthur Barrow, bass | bass | +0.410 | +0.412 | 1.56 | 0.165 | [-1.644, +1.876] |
| part 7 Warren Cuccurullo, rhythm | guitar | +1.372 | +2.012 | 1.40 | 0.560 | [-2.518, +2.988] |
| part 6 Peter Wolf, piano | keys | -0.752 | -2.278 | 3.19 | 1.000 | [-2.506, +0.028] |
| part 8 frets 35,36, kick | within-part | +1.176 | +1.182 | 2.53 | <0.005 | [+0.725, +1.504] |
| part 8 frets 49-57, cymbals | within-part | +1.490 | +1.490 | 5.17 | 0.075 | [+0.700, +2.244] |
| part 8 frets 42,44,46, hat | within-part | +1.174 | +2.954, at the boundary | 1.57 | 0.430 | [+0.622, +2.990] |
run one was an artifact of the narrow window
The hat vote moved 1.78 s once the scan was widened, and the guitar and keys votes moved 0.64 s and 1.53 s. Only kick and cymbal held position. The "kick and hat agree to 2 ms" line from run one is withdrawn. That agreement was inside one detector frame of 2.902 ms to begin with, which is below the resolution the hop can support, and it did not survive the wider search.
what the range is, and what it is not
Cross-family range at the published 1.35 cut is now 4.290 s, more than two 19/16 bars, and the three families outside the kick differ by that much on their own. This is the maximum minus the minimum of selected point estimates. It carries no confidence level and no coverage interpretation, so calling it "anchor uncertainty" gave it more meaning than the calculation supports. The bootstrap intervals in the table are the quantity that does carry coverage, and every one of them spans seconds.
| Peak/mean cut | Sources kept | Cross-family range |
|---|---|---|
| 1.20 to 1.35 | 6 | 4.290 s |
| 1.40 and 1.50 | 5 | 3.768 s |
| 2.00 | 3 | 3.614 s |
No cut produces convergence. The picture is not sensitive to the threshold, which was the one reassuring thing the sweep could have shown and did.
the drum vote, correctly named
Calling it circular was too strong. Every disputed ghost label sits on the snare lane, and this anchor uses kick, cymbal and hat only, so it reuses no ghost label and no snare detection. The right name is a within-part target-excluded anchor. What it lacks is external-source independence, since it still depends on the same transcribed part. It may be frozen first and used to test snare outcomes afterwards, never fitted and judged in the same step.
On that reading the kick vote is the only estimate here that passes a scan-aware null, at p < 0.005, 0 of 200 draws, placing measure 102 near 198.037 s. Its bootstrap interval is still 0.78 s wide.
the wording that survives
acaf55 did not establish a unique external anchor. Across the family point estimates
selected at the published cut, offsets span 4.290 s. Of six sources, five fail a scan-aware
permutation null. A within-part target-excluded alignment from kick places measure 102 near
198.037 s, pending held-out snare testing and an independent external landmark set.
Queue item q-2026-09-06-c1d6d3, taken in the same pass. Several distinctive lead and
vocal landmarks rather than one entrance, a local map instead of one global offset, monotonic
with a slope-change penalty of 0.5 s per two-measure block, and every landmark set split so the fit
is scored only on held-out events. No part 8 lane enters, so no ghost label and no drum stem is
involved.
| Source | Stem | Landmarks | Held out | Offset at m102 | Local drift | Held-out rate | Over chance | Held-out residual |
|---|---|---|---|---|---|---|---|---|
| part 0 Ike Willis vocals | vocals | 26 | 13 | -2.726 | 0.08 s | 0.308 | 0.75x | 50.6 ms |
| part 5 Ike and Denny harmonies | backing_vocals | 19 | skipped, too few landmarks to fit a local map | |||||
| part 2 Frank Zappa solo | lead | 17 | skipped, too few landmarks to fit a local map | |||||
| part 4 Arthur Barrow bass | bass | 183 | 91 | +1.704 | 1.83 s | 0.363 | 1.55x | 42.5 ms |
| part 6 Peter Wolf wurlitzer | piano | 35 | 17 | -1.154 | 2.52 s | 0.000 | 0.00x | 255.5 ms |
| part 7 Warren Cuccurullo | rhythm | 270 | 135 | +0.782 | 5.19 s | 0.333 | 1.38x | 50.8 ms |
| part 1 Warren Cuccurullo | rhythm | 6 | skipped, too few landmarks | |||||
verdict One of FOUR evaluated sources beats 1.5x; three more were unevaluable
Only four sources were evaluated: vocals, bass, piano and rhythm. Three were skipped under the thirteen-block model and are unevaluable rather than negative. Of the four, only the bass clears the bar, at 1.55x with a 42.5 ms median held-out residual, and one passing source cannot be cross-checked, so no external anchor is established.
Two further signs the passing vote is weak. The bass says +1.704 s under the local map and +0.412 s under the global scan, a 1.29 s swing between two fitting procedures on the same source. And its local map absorbs 1.83 s of drift across 26 measures, which the 0.5 s per block penalty permits by design.
The guitar map wanders 5.19 s while still scoring 1.38x, which is what an over-free local map looks like and is the reason held-out scoring was used at all.
why the lead and vocal route could not be run as designed
The review asked for several distinctive lead or vocal landmarks. In measures 90 to 116 the Zappa solo part carries 17 notated onsets and the harmony part 19, too few to fit a local map across thirteen blocks. The vocal part has 26 and it scores below chance on held-out events. A thirteen-block local map asks too much of those counts. The landmarks exist and the model was too free for them. An affine map, or a monotonic map with three or four knots, could test those parts.
q-2026-09-06-a42f3c. It had been queued as blocked on rendering nine parts to audio.
That was wrong. FMP chapter 3 alignment builds a score chromagram from notated pitches, so no
synthesis is needed, and part 8 carries no pitch so the alignment cannot see a ghost flag.
attempt one failed the same way as the offset scan
Score chroma against the full mixture, band radius plus or minus 14.4 s, returned measure 102 at 210.72 s, an offset of +13.87 s, which is 96% of the band radius, and dropping one part moved it 21.4 s. A result at the edge of its own search is a search-width report.
Attempt two used the sum of the eight pitched stems so drum energy cannot drive the chroma, with the band tightened to plus or minus 3.6 s. Measure 102 lands at 197.880 s, offset +1.025 s, only 28% of the band, path slope 1.0188, and the map drifts smoothly from +1.077 at measure 99 to +1.393 at measure 107.
| Dropped part | Notes in window | Offset | Path slope | Shift vs full |
|---|---|---|---|---|
| 0 Ike Willis vocals | 67 | +1.025 | 1.019 | 0 ms |
| 1 Warren Cuccurullo | 30 | +1.025 | 1.019 | 0 ms |
| 2 Frank Zappa solo | 87 | -1.065 | 0.763 | -2,090 ms |
| 3 Warren Cuccurullo | 43 | +1.025 | 1.019 | 0 ms |
| 4 Arthur Barrow bass | 363 | -1.321 | 0.595 | -2,345 ms |
| 5 Ike and Denny harmonies | 166 | +1.001 | 1.019 | -23 ms |
| 6 Peter Wolf wurlitzer | 108 | +1.234 | 1.419 | +209 ms |
| 7 Warren Cuccurullo | 702 | -1.321 | 0.540 | -2,345 ms |
the pre-specified criterion fails
Leave-one-out range was to be under 100 ms. Observed range is 2.554 s, which is 1.21 of one 19/16 bar. The DTW does not establish the anchor either.
a hypothesis, explicitly not a result
Every run that disagrees also has a broken path slope: 0.540, 0.595, 0.763 and 1.419 against a correct alignment's 1.0. The five runs whose slope stays within 0.02 of 1 all answer between +1.001 and +1.025 s, a 24 ms spread. That filter was chosen after seeing the results, so it is selection. It is queued as a pre-registered rerun with the gate declared in advance.
The full-path answer puts measure 102 at 197.880 s and the within-part kick vote put it at 198.037 s, 157 ms apart, both near the printed 3:18 marker. Three procedures land in the same neighbourhood and none passes its own stability test, so the neighbourhood is a hint.
Nothing about the tempo measurement changes. That result covers the audio between 198 and 238 s and nothing wider. No external evidence on this machine places that window at measures 102 to 104, and the broader external-alignment question stays open.
carried limitation
The +5.5 ms detector lateness subtracted from every detection here was measured on modelled kit transients only. Bass, piano and cymbal attacks may each carry their own latency. That is small beside a seconds-wide family spread, and it is not small beside a 31 ms marker claim.
The same mixture, 180 to 300 s, separated again with demucs 4.0.1 htdemucs. Every detection in the original snare stem was then checked for a corroborating onset in that independent drums stem. The item had been queued as needing a second engine. demucs was already installed, so it was never blocked.
the two separations sit 50 ms apart
The first run scored below chance for both populations, which is misalignment and not evidence. Two methods agree on the lag: onset-envelope cross-correlation gives -49.3 ms at peak/mean 32.5, and raw-waveform cross-correlation over 30 s gives -50.11 ms. The original 15-stem set runs 50 ms ahead of the mixture it came from.
| Population | n | Corroborated | Rate | Against chance 0.2615 | Mean level |
|---|---|---|---|---|---|
| Loud | 212 | 85 | 40.1% | 1.53x | -11.54 dBFS |
| Quiet | 214 | 27 | 12.6% | 0.48x | -28.99 dBFS |
| Very quiet, -42 to -50 dBFS | 7 | 0 | 0.0% | 0.00x | the band blocker 3 names |
Loud snare detections survive an independent separation at 1.53x chance. Quiet ones do not, at 0.48x, which is below what random placement would give. Quiet minus loud is -27.5 percentage points. In 41 regions totalling 10.25 s where the independent drums stem sits at its noise floor, 6 original-snare detections still fire, 0.585 per second against an overall 3.55.
The comparison stem is the whole kit, so a genuine quiet stroke under a loud kick would score as uncorroborated. Masking predicts uncorroborated quiet detections sit under louder kit energy.
| Quiet detections | n | Independent drums level, median | p25 | p75 |
|---|---|---|---|---|
| corroborated | 27 | -43.63 dBFS | -54.88 | -32.45 |
| uncorroborated | 187 | -48.73 dBFS | -59.08 | -38.53 |
masking does not explain it
Uncorroborated quiet detections sit 5.10 dB quieter, the opposite of the masking prediction. Mann-Whitney z = -1.651, two-sided p = 0.099, so the gap itself is suggestive. What is established is that masking's directional prediction fails.
This supports blocker 3 as written. The quiet population that fed the p = 0.739 instance-level test is not corroborated by an independent separation, so that negative may have rested partly on artifact. A snare-specific second separation remains the cleaner control.
No flag moves on this. If anything it argues for leaving all 629 where the transcriber put them, since the audio evidence on both sides is now weaker than a reading made by eye and by ear.
The review's objection was that the 24 ms jitter condition in section 6 was selected to match observed R, making it a sensitivity calibration, and that a linear ramp reproducing one summary statistic shows compatibility rather than causation. This run is driven by the eight measured local tempi and the observed per-window onset counts, jitter held at an ordinary 12 ms, with nothing tuned to R. 30 seeds, end to end.
the objection is answered
R produced 0.4526 against the real audio's 0.4377, a difference of 0.015, with no fitted parameter. The low concentration follows from the measured tempo sequence and the measured onset density on its own.
| Quantity | Value |
|---|---|
| Onset-weighted truth | 136.756 BPM |
| Global 40 s fit, median over 30 seeds | 138.083 BPM |
| Bias against truth, median | +1.328 BPM |
| Bias p05 / p25 / p75 / p95 | -1.645 / -1.620 / +1.341 / +1.366 |
| Failure rate over 1 BPM | 100% |
| Failure rate over 2.15 BPM, the observed spread | 0% |
| Sub-window median | 136.631 BPM, error -0.125 |
A single 40-second fit misses by more than 1 BPM on every one of 30 seeds and lands in one of two basins. The sub-window median recovers the truth to 0.125 BPM. That validates the choice already made on this page: 137.46 was withdrawn and 136.7 from the sub-window curve reported instead. The simulated sub-window-minus-global gap is -1.452 BPM and the real audio's is -0.80, same sign and order.
The +5.5 ms lateness subtracted in section 12 came from modelled kit transients. The review asked whether bass, piano and cymbal attacks carry their own. They do.
| Instrument | Median latency | p05 | p95 | Recall |
|---|---|---|---|---|
| kit | 3.42 ms | 3.00 | 3.74 | 1.000 |
| piano | 3.95 ms | 3.68 | 4.27 | 1.000 |
| bass | 4.09 ms | 3.89 | 4.28 | 1.000 |
| voice | 6.75 ms | 6.27 | 7.23 | 1.000 |
| cymbal | 9.56 ms | 9.26 | 10.41 | 1.000 |
Maximum deviation from kit is 6.14 ms, so a single flat correction is not adequate. Latency also depends on density: kit reads 3.42 ms on sparse isolated hits against 5.5 ms in the dense end-to-end run, so the flat value used sits between them.
what it changes
Nothing that was concluded. A few milliseconds is negligible against a 4.290 s cross-family range and a 2.554 s leave-one-out range. It bears only on the 157 ms and 31 ms marker-level observations, and those were already stated as not established.
The record called this scan unclassified rather than unreadable, and said classifying it needs a measured error rate for telling a bracketed notehead from an ordinary one using that same scan. Pages 6 to 9 extracted at native 180 ppi.
| Page | Staff spacing | Notehead candidates |
|---|---|---|
| 6 | 14.50 px | 977 |
| 7 | 13.00 px | 1394 |
| 8 | 13.00 px | 1045 |
| 9 | 21.93 px | 674 |
391 real ordinary noteheads were taken from the scan itself, copied, given a synthetic bracket at the 2.3 px stroke width the record measured, and the scan's own paper noise re-added at the measured sd of 0.0176. A best-threshold classifier was then scored on real-ordinary against synthetic-bracketed.
classified The scan cannot support parenthesis mapping
One head in three would be mislabelled even with the bracket known to be present and the noise known exactly. Against 629 flags that is roughly 200 errors, which is not a usable instrument.
two limits on that number
The feature is contaminated. In dense drum notation the strips beside a notehead also carry stems, beams and neighbouring heads. Median side ink across 4,090 candidates is 0.334 with p90 at 0.913, which is adjacent notation. So 34.1% is the error rate of one measured feature and a smarter feature might do better on the same pixels.
No labelled positive was found. The side-ink distribution is bimodal and dense notation explains that on its own, so this scan supplies no confirmed example of a bracket. That is why the synthetic route was used at all.
What would change it: a publisher-resolution copy of the Modern Drummer Rock Charts pages,
still open as q-2026-09-06-e64c44. At the 18 to 19 px of the DRUM Odd Meter Lesson pages
brackets read by eye.
standing What this page does not claim
No individual Songsterr ghost flag receives audio support from anything here. The tempo result describes a passage. It maps no recorded stroke to any notated event, and it is not a reason to touch r8852151.
| Item | Value |
|---|---|
| Stem set | 15-stem separation of the album track, 202 Keep It Greasey-D minor-142bpm-442hz, 44.1 kHz, stereo, PCM_16 |
| Length, 14 stems | 501.840 s |
| Length, metronome stem | 501.660 s |
| Metronome stem md5 | 9fbce87924d6cf8f20ee79bb1ec29d2e |
| Mixture | 202 Keep It Greasey-Dm-142bpm-442hz.mp3, 320 kbps, 501.917 s, md5 432a028f3b60b11673ac8f424c889334 |
All under the session tool directory for s604777. Hashes identify the exact file that produced each section.
| Script | md5 | What it produced |
|---|---|---|
classify_metronome.py | 64fa7ddc7b464d6afd223d470a91f16b | sections 2 and 3 |
tuning_and_tempo.py | b147a9db25260019107eff16f0a4c980 | section 4 |
pulse_period.py | 8c1cd5e086b848fd1ad7606f983c777b | sections 8 and 9 |
pulse_drift.py | 919770ab2323a9afaeb422e841471017 | sections 7 and 9 |
validate_end_to_end.py | f5ab4e3566162e827e02a1e9e1c84307 | section 6, clean condition |
validate_matched_difficulty.py | 3d12dd187446d5d77a9e37e334046d59 | section 6, matched difficulty |
anchor_measure102.py | 737e96a9b467579874bd6b839e87bbf9 | section 12 |
Python 3.11.15, librosa 0.11.0, numpy 1.26.4. Random seeds fixed at 7, 11 and 17.
content.alfred.com/catpages/00-31503.pdf,
md5 116b3ee7df76b9d11a1c3d4d18781d12. Prints 19/16, quarter = 134.