For agents, on top of README.md, which they read first.
Notes for agents
Stop playback before playing song.js. Its section masks count from cycle 0.
The whispers are chord-bound. Each vocoded line is rendered on one chord of the 8-bar Fm–Db–Ab–Eb cycle (emcurl Fm, emremote Db, emdenied Ab, emnotimp Eb), so it must start on the first bar of its chord. That is why the intro and outro whispers sit on bars 7 and 63, not 5 and 61; move them and emnotimp needs re-rendering on the new chord, under one bar (1.379 s).
Every vocal line must read back in small.en and medium.en. emcurl, emdenied and emnotimp use --noise 0.6 or lighter because the full whisper setting was unintelligible ("mesh", "goodnight", "Jeff"). emnotimp passes only as rendered (typed "Jehv", rate 0, --dry 1.5, seed 0): other seeds, a limiter, or typing "Jevv" all read "Jeff" or "Jebb" in small.en. Raise its level with gain in song.js, never by re-processing the file, and re-transcribe after any change. The recipes are in samples/README.md.
emsus is not read as a word. Both models hear the drawn-out "suuus" as "SIZE!"; no re-cut of this source did better (see samples/README.md). A better "sus" needs another source clip, which is the user's call.
The story is not a part. The verse whispers and bar 7 play through form.arrange(once(story)), outside part() and the dropout gap, so Jev cannot silence them. Don't move them back under a level.
The master gain (MASTER) is set last. Change any level, then re-measure (nix run .#measure -- --song jev/emergency-meeting) and set MASTER so the peak is at or under −1 dBFS. It was .47 for a +5.0 dBFS peak (2026-09-25).