Replaces the log1p-compressed whole-spectrum flux with four-band flux in dB, a two-frame max-filtered reference, a per-band median+8 MAD threshold with a per-band minimum rise, and one refractory period. Level-independent. tools/onset-bench.mjs synthesises kick/snare/hat patterns with known onset times (3 patterns x 3 tempos x 3 levels x 3 beds = 81 signals), scores hit rate, false positives and median timing at 30 fps and 512-sample hops. tools/onset-legacy.mjs freezes the old detector for the before numbers. Synthetic only. Nothing was listened to; no real music, no real GPU. Corpus adjustments made after the first baseline run: coincident kick+snare count as one onset; voices end in a 60 ms fade because truncation clicks read as onsets in the near-silent gaps; hats raised relative to the snare tail. Baseline was rerun after each change. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
13 lines
372 B
JSON
13 lines
372 B
JSON
{
|
|
"name": "perlines-web",
|
|
"version": "2.0.0",
|
|
"description": "Perlines v2: zero-install browser audio visualizer (WebAudio + WebGL2)",
|
|
"type": "module",
|
|
"license": "MIT",
|
|
"private": true,
|
|
"scripts": {
|
|
"test": "node --test test/dsp.test.mjs test/onset.test.mjs",
|
|
"bench:onsets": "node tools/onset-bench.mjs",
|
|
"serve": "node tools/serve.mjs"
|
|
}
|
|
}
|