SPEC.mdpreviewSPEC.mdsource321 lines · 26.2 KB · raw
1---
2title: ELEVEN THOUSAND VOLUMES
3theme: jev
4status: made
5song: song.js
6measured: {"date":"2026-09-26","song":"a0921953cc40","total":{"loudnessDbfs":-18.9,"peakDbfs":-1},"parts":{"bass":{"loudnessDbfs":-31.5,"peakDbfs":-15.2},"clicks":{"loudnessDbfs":-35.9,"peakDbfs":-7.8},"computer":{"loudnessDbfs":-38.5,"peakDbfs":-8.7},"drums":{"loudnessDbfs":-22.8,"peakDbfs":-6.1},"harpsichord":{"loudnessDbfs":-39.9,"peakDbfs":-22.8},"other":{"loudnessDbfs":-34.1,"peakDbfs":-0.6},"violin":{"loudnessDbfs":-39.8,"peakDbfs":-25.5},"vocals":{"loudnessDbfs":-25.4,"peakDbfs":-3.6},"yes":{"loudnessDbfs":-25.1,"peakDbfs":-4.3}},"sections":{"1-4":{"total":{"loudnessDbfs":-32.8,"peakDbfs":-8.6},"parts":{"clicks":{"loudnessDbfs":-49.7,"peakDbfs":-8.7},"computer":{"loudnessDbfs":-33.5,"peakDbfs":-16.8},"harpsichord":{"loudnessDbfs":-41.4,"peakDbfs":-24.1}}},"5-8":{"total":{"loudnessDbfs":-19.9,"peakDbfs":-2.3},"parts":{"bass":{"loudnessDbfs":-31.9,"peakDbfs":-21.8},"clicks":{"loudnessDbfs":-43.8,"peakDbfs":-8.7},"drums":{"loudnessDbfs":-24.5,"peakDbfs":-14.2},"harpsichord":{"loudnessDbfs":-41.4,"peakDbfs":-24.3},"vocals":{"loudnessDbfs":-23.1,"peakDbfs":-4.1},"yes":{"loudnessDbfs":-28.7,"peakDbfs":-4.3}}},"9-12":{"total":{"loudnessDbfs":-19.4,"peakDbfs":-2.9},"parts":{"bass":{"loudnessDbfs":-32.3,"peakDbfs":-21.8},"clicks":{"loudnessDbfs":-41.1,"peakDbfs":-8.7},"computer":{"loudnessDbfs":-32.3,"peakDbfs":-18.1},"drums":{"loudnessDbfs":-22,"peakDbfs":-9.5},"harpsichord":{"loudnessDbfs":-38.7,"peakDbfs":-23.7},"violin":{"loudnessDbfs":-37.5,"peakDbfs":-26.5},"vocals":{"loudnessDbfs":-26.3,"peakDbfs":-4.1},"yes":{"loudnessDbfs":-28.8,"peakDbfs":-4.3}}},"13-16":{"total":{"loudnessDbfs":-19.9,"peakDbfs":-1.6},"parts":{"bass":{"loudnessDbfs":-32.5,"peakDbfs":-21.8},"clicks":{"loudnessDbfs":-41.2,"peakDbfs":-8.7},"computer":{"loudnessDbfs":-34.9,"peakDbfs":-18.1},"drums":{"loudnessDbfs":-22.3,"peakDbfs":-9.4},"harpsichord":{"loudnessDbfs":-38.6,"peakDbfs":-23.7},"violin":{"loudnessDbfs":-37.6,"peakDbfs":-26.5},"yes":{"loudnessDbfs":-24.4,"peakDbfs":-4.3}}},"17-20":{"total":{"loudnessDbfs":-17.2,"peakDbfs":-1.9},"parts":{"bass":{"loudnessDbfs":-32.4,"peakDbfs":-21.8},"clicks":{"loudnessDbfs":-35.2,"peakDbfs":-7.8},"computer":{"loudnessDbfs":-46.4,"peakDbfs":-18.1},"drums":{"loudnessDbfs":-19.8,"peakDbfs":-6.1},"harpsichord":{"loudnessDbfs":-39.8,"peakDbfs":-24.1},"violin":{"loudnessDbfs":-53.3,"peakDbfs":-28.6},"yes":{"loudnessDbfs":-20.7,"peakDbfs":-5.2}}},"21-24":{"total":{"loudnessDbfs":-20.6,"peakDbfs":-1.7},"parts":{"bass":{"loudnessDbfs":-31.3,"peakDbfs":-21.1},"clicks":{"loudnessDbfs":-35.9,"peakDbfs":-7.8},"computer":{"loudnessDbfs":-42.5,"peakDbfs":-8.7},"drums":{"loudnessDbfs":-21.7,"peakDbfs":-8.3},"harpsichord":{"loudnessDbfs":-38.8,"peakDbfs":-22.8},"violin":{"loudnessDbfs":-37.3,"peakDbfs":-25.5},"yes":{"loudnessDbfs":-31.8,"peakDbfs":-5.2}}},"25-28":{"total":{"loudnessDbfs":-20.4,"peakDbfs":-2.2},"parts":{"bass":{"loudnessDbfs":-31.4,"peakDbfs":-21.1},"clicks":{"loudnessDbfs":-35.7,"peakDbfs":-7.8},"drums":{"loudnessDbfs":-21.9,"peakDbfs":-9.4},"harpsichord":{"loudnessDbfs":-38.6,"peakDbfs":-22.8},"violin":{"loudnessDbfs":-37.9,"peakDbfs":-25.5},"vocals":{"loudnessDbfs":-30.5,"peakDbfs":-4.2},"yes":{"loudnessDbfs":-32.6,"peakDbfs":-5.2}}},"29-32":{"total":{"loudnessDbfs":-16.5,"peakDbfs":-2},"parts":{"bass":{"loudnessDbfs":-30.8,"peakDbfs":-21.1},"clicks":{"loudnessDbfs":-29.7,"peakDbfs":-7.8},"drums":{"loudnessDbfs":-21.4,"peakDbfs":-8},"harpsichord":{"loudnessDbfs":-38,"peakDbfs":-24},"violin":{"loudnessDbfs":-37.2,"peakDbfs":-25.5},"vocals":{"loudnessDbfs":-211.7,"peakDbfs":-168.8},"yes":{"loudnessDbfs":-18.9,"peakDbfs":-4.3}}},"33-36":{"total":{"loudnessDbfs":-17.8,"peakDbfs":-2.6},"parts":{"bass":{"loudnessDbfs":-24.6,"peakDbfs":-15.2},"clicks":{"loudnessDbfs":-46,"peakDbfs":-8.7},"computer":{"loudnessDbfs":-30.6,"peakDbfs":-16.8},"drums":{"loudnessDbfs":-38.7,"peakDbfs":-20.9},"harpsichord":{"loudnessDbfs":-49.1,"peakDbfs":-24.1},"violin":{"loudnessDbfs":-74.5,"peakDbfs":-48.4},"vocals":{"loudnessDbfs":-19.4,"peakDbfs":-3.6},"yes":{"loudnessDbfs":-32.8,"peakDbfs":-4.3}}},"37-40":{"total":{"loudnessDbfs":-19,"peakDbfs":-3.1},"parts":{"drums":{"loudnessDbfs":-26.7,"peakDbfs":-16.5},"harpsichord":{"loudnessDbfs":-43.2,"peakDbfs":-26.1},"violin":{"loudnessDbfs":-36.5,"peakDbfs":-26},"vocals":{"loudnessDbfs":-19.9,"peakDbfs":-3.8}}},"41-44":{"total":{"loudnessDbfs":-18.6,"peakDbfs":-3},"parts":{"bass":{"loudnessDbfs":-37.9,"peakDbfs":-22.3},"clicks":{"loudnessDbfs":-43.7,"peakDbfs":-8.7},"drums":{"loudnessDbfs":-25.2,"peakDbfs":-9.5},"harpsichord":{"loudnessDbfs":-43.2,"peakDbfs":-26.1},"violin":{"loudnessDbfs":-49.1,"peakDbfs":-27.9},"vocals":{"loudnessDbfs":-19.8,"peakDbfs":-4},"yes":{"loudnessDbfs":null,"peakDbfs":null}}},"45-48":{"total":{"loudnessDbfs":-16.8,"peakDbfs":-1.9},"parts":{"bass":{"loudnessDbfs":-31.9,"peakDbfs":-21.8},"clicks":{"loudnessDbfs":-34.9,"peakDbfs":-7.8},"drums":{"loudnessDbfs":-19.2,"peakDbfs":-6.1},"harpsichord":{"loudnessDbfs":-39.5,"peakDbfs":-24.1},"violin":{"loudnessDbfs":-243.3,"peakDbfs":-200.4},"vocals":{"loudnessDbfs":-125.5,"peakDbfs":-96.8},"yes":{"loudnessDbfs":-21.1,"peakDbfs":-5.2}}},"49-52":{"total":{"loudnessDbfs":-18.6,"peakDbfs":-1.9},"parts":{"bass":{"loudnessDbfs":-30.8,"peakDbfs":-21.1},"clicks":{"loudnessDbfs":-35.8,"peakDbfs":-7.8},"computer":{"loudnessDbfs":-42.8,"peakDbfs":-8.7},"drums":{"loudnessDbfs":-21.4,"peakDbfs":-8.2},"harpsichord":{"loudnessDbfs":-38.5,"peakDbfs":-22.8},"violin":{"loudnessDbfs":-37.2,"peakDbfs":-25.5},"vocals":{"loudnessDbfs":-24.2,"peakDbfs":-4.4},"yes":{"loudnessDbfs":-29.2,"peakDbfs":-5.2}}},"53-56":{"total":{"loudnessDbfs":-20.2,"peakDbfs":-3.3},"parts":{"bass":{"loudnessDbfs":-31,"peakDbfs":-21.1},"clicks":{"loudnessDbfs":-34.7,"peakDbfs":-7.8},"drums":{"loudnessDbfs":-21.8,"peakDbfs":-8},"harpsichord":{"loudnessDbfs":-37.6,"peakDbfs":-22.8},"violin":{"loudnessDbfs":-37.2,"peakDbfs":-25.5},"vocals":{"loudnessDbfs":-28,"peakDbfs":-5.1}}},"57-60":{"total":{"loudnessDbfs":-16.9,"peakDbfs":-1.8},"parts":{"bass":{"loudnessDbfs":-31.1,"peakDbfs":-21.1},"clicks":{"loudnessDbfs":-29.9,"peakDbfs":-7.8},"drums":{"loudnessDbfs":-21.8,"peakDbfs":-8},"harpsichord":{"loudnessDbfs":-38.2,"peakDbfs":-24},"violin":{"loudnessDbfs":-37.5,"peakDbfs":-25.5},"yes":{"loudnessDbfs":-19.4,"peakDbfs":-4.3}}},"61-64":{"total":{"loudnessDbfs":-21.3,"peakDbfs":-1},"parts":{"bass":{"loudnessDbfs":-52.9,"peakDbfs":-30.9},"clicks":{"loudnessDbfs":-45,"peakDbfs":-8.7},"drums":{"loudnessDbfs":-38.3,"peakDbfs":-20.7},"harpsichord":{"loudnessDbfs":-54.7,"peakDbfs":-24.1},"other":{"loudnessDbfs":-22,"peakDbfs":-0.6},"violin":{"loudnessDbfs":-73.2,"peakDbfs":-46.8},"yes":{"loudnessDbfs":-32.6,"peakDbfs":-4.3}}}}}
7critic:
8  date: 2026-09-26
9  model: jev-1.13.0
10  method: rubric-1
11  art: 0.71
12  artRuns: [0.71, 0.72, 0.7]
13  criteria:
14    hook: 3
15    development: 3.8
16    structure: 3.7
17    concept: 4.3
18    originality: 4
19    craft: 2.4
20ideas:
21  - date: 2026-09-24
22    model: claude-opus-5-5
23    harness: claude-code
24    prompt: "Lieutenant Commander Data using browser computer use to have Jev download a bunch of DRM books too damn fast."
25    brief: "Lieutenant Commander Data using browser computer use to have Jev download a bunch of DRM books too damn fast."
26revisions:
27  - rev: 1
28    date: 2026-09-25
29    model: claude-opus-5-5
30    harness: claude-code
31    prompt: "Lieutenant Commander Data using browser computer use to have Jev download a bunch of DRM books too damn fast."
32    output: null  # overwritten by rev 2
33    art: null  # not scored: predates this repo: no song.js before the next revision was recorded
34  - rev: 2
35    date: 2026-09-25
36    model: claude-opus-5-5
37    harness: claude-code
38    prompt: "Make every joke land. The story lines always play at full level, and the Yes stutter, the clicks and the harpsichord step back while Data speaks in the drops. Give the browser loop, Jev and the store three different voices. Drop 1 B is the loop asking again and Data answering himself, \"Of course.\", with no second character. Put the beeps and Yes in the gaps between words. Strip the punchline back to a soft kick and the harpsichord, and slam the beat and bass back on its last bar. Hold the violin under the final chirp. Put the chord roots at the bottom of the harpsichord so the circle of fifths is heard, and give the violin a stepwise descent. Offer each transition only where it suits the change, keep the drops' beat, bass and violin in their descriptions, and make the energy ladder and the fallback say what they do."
39    output: null  # overwritten by rev 3
40    art: 0.72
41    artRuns: [0.72, 0.72, 0.72]
42  - rev: 3
43    date: 2026-09-25
44    model: claude-opus-5-5
45    harness: claude-code
46    prompt: "Jev says yes too many times: after three drops of it the joke is lost. Ration it: stagger it in and out, and use volume, so it builds and pays off instead of running wall to wall."
47    output: null  # overwritten by rev 4
48    art: 0.7
49    artRuns: [0.7, 0.69, 0.7]
50  - rev: 4
51    date: 2026-09-26
52    model: claude-opus-5-5
53    harness: claude-code
54    prompt: "Keep Jev from looping a verse or a drop: each loop may go round once more at most (verse1, drop1b, verse2 and drop2b play at most twice), so no run of drop sections passes 20 bars. Every detour still plays."
55    output: song.js
56    art: 0.71
57    artRuns: [0.71, 0.72, 0.7]
58---
59
60# ELEVEN THOUSAND VOLUMES — spec
61
62`song.js` is generated from this spec. Change the spec first, then the song.
63
64Data is the only character; his real lines come from TNG and Star Trek:
65First Contact, and every other voice is a machine (the browser loop, Jev,
66the store).
67
68## Intent
69
70Lieutenant Commander Data, who takes in information faster than anyone
71aboard, points a browser at an ebook store and has Jev download the whole
72catalogue, computer-use style, too damn fast. Three jokes, each one audible,
73not just explained here:
74
751. **"Too damn fast" is literal.** The harpsichord's perpetual motion and
76   the browser's download clicks speed up through the song: eighths in the
77   intro, sixteenths in the verses, thirty-seconds in the builds and drops,
78   and a buzz at the end of each drop. Then the store slams the door:
79   "Four twenty-nine. Too many requests."
802. **Jev's real job is the joke.** Jev is not an agent. TypeSafe's own
81   docs say System One is "not agents. It does not generate code or choose
82   its own next action", and "most queries complete in about 100 ms". So
83   the browser loop does the clicking and asks Jev one yes/no question per
84   book, "Should Data download this book?", and Jev answers "Yes." every
85   time. The "Yes." is an instrument, and rationed so it stays a joke: a
86   few in the verses, accelerating through each build (once, twice, four,
87   eight a bar), then only a tag on the last beat of every other bar in
88   a drop's first section and none in its second, where Data talks. It is
89   let loose only in the buzz that ends each drop, staggered in (silent,
90   eighths quietly, sixteenths louder, then full) straight into the 429.
91   The second time round it is pitched up.
923. **The punchline is the DRM.** After the 429 comes the pile: "I have
93   acquired eleven thousand volumes. I am unable to open any of them." The
94   band drops out under it, so the pause after "eleven thousand volumes"
95   lands, and then the loop starts again as if nothing happened. At the
96   very end, "Your loan has expired."
97
98## Style
99
100**Baroque electronica** at 120 bpm in A minor. Nothing else in the set
101sounds like it: six songs are drum & bass or jungle at 170–180 bpm, and
102this one is a harpsichord and a violin over a clean electro beat.
103
104- **The harpsichord**: a bright plucked synth (a sawtooth with a fast
105  decay, high-passed at 150 Hz, with a quieter square an octave up, like a
106  4-foot stop) arpeggiating Bach-style perpetual motion through the
107  descending circle of fifths, two chords a bar: Am Dm | G C | F B° | E Am.
108  Each chord is voiced with its root at the bottom (A2, D3, G2, C3, F2, B2,
109  E2, A2), so the arpeggio's lowest line walks the circle and the descent
110  is heard even where there is no bass. Its note value is the song's
111  speedometer (eighths, sixteenths, thirty-seconds, a buzz).
112- **The violin**, played by Data (he plays violin in TNG): a sawtooth with
113  a vibrato, a slow attack and a low-pass. Strudel's VCSL prebake has no
114  violin sample (checked 2026-09-25: its strings are psaltery, harp and
115  dan tranh), so it is synthesized. In the first verse, half notes falling
116  step by step with the chords: e5 d5 | d5 c5 | c5 b4 | b4 a4. A
117  quarter-note line in the drops, long notes in the second verse.
118- **The bass**: a square-wave electro bass in eighths on the chord roots.
119- **A clean electro beat**: a syncopated 808 kick, a clap on two and four,
120  closed hats; four on the floor and a snare roll in the builds; the
121  crash is `hh27:1` (Dirt-Samples' `cr` is a ride).
122- **The computer**: the TNG chirp and the LCARS beep.
123- **The browser**: a mouse click per download, off the downbeat so it can
124  be heard over the kick.
125- **Jev**: "Yes.", as rhythm.
126- **Every word is heard.** The beeps and Jev's "Yes." land in the gaps
127  between words, never on them; in the drops, the "Yes." stutter, the
128  clicks and the harpsichord step back while Data speaks.
129- Structured: patterns vary by section, never by chance.
130
131## Structure
132
13364 bars (~2:08). Plays once from bar 1 and ends; never loops. A bar is 2 s.
134
135| Bars | Section | Contents |
136|---|---|---|
137| 1–4 | Intro | TNG chirp (bar 1); Data: "Browser log, supplemental. I have navigated to page four thousand one hundred and twelve of the catalog." (bar 1, just over three bars long); LCARS beeps on the downbeats of bars 2 and 4, between his words; the harpsichord in eighths, filter opening; the first click (bar 4) |
138| 5–8 | Intro B | An 808 kick and hats come in with the bass, the harpsichord in eighths; "Should Data download this book?" (bars 5 and 7), Jev: "Yes." (bars 6 and 8); one click a bar |
139| 9–12 | Verse 1 | The electro beat (claps from here), the harpsichord in sixteenths, the violin's falling half notes; "Should Data download this book?" (bar 9); Jev's "Yes." once a bar from bar 10; a beep on beat 4; two clicks a bar |
140| 13–16 | Verse 1 B | "Yes." twice a bar; two clicks a bar; Data: "I am curious" (bar 15), with no "Yes." and no beep in that bar |
141| 17–20 | Build 1 | The harpsichord in thirty-seconds; clicks 2, 4, 8, 16 a bar; "Yes." once, twice, four, eight a bar; four on the floor, a noise riser across the four bars, a snare roll in bar 20 |
142| 21–24 | Drop 1 | Everything: the harpsichord in thirty-seconds, the violin's quarter-note line, the electro beat, the bass, eight clicks a bar, and Jev's "Yes." only as a tag on beat 4 of bars 22 and 24; crash on 21; Data: "I find it most intriguing." (bar 21, beat 3), the "Yes." and the clicks out and the harpsichord back while he speaks (bar 21 beat 3 to bar 22 beat 3) |
143| 25–28 | Drop 1 B | As drop 1, the beat, the bass and the violin's line going on; the loop asks again, "Should Data download this book?" (bar 25), and Data answers himself: "Of course." (bar 26); no "Yes." in this section, the clicks out and the harpsichord back under both; crash on 25 |
144| 29–32 | Drop 1 C | The buzz over the beat, the bass and the violin's line: the harpsichord in sixty-fourths, the clicks a buzz, and the "Yes." let loose, staggered in: none in bar 29, eighths quietly in bar 30, sixteenths louder in bar 31, full in bar 32, straight into the 429; crash on 29 |
145| 33–36 | Break | The 429: the band stops dead. "Four twenty-nine. Too many requests." (bar 33); a low held A and LCARS beeps in the gaps between words (bar 33 beat 3, bar 34 beat 4, bar 36 beats 1 and 2); Data: "0.68 seconds, sir. For an android, that is nearly an eternity." (bar 35, running until the first beat of bar 40); the harpsichord in eighths under him in bar 36 |
146| 37–40 | Verse 2 (the wait) | Data's "nearly an eternity" still speaking; the violin alone in long notes over the harpsichord in eighths and a soft kick |
147| 41–44 | Verse 2 B (the punchline) | "I have acquired eleven thousand volumes. I am unable to open any of them." (bar 41) and "Access denied." (bar 43, beat 2) over only the soft kick, the harpsichord and one click a bar (bars 41–43); then the beat and the bass slam back on bar 44 as the loop starts again: "Should Data download this book?" (bar 44) |
148| 45–48 | Build 2 | As build 1 |
149| 49–52 | Drop 2 | As drop 1, the "Yes." tags pitched up (bars 50 and 52); "I find it most intriguing." (bar 49, beat 3), with the same step back |
150| 53–56 | Drop 2 B | As drop 1, the beat, the bass and the violin's line going on; Data: "I am curious" (bar 53, beat 3), no "Yes.", the clicks out and the harpsichord back while he speaks |
151| 57–60 | Drop 2 C | The buzz again over the beat, the bass and the violin's line, the "Yes." staggered in as in drop 1 C and pitched up, heading for the door |
152| 61–64 | Outro | The last A minor chord on the harpsichord (bar 61) and the violin's a4, bowed each bar through bar 64, so it still sounds under the last chirp; "Your loan has expired." (bar 62); a TNG chirp (bar 64, beat 4): the end |
153
154## Vocals
155
156Each line starts on the bar (and beat) the structure table gives it; no two
157lines overlap as written. All vocal samples are levelled to about −16 LUFS,
158so they play at gain 1. Three machine voices, each its own sound:
159
160- **The browser loop** asks the question: Microsoft David, dry.
161- **Jev** answers: Microsoft Zira at rate +3.
162- **The store** refuses: Microsoft Zira at rate −1, band-passed to
163  300–3400 Hz and bit-crushed, like a voice down a phone line.
164
165`speak` renders through System.Speech, which on this host offers only
166David and Zira (`GetInstalledVoices`, 2026-09-25); Microsoft Mark is
167installed only as a OneCore voice, which System.Speech cannot use, so the
168store is Zira made to sound like a line rather than a third voice.
169
170Data's synthesized lines are Microsoft David too, but vocoded, so they do
171not sound like the browser loop.
172
173| Sample | Line | Who | Length |
174|---|---|---|---|
175| `etvlog` | "Browser log, supplemental. I have navigated to page four thousand one hundred and twelve of the catalog." | Data, synthesized and lightly vocoded | 6.2 s |
176| `etvshould` | "Should Data download this book?" | the browser loop | 1.5 s |
177| `etvyes` | "Yes." | Jev: the instrument | 0.4 s |
178| `etvcurious` | "I am curious" | Data, the real TNG clip ("Genesis", cut before "as to why Spot…") | 0.8 s |
179| `etvintriguing` | "I find it most intriguing." | Data, the real TNG clip ("Haven") | 2.1 s |
180| `etvofcourse` | "Of course." | Data, the real TNG clip ("The Naked Now"), his answer alone | 0.6 s |
181| `etv429` | "Four twenty-nine. Too many requests." | the store | 3.3 s |
182| `etvdenied` | "Access denied." | the store | 1.0 s |
183| `etvvolumes` | "I have acquired eleven thousand volumes. I am unable to open any of them." | Data, synthesized and lightly vocoded: the punchline | 4.3 s |
184| `etvloan` | "Your loan has expired." | the store | 1.3 s |
185| `etvread` | "0.68 seconds, sir. For an android, that is nearly an eternity." | Data, the real clip (Star Trek: First Contact): the 429's wait, in his words; "0.68" starts on the bar | 10.1 s |
186
187Sound effects: `etvchirp` (the TNG chirp), `etvbeep` (an LCARS beep),
188`etvclick` (a mouse click). Drums from dirt-samples; the harpsichord,
189violin, bass and riser are synthesized. `samples/README.md` records where
190each `etv*` sample came from.
191
192## Jev in the booth
193
194Jev arranges the song as it plays, as two jevs declared at the top in
195TypeSafe's own shape (`jev({ state, questions })`, `website/src/jev/`), both
196given the song as state (subject, tempo, key, chords, lyrics):
197
198- **`formJev`** asks one choice: which **section** plays next, among the
199  song's sixteen 4-bar sections.
200- **`djJev`** asks, once that is decided, a **level** for each part
201  (drums, bass, harpsichord, violin, computer, clicks, Jev's "Yes.",
202  Data's reactions: out, back or full in this section), how the song moves
203  **into** it, and a score for the section's **energy**. Questions in one
204  request cannot see each other's answers, so it is a second request, told
205  the section just chosen (`after: { section }`).
206
207Both are asked every 4 bars (`.every(4, …)`), and the answers are composed
208in ordinary Strudel at the bottom: `walk` holds the form's rules, each
209part plays at its level, the transition plays over the last bar before the
210section, and `energy.score` scales the velocity.
211
212**The form.** A section may be followed only by these:
213
214| Section | Bars as written | May be followed by | Plays at most |
215|---|---|---|---|
216| `intro` | 1–4 | introB |  |
217| `introB` | 5–8 | verse1 |  |
218| `verse1` | 9–12 | verse1b | twice |
219| `verse1b` | 13–16 | build1, verse1 |  |
220| `build1` | 17–20 | drop1 |  |
221| `drop1` | 21–24 | drop1b |  |
222| `drop1b` | 25–28 | drop1c, drop1b | twice |
223| `drop1c` | 29–32 | break, drop1b |  |
224| `break` | 33–36 | verse2 |  |
225| `verse2` | 37–40 | verse2b | twice |
226| `verse2b` | 41–44 | build2, verse2 |  |
227| `build2` | 45–48 | drop2 |  |
228| `drop2` | 49–52 | drop2b |  |
229| `drop2b` | 53–56 | drop2c, drop2b | twice |
230| `drop2c` | 57–60 | outro, drop2b, break |  |
231| `outro` | 61–64 | (the end) |  |
232
233**Loops end.** Uncapped, the ways back let Jev repeat a verse or a drop until the cap: up to 44 bars of it in a row. So verse1, drop1b, verse2 and drop2b, where the verses' and drops' loops return, each play at most twice (`times` in `walk`, which counts every play: a loop is a cycle of different sections, and none of them repeats back to back), and each loop goes round once more at most. The longest run of a verse or a drop any path can now take is 20 bars. Every detour can still play, the written order is never capped, and a section that has played its most is not offered, nor is one that could only reach the ending through one.
234
235After the second buzz Jev may end the song, go round drop 2 again, or have
236the store slam the door once more. Builds lead only into their drop, and
237the break leads only to the wait. These rules are code (`walk`), not
238Jev: each request offers Jev only the sections allowed next that can still
239reach the outro by the cap. The written order is always allowed, and it
240is what plays when Jev can't be reached. The cap is 24 sections (about
2413:12).
242
243**The parts.** Each question says what the part is and where it plays as
244written, naming sections by their keys; Jev sets each one's level: **out**
245(the section works without it), **back** (it colours the section) or
246**full** (it carries the section). Each question stands alone, judged
247against the section just decided: Jev answers every question in a request
248independently, so no question may ask it to weigh one part against another.
249The answer is Jev's probability-weighted score: under 0.5 the part is
250silent, and above it the part's velocity is scaled by the score (half at
251back, whole at full). Each part plays on its own orbit, named for its
252question (`orbit('harpsichord')`, …), so the meter hears it alone. A part
253keeps its own masks, so each line is still said on the bar the structure
254table gives it, and the "Yes.", the clicks and the harpsichord still step
255back while Data speaks.
256
257The story lines always play at full level, like the ending (the last
258chord, "Your loan has expired.", the chirp): `etvlog`, `etvshould`,
259`etv429`, `etvread`, `etvvolumes` and `etvdenied`. Every joke rests on
260them, so Jev cannot take them out. Jev levels only Data's three film
261reactions: `etvcurious`, `etvintriguing` and `etvofcourse`. A missing
262answer plays the parts as written at driving.
263
264**The transitions.** Jev also picks how the song moves into each section,
265played over the last bar of the section before it, with the next
266section's answer (`.early(1)`). Each move suits some changes and not
267others, and Jev is offered only the moves that suit the change at hand
268(rules in code, `allow`), sampled from its probabilities:
269
270- **cut**: straight in. Anywhere.
271- **fill**: an electro fill (snare and toms) over the last half bar, into
272  a verse or a build. It plays only if the drums are in, at the level of
273  the section being left.
274- **riser**: white noise swelling up over the last bar, into a build or a
275  drop. Not out of a build, which already rises, and never out of the
276  break or verse2, where Data is still speaking.
277- **dropout**: the door. Every part's notes stop for the last beat, a
278  429's worth of silence before the section hits, into the break, a
279  drop's first section (drop1, drop2) or the outro. A note already ringing
280  (a held violin note, a long vocal) rings on through it, and so does the
281  build's snare roll, whose last beat is the build's; nothing new starts.
282  The outro keeps its last beat.
283
284Without an answer it is a cut.
285
286**A little chance.** The section is sampled from Jev's probabilities at
287temperature 0.7 (`sample`), so two plays of the song can take different
288paths; the strip shows Jev's top pick beside the one sampled.
289
290**Energy** is a four-step ladder that scales every part's velocity
291together, on top of the part levels, so the mix keeps its balance: held
292back 0.55, steady 0.8, driving 0.95, all out 1.
293
294- Bars 1–4 always play as written.
295- Every request carries the song's state, everything played so far, how
296  loud each finished section and part measured in the browser, and the
297  🔥/😴 reactions from the listener's tab. `formJev`'s requests carry the
298  form: the section playing, which may come next and how many are left
299  before the cap. `djJev`'s carry the section just decided, the section
300  playing and how many are left, and a history in which each row names
301  the section it was; a row that played its fallbacks says "(fallback)",
302  so it does not read as Jev's choice.
303- A section plays its own bars, so a repeated drop buzzes the same way and
304  a repeated break slams the same door.
305- This relaxes the constraints below that the song plays once in a fixed
306  order and never varies by chance: the arrangement varies with Jev's
307  choices, which are judgments, with a little sampled chance in the form
308  and the transitions.
309
310## Constraints
311
312- The mix peaks at or under -1 dBFS: superdough has no limiter. The drums
313  sit 8 dB down (measured 10 dB over the voices, and the source of the
314  peak), and a master level of .8 takes the rest.
315
316- Samples from `samples/` via `samples('jev-samples/strudel.json')`; drums
317  from `github:tidalcycles/dirt-samples`; synths are built in.
318- Sections are absolute-cycle masks, so playback must start from stopped.
319- Every mask is 64 steps.
320- Build ramps rise across all four bars (`.slow(4)`, and the builds start
321  on cycles 16 and 44, both multiples of four).