# Score Conformance Corpus Vectors for the score extension (`wai.audio.score`). The criterion is **mixdown-equivalence**: given the same score, a conforming sink MUST render the identical canonical `i16` PCM via the deterministic reference synth, hence the identical BLAKE3 — on every machine, no tolerance parameter. The music counterpart of spatial audio's mixdown-equivalence, with the recorded sound objects replaced by note events. **Provenance.** Generated here: `wai_score_vectors gen` writes every score from notes authored in code. No recording. The reference synth is trig-free: a phase accumulator drives a piecewise-linear oscillator (saw / square / triangle / pulse) shaped by a linear ADSR envelope, all in the `wai.det.fixed64` floor. Pitch is carried as a per-sample phase increment authored off-line, so the floor never evaluates an exponential. A sink with a soundfont or neural instrument renders the same score richly — that is presentation, not conformance. ## Layout - `vectors/.wscr` — the `WSCR` container (contract + note events). - `expected_hashes.json` — per score: `notes`, `duration`, `score_hash` (identity), and `mixdown_hash` (the conformance quantity). Vectors: - `scale` — a C-major scale ascending (saw). - `chord` — a C-major triad held together (triangle, polyphony). - `arp` — a four-step arpeggio that changes timbre across the phrase. ## Running ``` cd ../wai-rs cargo run --features score --bin wai_score_vectors -- verify ../score-conformance cargo run --features score --bin wai_score_vectors -- gen ../score-conformance # regenerate ``` Pass = mixdown-hash and score-hash equality.