open-standards/wai/score-conformance/notes/scale48.json
Transaction Science 56ff513aec
Some checks failed
WAI breaking changes and the conformance runner / WAI breaking · does this change touch WAI (push) Successful in 17s
WAI breaking changes and the conformance runner / WAI breaking · wire, record and API against main · linux (push) Failing after 54s
WAI breaking changes and the conformance runner / WAI breaking and conform · their tests, and the independent verifiers through wai conform · linux (push) Failing after 2m33s
repository checks / lockfiles, advisories, tests in CI, workflow hygiene, spec and section references, public text (push) Successful in 3m8s
joule-moq-room room service / joule-moq-room · does this change touch it (push) Has been cancelled
joule-moq-room room service / joule-moq-room, every target (push) Has been cancelled
wai-audit collector and player integration / does this change touch it (push) Has been cancelled
wai-audit collector and player integration / collector · linux (push) Has been cancelled
wai-audit collector and player integration / collector, player integration and the browser end to end · macos (push) Has been cancelled
WAI operation catalogue / does this change touch it (push) Has been cancelled
WAI operation catalogue / the catalogue and every door · linux (push) Has been cancelled
wai-quantum for JavaScript / does this change touch it (push) Has been cancelled
wai-quantum for JavaScript / javascript · linux (push) Has been cancelled
wai-quantum studio and desktop / does this change touch it (push) Has been cancelled
wai-quantum studio and desktop / studio · browser (push) Has been cancelled
wai-quantum studio and desktop / desktop app · macos (push) Has been cancelled
wai-quantum studio and desktop / desktop app · linux (push) Has been cancelled
wai-quantum studio and desktop / desktop app · windows (push) Has been cancelled
wai-sink-android native sink library / does this change touch it (push) Has been cancelled
wai-sink-android native sink library / the JNI layer and the platform-free half on the host JVM · linux-arm64 (push) Has been cancelled
wai-sink-android native sink library / every ABI, the AAR, and the instrumented tests in a headless emulator · macos (push) Has been cancelled
wai-sink-swift native sink package / does this change touch it (push) Has been cancelled
wai-sink-swift native sink package / libwai slices, desktop tests, simulator tests · macos (push) Has been cancelled
WAI Studio / does this change touch it (push) Has been cancelled
WAI Studio / the catalogue's actions, the unit tests and the core · linux (push) Has been cancelled
WAI Studio / Studio in Chromium and Firefox · macos (push) Has been cancelled
WAI Studio / Studio in WebKit · linux (push) Has been cancelled
wai-ledger service / does this change touch it (push) Has been cancelled
wai-ledger service / service · linux (push) Has been cancelled
wai-ledger service / service · macos (push) Has been cancelled
joule-moq-remote host agent / joule-moq-remote · does this change touch it (push) Has been cancelled
joule-moq-remote host agent / joule-moq-remote, every target (linux-arm64) (push) Has been cancelled
joule-moq-remote host agent / joule-moq-remote, every target (macos) (push) Has been cancelled
joule-moq-web browser client / joule-moq-web · does this change touch it (push) Has been cancelled
joule-moq-web browser client / joule-moq-web · browser end-to-end (macos) (push) Has been cancelled
wai-app and Create / wai-app · does this change touch it (push) Has been cancelled
wai-app and Create / wai-app · tests, clippy, the line language's verifier (linux) (push) Has been cancelled
wai-app and Create / wai-app · Create, browser end-to-end (macos) (push) Has been cancelled
wai-fleet service / does this change touch it (push) Has been cancelled
wai-fleet service / service · linux (push) Has been cancelled
wai-fleet service / service · macos (push) Has been cancelled
wai.audio.score: band-limited timbres, a sine and noise, a voice per note, and two channels
The reference synthesiser gains what a short channel sting needs, all in the
wai.det.fixed64 floor and trig-free, every committed score rendering byte for byte as
before (the three first-revision vectors keep their mixdown hash, PCM SHA-256 and score
hash):

- score §2.2, §3.1: waveforms 4 to 6, the saw, square and 25 %-pulse with each step
  corrected by a polynomial (PolyBLEP); 7, a sine by a refined parabola; 8, noise held
  from a 32-bit LCG between wraps of the phase.
- score §2.1, §3.4: a contract of two channels mixes down to interleaved frames; a reader
  refuses any count but 1 and 2; a score with no voices centres each note.
- score §2.4, §3.3: an optional third section, one 73-byte voice per note: a
  constant-power pan by the profile's integer square root, curved attack, decay and
  release (the release from the level at note-off), up to four one-pole low-pass sections
  that follow the envelope, a linear glide, the noise seed, and up to eight echoes at
  alternating pans. The 65-byte note record is unchanged; the score hash binds the
  voices when present.
- wai score build|render: channels 2, waveforms to 8, each note's optional voice; render
  prints frames and channels. Receipt blocks are 4096 frames.
- score-conformance: five vectors at 48 kHz (band-limited, two channels, voiced in one,
  a two-second sting, a voiced scale); multi_verify.py's independent synth agrees with
  all eight.
- packaging §5.8: a score of one or two channels packs beside the lead with its voices,
  its floor the FLAC of the mixdown in its channels; verify holds the floor to the
  base's channels and rate. pack-conformance/multi/multi-sting-01 is a voiced
  two-channel score at 48 kHz.
- The composing sink synthesises and plays a score in its contract's channels; its
  reference package's score is now two channels at 48 kHz, voiced.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-09 14:21:46 -05:00

16 lines
3.5 KiB
JSON

{
"sample_rate": 48000,
"channels": 2,
"duration": 63600,
"numeric": "wai.det.fixed64",
"notes": [
{"start": 0, "dur": 4800, "phase_inc": 23409859, "gain": 1932735283, "waveform": 4, "attack": 96, "decay": 4800, "sustain": 2147483648, "release": 1200, "voice": {"pan": -3221225472, "attack_curve": 1, "decay_curve": 3, "release_curve": 3, "lp_poles": 2, "lp_a": 107374182, "lp_env": 1288490188, "glide_to": 0, "glide": 0, "seed": 0, "echo_taps": 1, "echo_delay": 1600, "echo_gain": 1503238553, "echo_pan": 3221225472}},
{"start": 8000, "dur": 4800, "phase_inc": 26276679, "gain": 1932735283, "waveform": 4, "attack": 96, "decay": 4800, "sustain": 2147483648, "release": 1200, "voice": {"pan": -2302102471, "attack_curve": 1, "decay_curve": 3, "release_curve": 3, "lp_poles": 2, "lp_a": 107374182, "lp_env": 1288490188, "glide_to": 0, "glide": 0, "seed": 0, "echo_taps": 1, "echo_delay": 1600, "echo_gain": 1503238553, "echo_pan": 2302102471}},
{"start": 16000, "dur": 4800, "phase_inc": 29494575, "gain": 1932735283, "waveform": 4, "attack": 96, "decay": 4800, "sustain": 2147483648, "release": 1200, "voice": {"pan": -1382979470, "attack_curve": 1, "decay_curve": 3, "release_curve": 3, "lp_poles": 2, "lp_a": 107374182, "lp_env": 1288490188, "glide_to": 0, "glide": 0, "seed": 0, "echo_taps": 1, "echo_delay": 1600, "echo_gain": 1503238553, "echo_pan": 1382979470}},
{"start": 24000, "dur": 4800, "phase_inc": 31248413, "gain": 1932735283, "waveform": 4, "attack": 96, "decay": 4800, "sustain": 2147483648, "release": 1200, "voice": {"pan": -463856468, "attack_curve": 1, "decay_curve": 3, "release_curve": 3, "lp_poles": 2, "lp_a": 107374182, "lp_env": 1288490188, "glide_to": 0, "glide": 0, "seed": 0, "echo_taps": 1, "echo_delay": 1600, "echo_gain": 1503238553, "echo_pan": 463856468}},
{"start": 32000, "dur": 4800, "phase_inc": 35075158, "gain": 1932735283, "waveform": 4, "attack": 96, "decay": 4800, "sustain": 2147483648, "release": 1200, "voice": {"pan": 459561500, "attack_curve": 1, "decay_curve": 3, "release_curve": 3, "lp_poles": 2, "lp_a": 107374182, "lp_env": 1288490188, "glide_to": 0, "glide": 0, "seed": 0, "echo_taps": 1, "echo_delay": 1600, "echo_gain": 1503238553, "echo_pan": -459561500}},
{"start": 40000, "dur": 4800, "phase_inc": 39370534, "gain": 1932735283, "waveform": 4, "attack": 96, "decay": 4800, "sustain": 2147483648, "release": 1200, "voice": {"pan": 1378684502, "attack_curve": 1, "decay_curve": 3, "release_curve": 3, "lp_poles": 2, "lp_a": 107374182, "lp_env": 1288490188, "glide_to": 0, "glide": 0, "seed": 0, "echo_taps": 1, "echo_delay": 1600, "echo_gain": 1503238553, "echo_pan": -1378684502}},
{"start": 48000, "dur": 4800, "phase_inc": 44191930, "gain": 1932735283, "waveform": 4, "attack": 96, "decay": 4800, "sustain": 2147483648, "release": 1200, "voice": {"pan": 2297807503, "attack_curve": 1, "decay_curve": 3, "release_curve": 3, "lp_poles": 2, "lp_a": 107374182, "lp_env": 1288490188, "glide_to": 0, "glide": 0, "seed": 0, "echo_taps": 1, "echo_delay": 1600, "echo_gain": 1503238553, "echo_pan": -2297807503}},
{"start": 56000, "dur": 4800, "phase_inc": 46819719, "gain": 1932735283, "waveform": 4, "attack": 96, "decay": 4800, "sustain": 2147483648, "release": 1200, "voice": {"pan": 3221225472, "attack_curve": 1, "decay_curve": 3, "release_curve": 3, "lp_poles": 2, "lp_a": 107374182, "lp_env": 1288490188, "glide_to": 0, "glide": 0, "seed": 0, "echo_taps": 1, "echo_delay": 1600, "echo_gain": 1503238553, "echo_pan": -3221225472}}
]
}