Repository navigation
NARRATION LANE SPEC
Lane contract for Experience Program voice. Written 2026-08-13.
Companion: AGENT-COMPOSITION-AND-RENDER-SPEC.md §9.8,
RECITATION-SPEC.md,
EXPERIENCE-PROGRAM-SPEC.md §4.
Status: in force for Phase 6. Recitation remains a Chamber presentation. This contract is the score.
Narration is a first-class Experience Program track. It is not an audio bed, not a swell, and not a reading-pace cue.
A spoken clip names a voice and a source span. It may duck the bed. It may not assign, replace, or silence atmosphere or swells. It may not rewrite the source in order to be spoken.
Chamber recitation (RECITATION-SPEC) is how a live reading presents
spoken text. This lane is how a composition scores it. The Chamber may
perform a narration track; it does not author one by toggling speech on.
| concern | owner | narration may |
|---|---|---|
| source text | source / Archive | read; never rewrite |
| atmosphere / bed | audio track + project defaults | duck, when authored |
| swell | swell track | not touch |
| reading pace | reading track / session WPM | not steal; voice may subdivide its own span |
| spoken identity | this track | assign a voice asset or library voice id |
| captions | source coordinates | align timing; keep the same characters |
Absence of a narration clip is silence in this lane, not a held bed and not the project soundscape. There is no narration fallback that could quietly become atmosphere.
{
kind: "spoken",
voiceId: "af_heart", // library pack, optional if voiceAssetId is set
voiceAssetId: "asset-voice-1", // admitted project audio, optional if voiceId is set
duck: { // optional; default is no duck
target: "bed", // the only legal target
floor: 0.18,
downMs: 150,
upMs: 600
},
words: [ // optional word clock inside the clip span
{ text: "Happy", fromCharacter: 0, toCharacter: 5, durationMs: 280 }
],
pronunciations: [ // review table; never edits the source
{ source: "Cholmondeley", spoken: "CHUM-lee" }
]
}Rules:
-
kindis onlyspoken.hold,silence,soundscape,tone, andswellare audio/swell kinds and refuse here. - At least one of
voiceIdorvoiceAssetIdis required. Neither may be a URI. Asoundscape:orswell:id is not a voice. -
duck.targetisbedor the cue refuses. Floor is in[0, 1]. - Ducking is authored. Enabling speech does not duck by ambient policy. That matches Recitation §5: automatic ducking is not a presentation consequence; a scored clip may still request a bed duck.
-
pronunciations[].sourcemust occur in the spanned text.spokenis what a synthesizer or pack lookup may say. Captions and the Experience Program keepsource. -
wordsstay inside the clip's source span. They do not move the reading track. If present they subdivide the clip's compiled window; they do not extend it.
Spoken audio enters through the acquisition gateway as kind voice,
not as a generic bed.
- MIME:
audio/wav,audio/mpeg - duration is required before admit
- hash, rights, and human verdict are the same gate as any project asset
- generic
audioandvideokinds remain deferred - a library
voiceIdnames a pack already in the product; it is not a network fetch - generated speech needs the same consent/cost acknowledgement as generated images, and does not become verified rights
The Experience Program still names durable ids, never blob URLs.
Session compile remains the atom clock for the reading. Narration occupies the presentation window of its source span.
When words are present, captions may follow those windows. Every caption
still carries sourceId and character offsets from the score. Captions are
never OCR and never the pronunciation's spoken form.
When the voice is the clock for Chamber recitation, that remains a
presentation rule (RECITATION-SPEC §1). Export does not invent a second
atom timeline.
The render plan carries narrationRuns beside audioRuns. The offline
mixer:
- keeps mixing the bed from the audio track
- multiplies bed gain by the authored duck while a spoken clip is active
- never applies that duck to swells
- mixes the spoken layer on its own path, outside named musical gains
Unsupported: treating a missing voice as a soundscape, substituting a different voice, or omitting a required spoken clip.
Humans and agents assign, replace, and erase spoken clips through the same span vocabulary as visual and audio. Those operations:
- compile onto a
narrationtrack - do not write
defaults.audio - do not create swell or soundscape cues
- enter the same undo history as other Workshop commands
A person can inspect and undo every spoken assignment. An agent cannot gain a voice-only power the score cannot already hold.
Published from docs/vision/NARRATION-LANE-SPEC.md. Edits made here are overwritten on the next push to main.
Start here
- COMPOSER-FIRST-ROADMAP
- VISION
- PROJECT-KNOWLEDGE
- ARCHITECTURE
- SYSTEM-DESIGN-REVIEW-2026-08-22
- ACCOUNT-SAVES
- RELEASING
- PLUS-CUSTOMER-LIFECYCLE
- AGENTS
Release
Pilot
- LIVE-CURRENT
- LIVE-HANDOFF
- LIVE-MCP
- DIRECTORY-SCREENSHOTS
- INSPECTOR-RUN-2026-10-10
- CLAUDE-RUN-2026-10-10
- CREATIVE-CONTROL-EVALS
- PERCEPTION-EVAL
- SOUND-LEVELS
- WORDING
- RUN-2026-10-08
- COMPOSER-INSTRUMENTS
- CHATGPT-DEMO
- EMBED-WITNESS
- RISE-GATE0
- CHATGPT-HOST-2026-10-04
- LIVE-002-HOST-2026-10-05
- EMBED-STAGE-HOST-2026-10-07
- RELEASE-GATES-2026-10-07
- EMBED-SAFETY-2026-10-05
- LIVE-GEMINI
- LIVE-EVALUATION
- LIVE-RED-TEAM
- CURRENT-CONSOLIDATION
- RISE-CHANGES
The Archive - texts and their editing
- ARCHIVE-CANON-SPEC
- ARCHIVE-CLEANSING-SPEC
- CORPUS-REVIEWER-PROMPT
- TYPESETTING-CANON
- PHRASE-CHUNKING-STUDY
- CHUNKER-AWARENESS-STUDY
- LIBRARY-SPEC
- SOL-PD-ACQUISITIONS-DOSSIER-LITERATURE-2026-07-28
Authoring - scores, rooms, and rendering
- EXPERIENCE-PROGRAM-SPEC
- LIVE-CURRENT-EVENTS-V1
- RISE-CURRENT-V1-SLICE
- RISE-SDK
- SCRIPTORIUM-SPEC
- WORKSHOP-COMPOSITION-STUDIO-SPEC
- AGENT-COMPOSITION-AND-RENDER-SPEC
- NARRATION-LANE-SPEC
- RECITATION-SPEC
- SCRIPTORIUM-STRENGTHENING-SPEC
Reading surfaces
- PAGE-MODE-SPEC
- RHYTHMIC-VISUAL-PRESENCE-SPEC
- IMAGE-STREAM-SPEC
- LATERAL-TRAVERSAL-SPEC
- CONTINUOUS-FIELD-SPEC
- JEV-VARIANCE
- INVOCATION-SKINS
- PHASE-2-SAFETY-SPEC
- SPATIAL-CHAMBER-SPEC
- Premium_Mobile_Chamber
Imagery - what may be shown, and on whose authority
- MUSEUM-ATLAS
- SOURCE-CURATION-SPEC
- SOURCE-EXPANSION-SPEC
- ATRIUM-IMAGERY-SPEC
- PERICOPE-IMAGERY-SPEC
- icon-museum-request-draft
- TEXT-ATTUNED-IMAGERY-SPEC
The Chapel
Direction and unbuilt work
Affect and the Emotions room
Reading decision service and retired gate
Product direction and team tracking
- README
- READER-DIRECTION
- CONSOLIDATED-READER
- COMPOSER-FIRST-ROADMAP
- TRACKER-DESIGN
- 2026-10-03-direction-decisions
- 2026-10-04-composer-decision
- 2026-10-05-consolidated-reader-decisions
- 2026-10-05-embed-stage-decision
- 2026-10-06-score-speech-service-roadmap
- 2026-10-07-current-with-a-look
- 2026-10-07-reader-control-and-replay
- 2026-10-05-one-colour-vocabulary-design
- 2026-10-07-chrome-follows-theme
- 2026-10-07-gallery-follows-with-works
- 2026-10-05-canonical-home-design
- 2026-10-04-reader-evidence
- 2026-10-original-performance-roadmap
- 2026-10-08-voice-hardening-2-findings
- 2026-10-09-feelings-sounds-parked
- 2026-10-10-connector-directory-readiness
- 2026-10-10-connector-submission-packet
- 2026-10-16-mystery-school-complete-library
- 2026-10-13-mystery-school-plan