-
judge: derive orbit labels from score, graded activation, DRY types, waveform zoom/loop · 91a9ac89
#40 Judge annotations were stale+wrong: labels came from a hardcoded ROLE_MAP (orbit-03 'hats' though punkachien.tidal plays 'dr'; d6/meth_bass missing) and a hard -38dB on/off gate hid audible orbits that dip within a 2s bin (PLN saw only d3 OR d8 while hearing both). - tidal_score.py: parse per-orbit sound map from any .tidal (reuses tfidf vocab; also accepts the bare $ "sample" source form). dr/meth_bass/jungle_breaks now correct. - audio_lens: classify_family() (breaks->tops, drums->percs by identity, register by measured centroid), profile peak_db. Fix orbit_files to try padded+unpadded channel names (Take89 uses 'Tidal 01-1' -> centroids were silently None). - build_player_data: labels from score, family validated by centroid, two thresholds (litFloorDb -52 visible / activeDb -38 driving), emits validated PlayerData. - OrbitRail: graded activation (dim->vivid), no orbit vanishes when quiet. #42 DRY: pydantic models in models.py are the single source of truth; gen_ts_types.py generates ui/src/types.gen.ts (types.ts is now a re-export). No more hand-synced shapes. #41 WaveformPlayer: Audacity-style zoom (+/-/ctrl-wheel) + scroll, drag-select a span and loop it (Regions plugin), keyboard L=loop. tsc + vite build green.
PLN (Algolia) authored91a9ac89
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| escales | Loading commit data... | |
| manifeste | Loading commit data... | |
| semaphore | Loading commit data... | |
| tasks | Loading commit data... | |
| tide-table | Loading commit data... | |
| ui | Loading commit data... | |
| .gitignore | Loading commit data... | |
| DESIGN.md | Loading commit data... | |
| PRODUCT.md | Loading commit data... | |
| README.md | Loading commit data... | |
| serve.py | Loading commit data... |