title: ELEVEN THOUSAND VOLUMES theme: jev status: made song: song.js measured: {"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}}}}} critic: date: 2026-09-26 model: jev-1.13.0 method: rubric-1 art: 0.71 artRuns: [0.71, 0.72, 0.7] criteria: hook: 3 development: 3.8 structure: 3.7 concept: 4.3 originality: 4 craft: 2.4 ideas:
- date: 2026-09-24 model: claude-opus-5-5 harness: claude-code prompt: "Lieutenant Commander Data using browser computer use to have Jev download a bunch of DRM books too damn fast." brief: "Lieutenant Commander Data using browser computer use to have Jev download a bunch of DRM books too damn fast." revisions:
- rev: 1 date: 2026-09-25 model: claude-opus-5-5 harness: claude-code prompt: "Lieutenant Commander Data using browser computer use to have Jev download a bunch of DRM books too damn fast." output: null # overwritten by rev 2 art: null # not scored: predates this repo: no song.js before the next revision was recorded
- rev: 2 date: 2026-09-25 model: claude-opus-5-5 harness: claude-code 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." output: null # overwritten by rev 3 art: 0.72 artRuns: [0.72, 0.72, 0.72]
- rev: 3 date: 2026-09-25 model: claude-opus-5-5 harness: claude-code 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." output: null # overwritten by rev 4 art: 0.7 artRuns: [0.7, 0.69, 0.7]
- rev: 4 date: 2026-09-26 model: claude-opus-5-5 harness: claude-code 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." output: song.js art: 0.71 artRuns: [0.71, 0.72, 0.7]
ELEVEN THOUSAND VOLUMES — spec
song.js is generated from this spec. Change the spec first, then the song.
Data is the only character; his real lines come from TNG and Star Trek: First Contact, and every other voice is a machine (the browser loop, Jev, the store).
Intent
Lieutenant Commander Data, who takes in information faster than anyone aboard, points a browser at an ebook store and has Jev download the whole catalogue, computer-use style, too damn fast. Three jokes, each one audible, not just explained here:
- "Too damn fast" is literal. The harpsichord's perpetual motion and the browser's download clicks speed up through the song: eighths in the intro, sixteenths in the verses, thirty-seconds in the builds and drops, and a buzz at the end of each drop. Then the store slams the door: "Four twenty-nine. Too many requests."
- Jev's real job is the joke. Jev is not an agent. TypeSafe's own docs say System One is "not agents. It does not generate code or choose its own next action", and "most queries complete in about 100 ms". So the browser loop does the clicking and asks Jev one yes/no question per book, "Should Data download this book?", and Jev answers "Yes." every time. The "Yes." is an instrument, and rationed so it stays a joke: a few in the verses, accelerating through each build (once, twice, four, eight a bar), then only a tag on the last beat of every other bar in a drop's first section and none in its second, where Data talks. It is let loose only in the buzz that ends each drop, staggered in (silent, eighths quietly, sixteenths louder, then full) straight into the 429. The second time round it is pitched up.
- The punchline is the DRM. After the 429 comes the pile: "I have acquired eleven thousand volumes. I am unable to open any of them." The band drops out under it, so the pause after "eleven thousand volumes" lands, and then the loop starts again as if nothing happened. At the very end, "Your loan has expired."
Style
Baroque electronica at 120 bpm in A minor. Nothing else in the set sounds like it: six songs are drum & bass or jungle at 170–180 bpm, and this one is a harpsichord and a violin over a clean electro beat.
- The harpsichord: a bright plucked synth (a sawtooth with a fast decay, high-passed at 150 Hz, with a quieter square an octave up, like a 4-foot stop) arpeggiating Bach-style perpetual motion through the descending circle of fifths, two chords a bar: Am Dm | G C | F B° | E Am. Each chord is voiced with its root at the bottom (A2, D3, G2, C3, F2, B2, E2, A2), so the arpeggio's lowest line walks the circle and the descent is heard even where there is no bass. Its note value is the song's speedometer (eighths, sixteenths, thirty-seconds, a buzz).
- The violin, played by Data (he plays violin in TNG): a sawtooth with a vibrato, a slow attack and a low-pass. Strudel's VCSL prebake has no violin sample (checked 2026-09-25: its strings are psaltery, harp and dan tranh), so it is synthesized. In the first verse, half notes falling step by step with the chords: e5 d5 | d5 c5 | c5 b4 | b4 a4. A quarter-note line in the drops, long notes in the second verse.
- The bass: a square-wave electro bass in eighths on the chord roots.
- A clean electro beat: a syncopated 808 kick, a clap on two and four,
closed hats; four on the floor and a snare roll in the builds; the
crash is
hh27:1(Dirt-Samples'cris a ride). - The computer: the TNG chirp and the LCARS beep.
- The browser: a mouse click per download, off the downbeat so it can be heard over the kick.
- Jev: "Yes.", as rhythm.
- Every word is heard. The beeps and Jev's "Yes." land in the gaps between words, never on them; in the drops, the "Yes." stutter, the clicks and the harpsichord step back while Data speaks.
- Structured: patterns vary by section, never by chance.
Structure
64 bars (~2:08). Plays once from bar 1 and ends; never loops. A bar is 2 s.
| Bars | Section | Contents |
|---|---|---|
| 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) |
| 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 |
| 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 |
| 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 |
| 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 |
| 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) |
| 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 |
| 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 |
| 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 |
| 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 |
| 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) |
| 45–48 | Build 2 | As build 1 |
| 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 |
| 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 |
| 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 |
| 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 |
Vocals
Each line starts on the bar (and beat) the structure table gives it; no two lines overlap as written. All vocal samples are levelled to about −16 LUFS, so they play at gain 1. Three machine voices, each its own sound:
- The browser loop asks the question: Microsoft David, dry.
- Jev answers: Microsoft Zira at rate +3.
- The store refuses: Microsoft Zira at rate −1, band-passed to 300–3400 Hz and bit-crushed, like a voice down a phone line.
speak renders through System.Speech, which on this host offers only
David and Zira (GetInstalledVoices, 2026-09-25); Microsoft Mark is
installed only as a OneCore voice, which System.Speech cannot use, so the
store is Zira made to sound like a line rather than a third voice.
Data's synthesized lines are Microsoft David too, but vocoded, so they do not sound like the browser loop.
| Sample | Line | Who | Length |
|---|---|---|---|
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 |
etvshould | "Should Data download this book?" | the browser loop | 1.5 s |
etvyes | "Yes." | Jev: the instrument | 0.4 s |
etvcurious | "I am curious" | Data, the real TNG clip ("Genesis", cut before "as to why Spot…") | 0.8 s |
etvintriguing | "I find it most intriguing." | Data, the real TNG clip ("Haven") | 2.1 s |
etvofcourse | "Of course." | Data, the real TNG clip ("The Naked Now"), his answer alone | 0.6 s |
etv429 | "Four twenty-nine. Too many requests." | the store | 3.3 s |
etvdenied | "Access denied." | the store | 1.0 s |
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 |
etvloan | "Your loan has expired." | the store | 1.3 s |
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 |
Sound effects: etvchirp (the TNG chirp), etvbeep (an LCARS beep),
etvclick (a mouse click). Drums from dirt-samples; the harpsichord,
violin, bass and riser are synthesized. samples/README.md records where
each etv* sample came from.
Jev in the booth
Jev arranges the song as it plays, as two jevs declared at the top in
TypeSafe's own shape (jev({ state, questions }), website/src/jev/), both
given the song as state (subject, tempo, key, chords, lyrics):
formJevasks one choice: which section plays next, among the song's sixteen 4-bar sections.djJevasks, once that is decided, a level for each part (drums, bass, harpsichord, violin, computer, clicks, Jev's "Yes.", Data's reactions: out, back or full in this section), how the song moves into it, and a score for the section's energy. Questions in one request cannot see each other's answers, so it is a second request, told the section just chosen (after: { section }).
Both are asked every 4 bars (.every(4, …)), and the answers are composed
in ordinary Strudel at the bottom: walk holds the form's rules, each
part plays at its level, the transition plays over the last bar before the
section, and energy.score scales the velocity.
The form. A section may be followed only by these:
| Section | Bars as written | May be followed by | Plays at most |
|---|---|---|---|
intro | 1–4 | introB | |
introB | 5–8 | verse1 | |
verse1 | 9–12 | verse1b | twice |
verse1b | 13–16 | build1, verse1 | |
build1 | 17–20 | drop1 | |
drop1 | 21–24 | drop1b | |
drop1b | 25–28 | drop1c, drop1b | twice |
drop1c | 29–32 | break, drop1b | |
break | 33–36 | verse2 | |
verse2 | 37–40 | verse2b | twice |
verse2b | 41–44 | build2, verse2 | |
build2 | 45–48 | drop2 | |
drop2 | 49–52 | drop2b | |
drop2b | 53–56 | drop2c, drop2b | twice |
drop2c | 57–60 | outro, drop2b, break | |
outro | 61–64 | (the end) |
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.
After the second buzz Jev may end the song, go round drop 2 again, or have
the store slam the door once more. Builds lead only into their drop, and
the break leads only to the wait. These rules are code (walk), not
Jev: each request offers Jev only the sections allowed next that can still
reach the outro by the cap. The written order is always allowed, and it
is what plays when Jev can't be reached. The cap is 24 sections (about
3:12).
The parts. Each question says what the part is and where it plays as
written, naming sections by their keys; Jev sets each one's level: out
(the section works without it), back (it colours the section) or
full (it carries the section). Each question stands alone, judged
against the section just decided: Jev answers every question in a request
independently, so no question may ask it to weigh one part against another.
The answer is Jev's probability-weighted score: under 0.5 the part is
silent, and above it the part's velocity is scaled by the score (half at
back, whole at full). Each part plays on its own orbit, named for its
question (orbit('harpsichord'), …), so the meter hears it alone. A part
keeps its own masks, so each line is still said on the bar the structure
table gives it, and the "Yes.", the clicks and the harpsichord still step
back while Data speaks.
The story lines always play at full level, like the ending (the last
chord, "Your loan has expired.", the chirp): etvlog, etvshould,
etv429, etvread, etvvolumes and etvdenied. Every joke rests on
them, so Jev cannot take them out. Jev levels only Data's three film
reactions: etvcurious, etvintriguing and etvofcourse. A missing
answer plays the parts as written at driving.
The transitions. Jev also picks how the song moves into each section,
played over the last bar of the section before it, with the next
section's answer (.early(1)). Each move suits some changes and not
others, and Jev is offered only the moves that suit the change at hand
(rules in code, allow), sampled from its probabilities:
- cut: straight in. Anywhere.
- fill: an electro fill (snare and toms) over the last half bar, into a verse or a build. It plays only if the drums are in, at the level of the section being left.
- riser: white noise swelling up over the last bar, into a build or a drop. Not out of a build, which already rises, and never out of the break or verse2, where Data is still speaking.
- dropout: the door. Every part's notes stop for the last beat, a 429's worth of silence before the section hits, into the break, a drop's first section (drop1, drop2) or the outro. A note already ringing (a held violin note, a long vocal) rings on through it, and so does the build's snare roll, whose last beat is the build's; nothing new starts. The outro keeps its last beat.
Without an answer it is a cut.
A little chance. The section is sampled from Jev's probabilities at
temperature 0.7 (sample), so two plays of the song can take different
paths; the strip shows Jev's top pick beside the one sampled.
Energy is a four-step ladder that scales every part's velocity together, on top of the part levels, so the mix keeps its balance: held back 0.55, steady 0.8, driving 0.95, all out 1.
- Bars 1–4 always play as written.
- Every request carries the song's state, everything played so far, how
loud each finished section and part measured in the browser, and the
🔥/😴 reactions from the listener's tab.
formJev's requests carry the form: the section playing, which may come next and how many are left before the cap.djJev's carry the section just decided, the section playing and how many are left, and a history in which each row names the section it was; a row that played its fallbacks says "(fallback)", so it does not read as Jev's choice. - A section plays its own bars, so a repeated drop buzzes the same way and a repeated break slams the same door.
- This relaxes the constraints below that the song plays once in a fixed order and never varies by chance: the arrangement varies with Jev's choices, which are judgments, with a little sampled chance in the form and the transitions.
Constraints
-
The mix peaks at or under -1 dBFS: superdough has no limiter. The drums sit 8 dB down (measured 10 dB over the voices, and the source of the peak), and a master level of .8 takes the rest.
-
Samples from
samples/viasamples('jev-samples/strudel.json'); drums fromgithub:tidalcycles/dirt-samples; synths are built in. -
Sections are absolute-cycle masks, so playback must start from stopped.
-
Every mask is 64 steps.
-
Build ramps rise across all four bars (
.slow(4), and the builds start on cycles 16 and 44, both multiples of four).