P13.1: fix F2 — retire stale procedural synth, doc the real Triple Treat DSP path
The README audio-regeneration section called tools/synth_audio.py the 'build-time DSP path', but that script is the original P10.1 procedural synthesizer: its main() overwrites assets/audio/*.wav with note-frequency synthetic audio. Following the documented path would clobber the curated Triple Treat pack cues. Remove the script (cleanest resolution — kills the clobber hazard) and rewrite the README to describe the actual production: real pack clips (per-cue source in assets/audio/LICENSE.txt) down-mixed, trimmed, faded, peak-normalized to ~-15 dBFS, re-wrapped via afconvert; combo ladder = real Match FX ordered by brightness (P10.9); cascade one cue per round (P10.10). measure_pitch.py kept (read-only verification, never writes a WAV). WAVs/.sx/goldens byte-unchanged.
This commit is contained in:
25
README.md
25
README.md
@@ -300,13 +300,24 @@ never run at play time. Refresh any affected `goldens/` after an art change.
|
||||
|
||||
### Audio (the SFX bank)
|
||||
|
||||
The shipped cues are the Triple Treat selections above, converted to the canonical
|
||||
container with `afconvert` (WAVE / `LEI16` / 44100 / mono) and verified with
|
||||
`tools/measure_pitch.py` — the combo cues' spectral centroids must ascend
|
||||
monotonically (and beat `clear.wav`'s ~784 Hz CC0 baseline reference clip).
|
||||
`tools/synth_audio.py` is the build-time DSP path (down-mix, trim, fade, peak-
|
||||
normalize, optional resample). The 30 MB pack and its `.meta` / `__MACOSX` cruft
|
||||
are not committed.
|
||||
The shipped cues are **not synthesized** — each is a real **Triple Treat SFX** pack
|
||||
clip selected per game event (per-cue source in `assets/audio/LICENSE.txt`). To
|
||||
re-derive a cue from the pack, take its source file and apply the same DSP the
|
||||
shipped bank used: down-mix to mono, trim to the punchy onset window (≤ ~600 ms),
|
||||
ease in with a short fade, round out with a cosine fade-out tail, peak-normalize to
|
||||
a gentle **−15 dBFS**, then re-wrap to the canonical container with `afconvert`
|
||||
(`afconvert -f WAVE -d LEI16@44100 -c 1 in.wav out.wav` → WAVE / `LEI16` / 44100 /
|
||||
mono). The combo ladder is five real **Match FX** cues ordered by ascending spectral
|
||||
brightness (P10.9, `combo1`→`combo5`); the cascade plays one cue per round on the
|
||||
animation timeline (P10.10). Verify the result read-only with `tools/measure_pitch.py`
|
||||
(it never writes a WAV) — it prints each clip's dominant frequency, and `clear.wav`'s
|
||||
~784 Hz CC0 reference is the documented baseline. The 30 MB pack and its `.meta` /
|
||||
`__MACOSX` cruft are not committed.
|
||||
|
||||
> There is intentionally **no procedural-synthesis regeneration script**: the cues
|
||||
> are the curated pack clips, so the original P10.1 note-frequency synthesizer
|
||||
> (`tools/synth_audio.py`) was removed — running it would have clobbered the curated
|
||||
> WAVs with synthetic audio.
|
||||
|
||||
### Image art
|
||||
|
||||
|
||||
Reference in New Issue
Block a user