#!/usr/bin/env python3 """mksoundboard.py -- build SOUNDBOARD_BT411.zip, the distributable tester soundboard (no Python needed on the tester's machine). Run: python tools/mksoundboard.py (from the repo root, or anywhere) Output: dist/SOUNDBOARD_BT411.zip containing index.html one self-contained page (inline CSS/JS, works from file://) AUDIO/ every soundbank wav (copies; a few ultra-low-rate zones get their header rate rebased x2^m so browsers can decode them -- the page's playbackRate compensates exactly) README.txt tester instructions The page plays every sample at its GAME rate: game rate = WAV header rate x 2^((note - 60) / 12) via