Pipeline Hub

format-asmr

Short ASMR / satisfying-sound contrast ad for Dawn (10-30 s): a deafening alarm cacophony (phone alarms, a bell clock, a smoke alarm, mom's knock) that wakes the whole house except one sleeping teen, then dead quiet and ONE soft buzz on his wrist that wakes him and nobody else, with close-up textures and crisp foley.

Lane: cartoon-h3 narrator (stylized video role) by default; photoreal object cut (cheap i2v role) as a test cell · not built yet: 4 (see below) · source: /Users/ayden/.openclaw/workspace/skills/format-asmr

SKILL.mdbeat-sheet.mdsources.mdEvals (6)Learnings (14)

ASMR contrast — beat sheet, sound cue sheet, line rules

Runtime target 20-25 s (short cell 10-12 s). 5-8 VO lines at ≥3.4 wps ≈ 45-75 spoken words. Percentages are of runtime; beats are pack-line ranges, never mid-sentence. Two H3 batches (≤15 s, ≤4 panels; the reveal batch ≤3 panels).

# Beat % Lines Picture Sound Line rules
1 Din + symptom 0-10 1 Wide: teen asleep on top of the duvet, phone glowing face-down, bell clock ringing; header on screen Din starts at 0.0 s, full: phone alarm + bell clock + smoke-alarm chirp; knock enters by 1.5 s Header (title:) names HER symptom, ≥2 s. Line 1 ≤10 words, callout to her ("You", "your") in action, no backstory, no product
2 The house wakes 10-35 2-3 2-4 inserts ≥1.2 s each: phone skittering on the desk, the clock's hammer, the smoke detector's red light, the closed door (knock); sister in the hall with hands over ears; dog's head up; Mom in the hall with coffee Din continues; each insert's own source rises a touch on its cut; VO stays on top Concrete counts from VOC ("five alarms", "fifty trips"); failed solutions generic, never brand names, never bed shakers
3 The drop 35-42 4 Same wide as beat 1, everything still, dawn light Din cut on the frame; room tone only ≤6 words, root cause in Fish's ruled wording ("Sound doesn't reach a deep-sleeping brain.") or no line at all
4 The buzz 42-65 5 **narrator (product reveal)**: macro on the band (wrist flat on the sheet, side-on, display dark) → motion lines + sheet ripple → his eyes open; sister/Mom out of frame or unmoved ONE soft brrr (silicone on skin/sheet), 0.6-1.2 s, alone in the quiet; it repeats once slightly stronger if the line allows (the ramp) Mechanism verbatim: "Touch gets through." / "Silent to everyone else." / "It keeps going until he turns it off." Product named once here
5 Up on his own 65-85 6-7 He sits up, arms down, feet on the floor; Mom down the hall sipping coffee, undisturbed Room tone; a mug set down; morning birds at ambience level Payoff on her: independence + her quiet. No vindication scene (that's recipe A)
6 CTA 85-100 8 **cta**: band on the nightstand by daylight or the end card (optional, --end-card; off by default per Fish 10-06) End-card swoosh (endcard.py) Name + "60 nights" or the guarantee line; end card carries the offer

Sound cue sheet (goes in the pack as ## Sound cue sheet)

Start times come from output/cartoon-h3/<slug>/lines.json (each line's start/end) after the VO stage; the end card (optional, --end-card; off by default per Fish 10-06) doesn't shift the timeline. Levels follow Fish's 8-10 doctrine (VO dominant).

line sound file start length level
1 phone alarm (rattling on wood, muffled) <sfx dir>/phone-alarm.mp3 0.00 to line 4 start 0.12
1 bell clock <sfx dir>/bell-clock.mp3 0.15 to line 4 start 0.11
1 smoke-alarm chirp <sfx dir>/smoke-chirp.mp3 0.60 to line 4 start 0.10
1-2 knock through the door <sfx dir>/knock.mp3 1.40 1.5 s, twice 0.12
4-5 room tone the assemble bed (bedroom-night-ambience) — — bed
5 silicone brrr (×2, second stronger) <sfx dir>/band-brrr.mp3 line 5 start + 0.2 0.8 s each 0.14 → 0.18
7 mug set down audio-library/sfx/tactile/gentle-tap.mp3 (stand-in) line 7 start 0.5 s 0.08
Files marked <sfx dir> don't exist yet (SKILL §8). Every row's file must exist before the storyboard is approved.

The overlay (BUILT 10-06: assemble reads this cue sheet; the manual block below is the fallback)

H3_SFX_PLAN=output/concept-packs/<slug>.md python3 -m scripts.cartoon_h3.run … --stage assemble mixes the table above over the master (same filter pattern, one limiter, length kept); python3 -m scripts.cartoon_h3.sfx --plan <pack.md> --run-dir output/cartoon-h3/<slug> --check lists resolved cue times and every missing file first. Manual fallback: Run after assemble on the end-card master. atrim + afade end each din source exactly at the drop (D = line 4 start, in seconds), adelay places it in ms, and amix … normalize=0 keeps every level as written (same filter pattern as scripts/finish_video.py).

R=output/cartoon-h3/$S; D=<line-4 start>; B=<line-5 start + 0.2>
ffmpeg -y -i $R/$S-final-endcard.mp4 -i <phone-alarm> -i <bell-clock> -i <smoke-chirp> -i <knock> -i <band-brrr> -filter_complex \
"[1:a]atrim=0:$D,afade=t=out:st=$(echo "$D-0.08"|bc):d=0.08,volume=0.12[a1];\
[2:a]atrim=0:$(echo "$D-0.15"|bc),afade=t=out:st=$(echo "$D-0.23"|bc):d=0.08,volume=0.11,adelay=150|150[a2];\
[3:a]atrim=0:$(echo "$D-0.60"|bc),volume=0.10,adelay=600|600[a3];\
[4:a]volume=0.12,adelay=1400|1400[a4];\
[5:a]volume=0.16,adelay=$(echo "$B*1000/1"|bc)|$(echo "$B*1000/1"|bc)[a5];\
[0:a][a1][a2][a3][a4][a5]amix=inputs=6:duration=first:normalize=0[a]" \
-map 0:v -map "[a]" -c:v copy -c:a aac -b:a 192k $R/$S-final-sfx.mp4
ffmpeg -i $R/$S-final-sfx.mp4 -af loudnorm=I=-14:TP=-1:print_format=summary -f null - 2>&1 | tail -12   # read Input Integrated / True Peak

Line rules (all beats)

Structure example (ILLUSTRATIVE: shows the shape only, not shipping copy; real lines come from VOC and Fish's approval)

Header: "Every alarm in the house goes off.|You're the only one up." 1. "Five alarms, and you're the one awake." (din, wide on the sleeping teen) 2. "The dog's up. His sister's up." (inserts: dog's head, Lily covering her ears in the hall) 3. "He hasn't moved." (the door, the knock, the teen still asleep) 4. "Sound doesn't reach a deep-sleeping brain." (the drop: silence, same wide) 5. "Touch does. Silent to everyone else." (product reveal: macro band, brrr, eyes open) 6. "It keeps going until he turns it off." (he sits up) 7. "And you get to finish your coffee." (Mom in the hall, undisturbed) 8. "Dawn Band. Sixty nights to try it." (cta / end card (optional, --end-card; off by default per Fish 10-06))