Home / Audio / Production and Craft

C15 - Casual Read-Aloud / Field Briefing Audio (Hermes voices a chat conversation) - build brief (v1, 2026-06-20)

Updated Jun 20, 2026 · Affirmology_FieldBriefingAudio_C15_BuildBrief_v1.md

Summary. PRIORITY CORRECTION (Jeff 2026-06-20, "get it straight"): THIS doc is the LOW-priority, DEFERRED feature, a quick voiced readout of a chat conversation ("tell me about that abundance thing while I make lunch"). It is NOT the Sacred Audio render. Hermes renderi

C15 - Casual Read-Aloud / Field Briefing Audio (Hermes voices a chat conversation) - build brief (v1, 2026-06-20)

PRIORITY CORRECTION (Jeff 2026-06-20, "get it straight"): THIS doc is the LOW-priority, DEFERRED feature, a quick voiced readout of a chat conversation ("tell me about that abundance thing while I make lunch"). It is NOT the Sacred Audio render. Hermes rendering a FULL Sacred Audio from chat is C18, which is HIGH priority and uses the existing proven pipeline (no cheap-TTS cost analysis). Do not conflate the two. Build C18 first; this casual read-aloud waits.

Pairs with the cost memo (Affirmology_FieldBriefingAudio_CostMemo_v1.md) and the action layer (C16 push, C17 send-to-Studio). Jeff 2026-06-20: "Hermes should be able to deliver me a custom audio in this chatbot, and ask me if I want to make a Studio record of it as a shareable audio." Plus the lighter, primary use case: "tell me about that abundance thing you just researched while I'm cooking lunch." So the flow is: render -> play inline -> (optionally) offer to persist + share.

Two modes (the casual one leads)

The flow

  1. TRIGGER (user-initiated): the user asks Hermes for an audio of a reading/briefing ("make me an audio of this", or taps a "Make this an audio" control on a Hermes message).
  2. RENDER (background): take the reading text, a light reformat into spoken script (Haiku), TTS it (engine per tier, see below), lay a light sound bed under it -> an MP3. Background job, ~10-40s for a few minutes of audio; show a "composing your audio" state, not a frozen wait.
  3. DELIVER INLINE: return the finished audio as an inline player inside the Hermes chat message. The user can listen right there.
  4. OFFER TO PERSIST + SHARE: right after delivery, Hermes asks "Want me to save this to the Studio as a shareable audio?" If yes -> create a Studio record via the C17 send_to_studio path (status saved/rendered, source "hermes", with the audio attached), and surface a share option: push it to a circle member (C16) and/or a shareable link (depends on C10, public media serving).

Engine + cost controls (from the cost memo, Jeff's constraints 2026-06-20)

API (api/main.py), bearer-auth

Hermes tool (api/hermes_tools.py)

UI (web/app.js)

Dependencies / sequencing

Guardrails

Acceptance test

  1. Ask Hermes for an audio of a reading. It renders in the background and returns an inline player that actually plays.
  2. Hermes then asks whether to save it to the Studio as a shareable audio. Saying yes creates a Studio record with the audio attached.
  3. The per-member cap: after the cap is hit, a further request is refused with a clear message; the counter resets next cycle.
  4. A non-entitled tier is refused the feature.