FolioTier 1
voice
Attach a voice clip to the next `say` line (placeholder — not yet implemented).
Placeholder. The parser does not accept voice as a top-level verb
today — voice-line auto-attachment surfaces in the migration report's
manual lane during import. This page documents the intended shape so
the AI importer pass and future contributors share a target.
Parameters
| Parameter | Kind | Required | Default | Notes |
|---|---|---|---|---|
| reference | string | yes | — | Quoted path or audio reference for the voice clip. Auto-attaches to the next `say` (or `narrate`) line in the same scene — the clip starts on the line's display and stops automatically when the line advances. Subsequent `say` lines without their own preceding `voice` play silently. |
Canonical example
voice "scene-1/emma-001.ogg"
say "Emma": "I missed you."voice "scene-1/emma-001.ogg"
e "I missed you."When this construct ships, voice "<ref>" will be a standalone line
that sets up the next say line to play a voice clip in sync
with its dialogue. The auto-attachment semantics match Ren'Py's
voice directive: the clip starts when the line displays and stops
on advance; lines without their own preceding voice directive play
silently.
Notes
Currently the importer carries Ren'Py voice directives into the
migration report as manual-lane fragments — the runtime has no
matching block type, so the construct lowers to nothing. When the
construct ships, the importer's deterministic pass will reclaim
those fragments and lower them directly.
A voice sustain extension (Ren'Py's "keep the voice playing across
multiple says" form) is out of scope for the initial implementation
and will be tracked as a follow-up if the corpus shows demand.