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
  • engine
  • kitcheck.py
Find file
BlameHistoryPermalink
  • PLN (Algolia)'s avatar
    fix(foundry): silence was the grader's optimum — 24 of 153 loops were empty · f9a9ce53
    kitgate blocked the Fred pack and the reason turned out to be much worse than the
    flag it raised. Measuring the flagged files: 24 of 153 shipped loops have a peak
    between **-104 and -75 dBFS**. They are not quiet. They are digital silence. And
    they graded **0.707 to 0.896 — tier A and B**.
    
    The mechanism is that every sub-score in the loop rubric is vacuously perfect on
    nothing. The seam between two silences is immaculate. The DC of silence is exactly
    zero. Its zero crossings are trivially fine. Its bar length is whatever you cut it
    to, so it is bar-exact by construction. Level carries 10% of the composite, so a
    silent window scores 0.90 × perfect + 0.10 × nothing ≈ 0.90 and comes out tier A.
    The composite had a **degenerate optimum at "no audio at all"**, and the finder,
    doing exactly its job, walked into it: `fred_marea_bass` shipped three loops and
    all three were silence, from a stem measuring -22 dBFS RMS at 54% activity.
    
    Nothing downstream could catch it either. `_has_dead_bars` compares bars to EACH
    OTHER, so it finds a loop that fades out and is blind to one that was never there —
    a uniformly silent clip has a perfectly flat bar profile. This is the same trap as
    the fade-out loops grading S, one level deeper.
    
    So presence stops being a weighted term and becomes a **precondition**: peak below
    `empty_dbfs` ⇒ flag `empty`, grade 0.0, tier D, and the existing MIN_TIER filter
    drops it at export. The floor is -60 dBFS, and it is placed rather than tuned: the
    pack's peaks run -104…-75 and then jump to -47.1, a **28.4 dB empty gap**, so -60
    sits in clean air with nothing near it.
    
    Three details the measurements forced:
    
    * **Presence is measured on the CHANNELS, not the mono sum.** An anti-phase stereo
      pair sums to exact zero; calling that "empty" would both mis-report it and
      suppress the mono-incompatible flag, which is the one useful thing to say about
      it. (Caught by an existing test, which is why it is an existing test.)
    * **`near-silent` (RMS < -45) is advisory and now excludes `empty`.** RMS on sparse
      material measures how much silence it contains, not whether it is silent — a hat
      loop peaking at -14.7 reads -48.8 RMS. Two questions, two lenses.
    * **`mono-incompatible` no longer fires on silence.** Two independent noise floors
      are uncorrelated, so silence reads as maximally mono-incompatible; four of
      MAREA's flagged vox loops were simply empty.
    
    `kitcheck` asks the presence question too, from its own code path, sharing the one
    constant by import so the two lenses cannot drift apart.
    
    Also: restage was not idempotent. Export stages in float and writes PCM_24, so the
    peak read back off disk misses the ceiling by a quantization step, measures a hair
    hot, and asks to be staged again — by -0.00003 dB, every run, requantizing every
    file in the kit each time. `DEAD_BAND_DB = 0.05` (inaudible, four orders of
    magnitude above the quantization floor). The dry run now reports 0 of 42 kits,
    which is what it was supposed to say in the first place.
    
    7 tests; suite 115 → 119.
    PLN (Algolia) authored Aug 21, 2026
    f9a9ce53
kitcheck.py 11.1 KB
EditWeb IDE
×

Replace kitcheck.py

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.