何が起きているか
- 打撃音は押した瞬間には鳴りません。 16 分音符のグリッドへ量子化され、いま鳴っている和音のコードトーンへ音程が寄ります。連打すると音程が動きます。
- セクションを切り替えると次の小節頭で遷移します。 調とコード進行が同時に差し替わり、以降の打撃音は自動的に新しい和声に従います。
- 水中にすると BGM も打撃音も同じフィルタを通ります。 両者が同じ音場バスを通る構造の帰結です。
- 向きを変えると音場全体が回ります。 音源ごとの再計算ではなく、B-format の回転 1 回で済みます。
.NET ランタイムは Web Worker の上で動き、そこが「レンダースレッド」になります。
生成した音は SharedArrayBuffer 上のリングバッファへ流し込まれ、AudioWorklet が
それを吸い出すだけです。メインスレッドは音声経路に一切入りません。