Monorepo for Aesthetic.Computer aesthetic.computer
README.md

meetings #

Phone / Mac call recordings → WhisperX transcripts → whistlepop-detected section breaks and directives → arxiv-style LaTeX PDF.

Pipeline #

slab "Start Call"
  → slab-recorder (mic + system audio aggregate → WAV in ~/Documents/Shelf/meetings/)
slab "Stop Call"
  → meetings/cli.mjs ingest <wav>          → meetings/<slug>/audio.wav
  → meetings/cli.mjs transcribe <slug>     → transcript.json   (WhisperX)
  → meetings/cli.mjs detect <slug>         → whistlepops.json  (audio events)
  → meetings/cli.mjs parse <slug>          → directives.json   (DSL applied)
  → meetings/cli.mjs build <slug>          → meeting.pdf

Each step is incrementally cached by mtime, matching papers/cli.mjs.

Whistlepop DSL #

See dsl.md for the grammar. TL;DR — a single whistle is punctuation (section break); two whistles bracket a spoken directive ("highlight", "decision", "section budget", "action alex", …) that the renderer applies to the surrounding conversation context.

Status #

Sample / reference output #

sample-jeffrey-x-scott/ — hand-crafted reference meeting that exercises every directive type in the .sty (title block, key ideas card, speaker turns, highlight, decision, action, quote, freeform, skipped, margin note, whistle break, colophon). Compile with xelatex meeting.tex to regenerate the reference PDF. Named without a timestamp prefix so cli.mjs list skips it.

Recording sources #

Mac-side calls (Zoom, Meet, FaceTime, Discord) work via a BlackHole + mic aggregate device — slab-recorder will detect whether one is wired and warn if not. iPhone phone calls don't expose audio to macOS apps; the workaround is speakerphone, and the recorder tags the resulting meeting with source: "speakerphone" for awareness.