1@README.md
2
3## Notes for agents
4
5**Stop playback before playing `song.js`.** Its section masks count from cycle 0.
6
7**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).
8
9**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`.
10
11**`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.
12
13**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.
14
15**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).