heroaudio
The sounds the Henter's own body makes.
The sound slice owns the bed, the mix and the voice; the rules slice owns the hent and the catch. What is left is what the FIGURE does: boots in wet heather, a hung lantern that chinks on its hook when the swing turns over and creaks when a snatch throws it forward, and the small warm note a mote makes dropping into the lantern.
Every clip is synthesised here from raw f32 PCM, so none of it depends on a generation service and none of it can arrive silent because a network call failed.
require("game.hero.heroaudio").bake() -- (re)write every clip
HeroAudio.step({ pos = { x, y, z }, volume = 0.3 })
HeroAudio.play("lantern_chink", { pos = { x, y, z } })
bake() writes the clips as .soundClip assets under game/hero/clips and
reads each one back with audio.info, so it reports what actually landed
rather than what it meant to write.
| Clip | |
|---|---|
step_a / step_b / step_c | 190 ms. Filtered noise through a one-pole low-pass with a heel under it; three openings of the filter so a run of steps never repeats. |
lantern_chink | 160 ms. Three struck partials behind a noise transient. |
lantern_creak | 420 ms. A low resonance with a slow grip-and-slip ripple in it. |
glew_home | 260 ms. A small rising note with a bell over it. |
Playback goes through game.audio.sfx, so every one of these gets the voice
budget, the collapse window and the pitch jitter that keeps a crowded hill from
turning to mush. Steps and chinks are priority 0 — set dressing that gives way
to the narrator.
Scoped to this part · feeds back into the world's score.