Log inGet started
World

The Eighth Ketyl

Branchmain
Branchesmain
Commite99ff0a216

README.md

staging.Voice

Cueing the spoken lines of THE EIGHTH KETYL.

Staging decides WHEN a line is heard and WHO says it. It never writes the words: the sound slice owns the script and the audio. This module is the join between the two.

local Voice = require("staging.Voice")
Voice.say("v_clear")        -- announce it, and end it when it is over
Voice.speakerOf("v_low")    -- "column"
Voice.ids()                 -- every id staging knows how to cue

say announces line(id, text, speaker) on the shared bus and lineEnd(id) when the line is finished. The sound slice speaks it; a screen prints it. The written form travels with the announcement when the sound slice's clip library (audio.Clips) can supply one, and the line is still announced by id when it cannot — a line with no audio is a quiet line, not a lost one.

A second cue closes the first, so a caption is never stranded on screen.

Who says what

idspeaker
v_open_1 v_open_2 v_open_3the chemist, over the opening
v_plate_2 … v_plate_8the column, arriving on that plate
v_clearthe chemist, a plate goes clean
v_lowthe column, charge critical
v_wetthe chemist, wetness critical
v_quenchthe chemist, the loss
v_seal_1 v_seal_2the chemist, the win