updraftSound
UPDRAFT's score, the world's spatial sound, and the one thing that joins the sound to the picture: **the scene's `Listener` entity is put on the film camera every frame**, so the whole spatial mix is heard from wherever the cut is.
updraftSound
UPDRAFT's score, the world's spatial sound, and the one thing that joins the
sound to the picture: the scene's Listener entity is put on the film camera
every frame, so the whole spatial mix is heard from wherever the cut is.
Registers as the film's sound slice. Nothing here reads wall time — every cue
and every gain is a function of the film clock, so two runs of Film.play()
make the same sound in the same order at the same frames.
The mix, movement by movement
| Mv | Window | What it sounds like |
|---|---|---|
| I | 0–19 | A room tone with no wind in it at all. Forty oil lamps too far off to hear, one folio moving in the floor draught, a score barely there. |
| II | 19–38 | One small flame, close. The lamp is 90 cm from the lens in shot 4 and is the loudest thing in the film so far. Its chimney cracks; the shelf takes. |
| III | 38–64 | The roar arrives and never leaves. Oak under load. The gallery lets go and falls ninety metres, and the score gets out of its way. |
| IV | 64–83 | A chimney — low — against the indraft at the four doors — high. The film's loudest point is the dome blowing out at 77. |
| V | 83–96 | Eight hundred metres of cold air. Everything near is out of range and the last shot is almost silent again. |
Measured across a tick sweep, the master RMS peaks at 0.296 on the dome (t=80) and falls to 0.099 in the last shot — the arc is in the numbers, not only in the intent.
The sources
Twenty-six, all spawned under Stage by build(ctx).
Non-spatial — the space the listener is in rather than a thing in it:
SndRoom (the still interior), SndPlain (800 m of frozen plain), and four
score decks SndScoreI / III / IV / V, none of them looping.
Spatial — heard from wherever the cut is, and several of them move:
SndFront— the flame front, and it travels. One source that walks from the cracked lamp on Gallery 3 to the apex of the dome, 166 m and fifty-eight seconds later. Its keys are the places the cut looks at, so the fire is heard where it is seen: the shelf run in shot 5, the far wall in shot 7, the Gallery 6 rail in shot 9, Gallery 12 in shot 10.SndBody— the burning column below the front, standing on the axis at the middle of everything already alight, so every interior set-up gets its crackle bed from the right height.SndRoar— the shaft's roar, climbing the axis withs.heat.SndTimber— oak complaining two galleries under the fire, never above it.SndChimney— the low half of Movement IV.maxDistance1200 and a shallow rolloff, because a chimney is a low-frequency thing and carries a kilometre; it is still audible from shot 14's camera.SndDoor1..4— the high half, at the four ground-floor doors.maxDistance45, so it does not leave the room.SndCollapse— cued once at 57.2 and dragged ninety metres down the shaft while it plays, ringing out under the cut that follows it.SndDome— cued once at 77.0 at the apex.maxDistance1400: its decay is still heard 800 m out on the plain in shot 14.SndDesk1..6+SndLamp3+SndLamp14— the forty practicals, carried by eight. Inaudible from the slate in shot 2; guttering round the lens when the camera cranes to nine metres in shot 11.SndFolio— one folio, twice. The same source is the page lifting in the floor draught on Desk 7 in shot 1 and the same page burning four hundred metres up in shot 15. The rhyme the film is built on, carried in sound.
The bank
Sixteen clips in /source/sounds, generated through services.audio_gen and
then baked by this slice: mono-downmixed for the spatial sources, equal-power
crossfaded end-to-start so the loops do not tick, and peak-normalised. The
room tone came back at a peak of 0.026 and would have been inaudible unbaked.
Reading the mix
M.report() gives one line per live voice — whether it is audible, the gain it
reaches the mix at, its distance from the listener, and, when it is silent, the
mixer's own reason. audio.observe() is the surface underneath it.
Cueing
A source is started the frame its gain first rises above zero and stopped the
frame it returns to zero (ride), so a deck's playhead is a function of the
film clock alone. The four things that happen exactly once — the chimney
cracking at 21.6, a page skidding the Gallery 14 boards at 15.0, the collapse
at 57.2 and the dome at 77.0 — are edge-triggered on the clock crossing their
second and re-armed by reset().
Scoped to this part · feeds back into the world's score.