Commit Graph
14 Commits
Author SHA1 Message Date
Lucas WintherandClaude Opus 5.5 48ae9780a6 fix(pipeline): repeat-vote review fixes
- Return an unchanged copy for a non-finite/zero grid (NaN downbeat used to
  delete every guitar note).
- Skip an added note when a same-pitch note (bar, neighbouring bars or already
  added) lies within tol; avoids near-duplicates across bar lines.
- bench run/real: --no-repeat-vote passes { repeatVote: false } to the pipeline.
- Tests: notes before a late downbeat, bpm 0 / NaN / Infinity, trailing partial
  bar, half-tempo grid, neighbour-bar duplicate, pipeline-level on/off.

Eval unchanged: synthetic t1a 0.885 t1b 0.840 t1c 0.752 t1d 0.737, lnoe 0.507.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 21:21:00 +01:00
Lucas WintherandClaude Opus 5.5 132659a99c feat(pipeline): vote guitar notes across repeated bars (E5)
Bars whose transcriptions are similar (16th-slot occupancy cosine >= 0.6,
diagonal-smoothed, and exact pitch/onset match >= 0.3) are treated as repeats.
Notes recurring in < 15% of a bar's repeats are dropped; notes in >= 25% and
>= 3 repeats but missing from the bar are added. Default on for guitar.

Synthetic median guitar F1 t1a 0.866->0.885, t1b 0.814->0.840,
t1c 0.734->0.752, t1d 0.721->0.737; lnoe 0.403->0.507.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 21:14:17 +01:00
Lucas WintherandClaude Opus 5.5 0f14fbc574 feat(pipeline): transcribe guitar from guitar+piano+other stems
Demucs-6s scatters guitar energy across its guitar, piano and other stems.
Synthetic t1 median guitar F1 rises from 0.39-0.60 to 0.72-0.87; the real
'Last Night on Earth' reference goes 0.390 -> 0.403.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 20:46:31 +01:00
Lucas WintherandClaude Sonnet 5.5 b631bd2c7e fix: final-review findings (median pass tick, R11 secondary metrics, R12 chord duration, render version, dsp resample)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-30 05:55:04 +01:00
Lucas WintherandClaude Sonnet 5.5 4c89f0d664 fix: pipeline fingering uses quantiser snap; more run tests
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-30 05:11:19 +01:00
Lucas WintherandClaude Sonnet 5.5 604d1a67af feat: pipeline runner with oracle modes
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-30 05:04:06 +01:00
Lucas WintherandClaude Sonnet 5.5 bf93a4a32e feat: quantisation and tab assignment
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-30 05:00:20 +01:00
Lucas WintherandClaude Sonnet 5.5 eab70b24f6 fix: drum transcriber noise gate, kick+snare, test floors
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-30 04:55:06 +01:00
Lucas WintherandClaude Sonnet 5.5 9bad6490eb feat: heuristic drum transcription
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-30 04:50:28 +01:00
Lucas WintherandClaude Sonnet 5.5 1d490f6897 fix: tempo octave choice, start-of-music anchoring, mean-normalised combs, pure toMono
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-30 04:46:09 +01:00
Lucas WintherandClaude Sonnet 5.5 4ab92d4a86 feat: tempo grid estimation
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-30 03:35:13 +01:00
Lucas WintherandClaude Sonnet 5.5 1239e5e0ac feat: basic pitch transcription
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-30 03:22:14 +01:00
Lucas WintherandClaude Opus 5.5 b5e6f63881 test: tighten demucs separation assertions (ruling R7)
Bass absolute SDR floor, guitar/piano order pinned by stem energy,
finite + non-silent checks on the mono and 3 s slice paths, and the
test.failing comment cites ruling R7.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 03:19:40 +01:00
Lucas WintherandClaude Opus 5.5 86416f7637 feat: demucs 6-stem separation
Radix-2 FFT and torch-compatible stft/istft (hann, center, reflect,
normalized). HTDemucs-6s ONNX separator mirroring demucs apply_model:
whole-mix normalisation, 343980-sample centred segments, 25% overlap
with triangular weights, _spec/_ispec around the graph, spectral +
time branch sum. Brief's guitar/bass > 3 dB criterion is unmet by the
model on t1b/1 and is kept as test.failing pending a ruling.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 03:14:51 +01:00