Home / Audio / Production and Craft

C26 Build Brief: Audio Delivery Pacing + Activation Craft

Updated Jun 21, 2026 · Affirmology_AudioPacingActivation_C26_BuildBrief_v1.md

Summary. Status: to build. Studio only. The locked demo never changes. Owner of the craft logic in the council: Hypnos (sequences pace + pauses), Orpheus (writes the questions), Apollo (gates that the pacing rules were honored). Source of the request: Jeff 2026-06-20,

C26 Build Brief: Audio Delivery Pacing + Activation Craft

Status: to build. Studio only. The locked demo never changes. Owner of the craft logic in the council: Hypnos (sequences pace + pauses), Orpheus (writes the questions), Apollo (gates that the pacing rules were honored). Source of the request: Jeff 2026-06-20, "make them dynamite." Test & Change Queue item C26 (craft).

The problem

Deep-listening audios (morning, before-bed, journey) are delivered too fast and too flat. Words need room to land. The same words that suit a slow before-bed install are wrong for an activation or gym audio, which wants momentum. Two concrete defects to fix: 1. No deliberate pacing or silence. Affirmations stack without space, so the subconscious never gets the gap it needs to accept them (this is the mechanism behind belief installation rules 7 and 9). 2. Render length is inconsistent. Sol's morning audio came out longer than Jeff's from the same structure. Renders should honor a target length per type.

The principle (why pacing is craft, not polish)

A belief encodes in the gap after it is spoken, not in the words themselves. Slower delivery, intentional pauses, and a question followed by silence are what let the listener's subconscious search for its own evidence rather than rebut a flat claim. Deep types want spaciousness and a soft bed. Activation types carry the same arc faster over a driving bed. Pace and bed are properties of the audio TYPE, set per Structure, not improvised per render.

What to build

1. Per-Structure pace + bed configuration

In affirmology-agent/src/affirmology/structures.py, add to the Structure model: - pace: one of deep, standard, activation. Deep = slowest ElevenLabs speed + longest pauses. Activation = quicker speed + shorter pauses + energizing bed. - target_minutes: the intended finished length for this type (drives length consistency, see item 4). - bed_profile: the sound-bed character for the type (e.g. soft_ambient, driving, delta_soft). This is the hook the C3 frequency layer and the music-bed selector both read. Tag the existing structures: morning and before-bed and journey = deep; gym and activation = activation; the rest = standard. Keep defaults so an untagged structure behaves exactly as today (no silent change to existing renders).

2. Slower ElevenLabs speed for deep types

In the audio synthesis path (affirmology-agent/agents/audio_synthesis.py and the CLI --speed wiring), set the synthesis speed from Structure.pace, not a fixed value. Deep = the slow, clean baseline speed; activation = a quicker speed. Respect the hard demo rule: the auto-tune ceiling stays at 1.05 and the QC gate (scripts/audio_qc.py) still runs and still rejects dropouts. Pacing must never reintroduce warble.

3. Pauses and silence-after-questions (SSML / spacing)

Two layers: - SCRIPT layer (Orpheus): when pace=deep, the script writer inserts a question beat (rule 7) and marks an intended silence after it. Question craft: a gentle first-person question that opens the limiting belief, then space, not an immediate answer. - RENDER layer: convert the marked pauses into real silence. If ElevenLabs SSML <break> is reliable in the current voice path, use it; otherwise insert measured silence between segments in audio_mix.py at mix time (the safer, QC-friendly route). Pause lengths scale with pace (deep gets the longest gaps, e.g. a held beat after each question and a breath of space between affirmation lines).

4. Render length consistency (the Sol vs Jeff fix)

Honor Structure.target_minutes. The script step should aim the script at the target length for the type (Hypnos plans the number of beats to the target), and the build report should record target vs actual. This removes the drift where the same structure produces different lengths for different people. Acceptance: two people rendered on the same structure land within a small tolerance of each other and of the target.

5. Council wiring

Guardrails (hard)

Acceptance tests

  1. A deep structure renders at the slow speed, contains at least one question followed by a real measured silence, and passes QC.
  2. An activation structure renders quicker over the driving bed and passes QC.
  3. Two different people on the same structure land within tolerance of target_minutes and of each other.
  4. The locked demo render is unchanged (same settings, QC pass).

The exact paste for Claude Code

Read Affirmology_PROJECT_STATE.md, Affirmology_AudioPacingActivation_C26_BuildBrief_v1.md, and Affirmology_BeliefInstallation_CoreCraft_v1.md.

Implement C26 audio pacing + activation per the brief: add pace/target_minutes/bed_profile to the Structure model, drive ElevenLabs speed from pace, insert pauses + silence-after-questions (prefer mix-time silence in audio_mix.py if SSML is not reliable), enforce per-type target length, and wire Hypnos (pace + pause plan + target) and Apollo (pacing gate) in council.py. Studio only; the locked demo render path must be byte-for-byte unaffected. Keep the QC gate and the 1.05 auto-tune ceiling. No em dashes.

Add the four acceptance tests from the brief. Show me the diffs, the test output, and one real deep render plus one real activation render (listen-check) before deploying. Do not touch the demo.