# collapse
The tower going — stone leaving stone, then everything at once, then the fog swallowing it.
3.60 s, 22050 Hz, mono, a one-shot stored as Opus.
Synthesised from `game.audio.recipes` by `game.audio.bake`.
# voice_ring
The Warden, at the `ring` beat:
> Now. Ring it.
1.07 s, mono, Opus. Generated once from `audio_gen.speech`; the written form is in `game.audio.lines` and is captioned every time the line is said.
# offcut_fall
The overhang sheared off, falling, and landing somewhere soft a long way down in the fog.
2.40 s, 22050 Hz, mono, a one-shot stored as Opus.
Synthesised from `game.audio.recipes` by `game.audio.bake`.
# ui_move
The console's tick: brass on paper, one row to the next.
0.14 s, 22050 Hz, mono, a one-shot stored as Opus.
Synthesised from `game.audio.recipes` by `game.audio.bake`.
# voice_sunrise
The Warden, at the `sunrise` beat:
> Light's on the water. Too late.
1.85 s, mono, Opus. Generated once from `audio_gen.speech`; the written form is in `game.audio.lines` and is captioned every time the line is said.
# perfect_chime
A seat inside tolerance: bronze agreeing with the stone, brighter the longer the streak runs.
2.60 s, 22050 Hz, mono, a one-shot stored as Opus.
Synthesised from `game.audio.recipes` by `game.audio.bake`.
# amb_fog
Sixteen seamless seconds of air over a mile of flat water, with slate and rigging in the top. Loops end to end.
16.00 s, 22050 Hz, mono, a seamless loop stored as uncompressed PCM.
Synthesised from `game.audio.recipes` by `game.audio.bake`.
# voice_won
The Warden, at the `won` beat:
> They're awake. Let them come.
1.80 s, mono, Opus. Generated once from `audio_gen.speech`; the written form is in `game.audio.lines` and is captioned every time the line is said.
# ui_pause
The night held: a low thud and the fog closing over the tower.
1.20 s, 22050 Hz, mono, a one-shot stored as Opus.
Synthesised from `game.audio.recipes` by `game.audio.bake`.
# lines
Everything the Warden says, and when. He is the old bell-warden you have
replaced tonight — gruff, close, out of patience — and he says eight things
across a round and nothing else.
| cue | the line |
|---|---|
| `opening` | *Tower's down. Fleet's in the fog. Raise it, and ring it, before the light does.* |
| `watch` | *First watch. Keep them true.* |
| `blush` | *Sky's paling. Faster.* |
| `hoist` | *That'll hold. Bring her up.* |
| `ring` | *Now. Ring it.* |
| `won` | *They're awake. Let them come.* |
| `fell` | *Stone's in the water. So are we.* |
| `sunrise` | *Light's on the water. Too late.* |
## The written form ships
Every line carries its text as well as its clip, and the text is what the game
is guaranteed to say: `Sound` emits `caption(text, seconds)` for each one
whether or not its audio answered. A line whose clip is missing, or whose
player has the sound off, or who is somewhere they cannot listen, is a **quiet**
line rather than a lost one.
`seconds` is how long the caption holds — the reading plus a beat, and never
less than it takes to read four words off a phone held at arm's length.
## `clipSeconds`
The spoken line's real length, read off the baked clip with `audio.info` and
written down here rather than asked for at play time: `Audio:duration()`
answers for the clip the mixer is already holding, so in the frame a line is
cued it still reports the length of the line before it.
## `urgent`
An urgent line is delivered the moment it is cued, over anything already
speaking, because by the time it is late it is wrong — the opening, the hoist,
the ring, and each of the three endings. Anything else waits its turn.
Owned by the sound & voice slice; the caption strip that prints these is the
presentation slice's.
# bell_peal
The tocsin rung: cast bronze, three strikes, and the whole estuary carrying it. The sound the game is for.
7.00 s, 22050 Hz, mono, a one-shot stored as Opus.
Synthesised from `game.audio.recipes` by `game.audio.bake`.
# tocsin_toll
The fallen bell tolling once from under the fog at the turn of a watch — the hero bell's casting an octave down and behind a mile of water.
5.50 s, 22050 Hz, mono, a one-shot stored as Opus.
Synthesised from `game.audio.recipes` by `game.audio.bake`.
# bed_night
The night bed: a G drone with a MINOR third in it. Twenty seamless seconds; crossfades to bed_dawn as the sky pales.
20.00 s, 16000 Hz, mono, a seamless loop stored as uncompressed PCM.
Synthesised from `game.audio.recipes` by `game.audio.bake`.
# voice_watch
The Warden, at the `watch` beat:
> First watch. Keep them true.
1.62 s, mono, Opus. Generated once from `audio_gen.speech`; the written form is in `game.audio.lines` and is captioned every time the line is said.
# core
One-paragraph description of what this module provides and who consumes
it.
## Exports
- `M.exampleFn(arg) -> result` — what it does and when to call it.
- `M.exampleValue: type` — what value it carries.
## Usage
Replace `<identity>` with the string `asset.create` returned — this
module's source path with `/` written as `.` and each segment's type
suffix dropped, the way a module at `/source/lib/thing.module` is
`lib.thing` and one at `/source/kit.package/thing.module` is
`kit.thing`.
```luau
local M = require("<identity>")
M.exampleFn("foo")
```
## Notes
- Anything callers need to know about THIS module: required runtime
ordering, state ownership, side effects.
# voice_fell
The Warden, at the `fell` beat:
> Stone's in the water. So are we.
2.46 s, mono, Opus. Generated once from `audio_gen.speech`; the written form is in `game.audio.lines` and is captioned every time the line is said.
# voice_hoist
The Warden, at the `hoist` beat:
> That'll hold. Bring her up.
1.75 s, mono, Opus. Generated once from `audio_gen.speech`; the written form is in `game.audio.lines` and is captioned every time the line is said.
# bed_dawn
The first-light bed: the same G drone, the same fifth, and the third a semitone up. Twenty seamless seconds.
20.00 s, 16000 Hz, mono, a seamless loop stored as uncompressed PCM.
Synthesised from `game.audio.recipes` by `game.audio.bake`.
# ui_confirm
The console's confirm: a struck bronze note, G above the drone.
1.00 s, 22050 Hz, mono, a one-shot stored as Opus.
Synthesised from `game.audio.recipes` by `game.audio.bake`.
# voice_opening
The Warden, at the `opening` beat:
> Tower's down. Fleet's in the fog. Raise it, and ring it, before the light does.
4.78 s, mono, Opus. Generated once from `audio_gen.speech`; the written form is in `game.audio.lines` and is captioned every time the line is said.
# ui_back
The console's back: the same brass, a fifth under, with the door shutting on it.
0.70 s, 22050 Hz, mono, a one-shot stored as Opus.
Synthesised from `game.audio.recipes` by `game.audio.bake`.
# hoist_creak
Hemp under load and a timber jib taking the weight of the bell in three long complaints.
3.00 s, 22050 Hz, mono, a one-shot stored as Opus.
Synthesised from `game.audio.recipes` by `game.audio.bake`.
# voice_blush
The Warden, at the `blush` beat:
> Sky's paling. Faster.
1.80 s, mono, Opus. Generated once from `audio_gen.speech`; the written form is in `game.audio.lines` and is captioned every time the line is said.
# stone_seat
A course set down on the one below. The Sound component pitches it up as the tower rises, so twenty-four seats are twenty-four sounds.
0.75 s, 22050 Hz, mono, a one-shot stored as Opus.
Synthesised from `game.audio.recipes` by `game.audio.bake`.