Skip to content

  • Projects
  • Groups
  • Snippets
  • Help
  • This project
    • Loading...
  • Sign in / Register
T
Tidal
  • Overview
    • Overview
    • Details
    • Activity
    • Cycle Analytics
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Charts
  • Issues 0
    • Issues 0
    • List
    • Board
    • Labels
    • Milestones
  • Merge Requests 0
    • Merge Requests 0
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
    • Charts
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • PLN
  • Tidal
  • Repository

Switch branch/tag
  • Tidal
  • tools
  • foundry
  • TODO.md
Find file
BlameHistoryPermalink
  • PLN (Algolia)'s avatar
    fix(foundry): verify-rerank the loop finder against true post-snap seam + robust sparse seam · 791a0d78
    Problem — the finder's rank didn't reflect true seam quality. On a real
    end-to-end run over the Super freak dub kit (Soul Sugar meets Dub Shepherds),
    several top-scored 2-bar windows CLICKED at the wrap after export while cleaner
    windows ranked below them. Root cause: analyze_stem scores the seam on the RAW
    candidate window, but export_take zero-crossing-snaps both boundaries (B1) AND
    slices at the 3-decimal-rounded start_s/end_s — and both transforms move the wrap.
    A beat-exact window measuring seam 0.79 read 0.07 once rounded, and that rounded,
    snapped slice is what actually ships. So the finder's seam proxy diverged from the
    grader (grade.py), which measures the window that exists on disk — the ground truth.
    
    Approach — a verify-rerank pass (loops._verify_rerank) after candidate generation,
    before dedup/top_n. It re-measures the ~3×top_n survivors' seam on the TRUE
    post-snap window — the exact zc-snapped, rounded-bounds slice export writes —
    reusing grade.seam_score (DRY, no duplicated DSP). The proxy seam term is swapped
    for the true seam in the composite (same weights), and any candidate whose true
    seam falls below VERIFY_SEAM_FLOOR is hard-demoted so a click can never top the
    list. Gated behind a new analyze_stem(..., verify=True) kwarg (default on; False
    reproduces the pre-#19 raw-proxy ranking for autotune baselines). Public signatures
    (analyze_stem, find_takes, weights dict) unchanged — autotune.py/server.py intact.
    
    Also fixed a sparse-material seam false-positive in grade.seam_score: the wrap
    curvature was normalized by the MEAN |2nd-diff|, which collapses to ~0 on sparse
    dub percussion (mostly silence + a few hits), blowing the click ratio up (129× on
    a genuinely clean loop). Now normalized by the 90th-percentile |2nd-diff|,
    amplitude-floored — 2–3× on the same clean loop.
    
    Validation (drums+other stems, bars 1/2/4, shared 132.5 BPM grid,
    export-faithful grades):
      drums top-3  BEFORE  C 0.65 / C 0.63 / A 0.80   (clicks @93.08s, @24.06s)
                   AFTER   S 0.98 / S 0.95 / A 0.81
      other top-3  BEFORE  B 0.72 / B 0.72 / B 0.70   (bad favorite @56.74s clicks)
                   AFTER   S 1.00 / S 0.98 / S 0.99
    The known-good drums 4-bar @107.21 (S) and other regions surface; the clicking
    other @56.74 is demoted out of the top entirely.
    
    Tests: +2 verify-rerank regression tests (a proxy-clean but discontinuous wrap that
    survives the snap is demoted below a seamless one; verify=False leaves the proxy
    untouched) and +1 sparse-percussion test (a clean sparse loop is NOT flagged
    clicking). Suite 57 → 60 green.
    PLN (Algolia) authored Jul 11, 2026
    791a0d78
TODO.md 4.3 KB
EditWeb IDE
×

Replace TODO.md

Attach a file by drag & drop or click to upload


Cancel
A new branch will be created in your fork and a new merge request will be started.