SPEC.mdpreviewSPEC.mdsource266 lines · 16.2 KB · raw

title: TOO CHEAP TO METER theme: jev status: made song: song.js measured: {"date":"2026-09-25","song":"9622a5d6ded9","total":{"loudnessDbfs":-20.4,"peakDbfs":-1},"parts":{"bass":{"loudnessDbfs":-28.1,"peakDbfs":-17.5},"drums":{"loudnessDbfs":-33.2,"peakDbfs":-7.9},"kick":{"loudnessDbfs":-23.4,"peakDbfs":-8.9},"stabs":{"loudnessDbfs":-30.8,"peakDbfs":-10.5},"vocals":{"loudnessDbfs":-27.2,"peakDbfs":-5}},"sections":{"1-8":{"total":{"loudnessDbfs":-22.3,"peakDbfs":-8},"parts":{"kick":{"loudnessDbfs":-23,"peakDbfs":-8.9},"stabs":{"loudnessDbfs":-30.5,"peakDbfs":-10.6}}},"9-16":{"total":{"loudnessDbfs":-19,"peakDbfs":-1.3},"parts":{"bass":{"loudnessDbfs":-26.7,"peakDbfs":-17.5},"drums":{"loudnessDbfs":-31.9,"peakDbfs":-8},"kick":{"loudnessDbfs":-23,"peakDbfs":-8.9},"stabs":{"loudnessDbfs":-30.8,"peakDbfs":-11.2},"vocals":{"loudnessDbfs":-23.6,"peakDbfs":-5}}},"17-24":{"total":{"loudnessDbfs":-19.1,"peakDbfs":-1.7},"parts":{"bass":{"loudnessDbfs":-26.7,"peakDbfs":-17.5},"drums":{"loudnessDbfs":-31.9,"peakDbfs":-7.9},"kick":{"loudnessDbfs":-23,"peakDbfs":-8.9},"stabs":{"loudnessDbfs":-30.5,"peakDbfs":-10.5},"vocals":{"loudnessDbfs":-23.9,"peakDbfs":-5.8}}},"25-32":{"total":{"loudnessDbfs":-20.8,"peakDbfs":-2},"parts":{"bass":{"loudnessDbfs":-26.7,"peakDbfs":-17.5},"drums":{"loudnessDbfs":-31.7,"peakDbfs":-8.1},"kick":{"loudnessDbfs":-23,"peakDbfs":-8.9},"stabs":{"loudnessDbfs":-30.9,"peakDbfs":-12.4},"vocals":{"loudnessDbfs":-82,"peakDbfs":-51.1}}},"33-40":{"total":{"loudnessDbfs":-20.8,"peakDbfs":-1.9},"parts":{"bass":{"loudnessDbfs":-26.7,"peakDbfs":-17.5},"drums":{"loudnessDbfs":-31.8,"peakDbfs":-8.1},"kick":{"loudnessDbfs":-23,"peakDbfs":-8.9},"stabs":{"loudnessDbfs":-30.8,"peakDbfs":-11.9},"vocals":{"loudnessDbfs":-194.6,"peakDbfs":-153.7}}},"41-48":{"total":{"loudnessDbfs":-19.5,"peakDbfs":-1},"parts":{"bass":{"loudnessDbfs":-26.7,"peakDbfs":-17.5},"drums":{"loudnessDbfs":-31.9,"peakDbfs":-8},"kick":{"loudnessDbfs":-23,"peakDbfs":-8.9},"stabs":{"loudnessDbfs":-30.8,"peakDbfs":-10.8},"vocals":{"loudnessDbfs":-25.2,"peakDbfs":-5}}},"49-56":{"total":{"loudnessDbfs":-19,"peakDbfs":-1.6},"parts":{"bass":{"loudnessDbfs":-26.7,"peakDbfs":-17.5},"drums":{"loudnessDbfs":-31.9,"peakDbfs":-8},"kick":{"loudnessDbfs":-23,"peakDbfs":-8.9},"stabs":{"loudnessDbfs":-30.6,"peakDbfs":-11.3},"vocals":{"loudnessDbfs":-23.9,"peakDbfs":-5.8}}},"57-64":{"total":{"loudnessDbfs":-24.6,"peakDbfs":-8.3},"parts":{"bass":{"loudnessDbfs":-51.3,"peakDbfs":-24},"drums":{"loudnessDbfs":-75.8,"peakDbfs":-44.3},"kick":{"loudnessDbfs":-25.9,"peakDbfs":-8.9},"stabs":{"loudnessDbfs":-30.3,"peakDbfs":-10.7},"vocals":{"loudnessDbfs":-84.2,"peakDbfs":-53.5}}}}} critic: date: 2026-09-25 model: jev-1.13.0 method: rubric-1 art: 0.59 artRuns: [0.59, 0.6, 0.59] criteria: hook: 2.9 development: 3.1 structure: 3 concept: 3.6 originality: 3.1 craft: 2.1 ideas:

  • date: 2026-09-24 model: claude-opus-5-5 harness: claude-code prompt: "Research Jev's real use cases; jab at people using Jev where deterministic code would do better, such as game bots." brief: "French house at 124 bpm. A vocoder sings the price list: "input tokens, forty-two per billion… output tokens: FREE". The chorus answers with "It's free real estate". The verses list what Jev is actually good at: "route the ticket, flag the jailbreak, gate the sudo". Filtered disco chords, and vocals in the verses and hook only." revisions:
  • rev: 1 date: 2026-09-24 model: claude-opus-5-5 harness: claude-code prompt: "French house at 124 bpm. A vocoder sings the price list: "input tokens, forty-two per billion… output tokens: FREE". The chorus answers with "It's free real estate". The verses list what Jev is actually good at: "route the ticket, flag the jailbreak, gate the sudo". Filtered disco chords, and vocals in the verses and hook only." output: null # overwritten by rev 2 art: 0.55 artRuns: [0.55, 0.56, 0.55]
  • rev: 2 date: 2026-09-24 model: claude-opus-5-5 harness: claude-code prompt: "Let Jev arrange the song as it plays. Split it into named parts and name each 8-bar section with the sections allowed to follow it; at every section Jev picks the next section, the move to play it with (as written, no drums, drums and bass, or stabs and drums), and how intense it is, and ends the song by choosing the outro, with a cap of 16 sections. Tell Jev the tempo, key, chords, lyrics and everything played so far, and how the listener reacted. Without Jev it plays as written." output: null # overwritten by rev 3 art: 0.62 artRuns: [0.61, 0.62, 0.62]
  • rev: 3 date: 2026-09-24 model: claude-opus-5-5 harness: claude-code prompt: "Let Jev set each part (stabs, kick, claps and hats, bass, vocals) to out, back or full per section, and choose how the song moves into each section (cut, clap-roll fill, riser, or a one-beat dropout)." output: null # overwritten by rev 4 art: null # not scored: the song.js before rev 4 was recorded is rev 2's, not rev 3's
  • rev: 4 date: 2026-09-25 model: claude-opus-5-5 harness: claude-code prompt: "Stop the mix clipping: peaks under -1 dBFS with a master level, the kick down and the stabs up to within about 8-10 dB of it, so the intro is carried by the sweep. One riser into the drop, written on the last two beats of bar 24 after "It's free real estate" ends, and Jev offered only the transitions that suit each section. Every path sings verse 2 before the outro. The ending always plays: the outro's kick through bar 60 and its stabs are not Jev's. Re-render "Gate the sudo command" so it reads back as sudo, dry and over the kick. A real crash on 25, not a ride. Ask Jev only about the parts a section has; vocals back or full in the verses and hooks, never out. Describe drop 2 and the energy steps truthfully. The fill replaces the backbeat clap in its bar. Credit the meme to Tim Heidecker." output: song.js art: 0.59 artRuns: [0.59, 0.6, 0.59]

TOO CHEAP TO METER — spec

song.js is generated from this spec. Change the spec first, then the song.

Intent

A celebration of Jev's pricing and of the jobs it is actually built for. Facts it rests on (~/brains/personal/technology/artificial-intelligence/jev/jev.md, from TypeSafe's launch post): input tokens cost $42 per billion ("$0.042 / MTok"), output tokens are "FREE (too cheap to meter)", and a response takes 70–500 ms. TypeSafe's named use cases: classification and routing, monitoring LLM agents for jailbreaks, model routing, and safety review of commands.

Style

  • Filter house, 124 bpm, A minor: Am7 – D9 – Gmaj7 – Cmaj7, two bars each.
  • Chopped disco chord stabs (supersaw) under a slow low-pass sweep that opens over each 8-bar phrase; four-on-the-floor kick, open hats on the off-beat, claps on 2 and 4; a pumping octave bassline; a crash (hh27:1) on the drop's downbeat.
  • The mix peaks at or under -1 dBFS at the loudest Jev can pick (every part full, energy all out), with a master level on the final stack: superdough has no limiter. The stabs sit within about 8-10 dB of the kick, so the intro is carried by the opening sweep, not a kick solo. The open stab layer in the drop keeps some resonance (lpq(3)) and sits a touch above the swept layer, so the drop does not dip when the filter opens.

Structure

64 bars (~2:04).

BarsSectionContents
1–8IntroFiltered chord stabs and kick; filter opens
9–16Verse 1Vocoder: the price list
17–24Hook"Output tokens: free" → "It's free real estate", call and response, one pair per chord; the last call is "Too cheap to meter"; the white-noise riser on the last two beats of bar 24, after the last "It's free real estate" ends
25–40Drop 1Instrumental: filter fully open, bassline, claps; crash (hh27:1) on 25
41–48Verse 2Vocoder: what Jev is for
49–56HookAs before
57–64OutroFilter closes over four more bars of kick; kick stops after bar 60, the rest after 62; last stab on 63 rings

Vocals

  • Vocoder, one line per 2 bars, each on its chord:
    1. "Input tokens, forty-two per billion" — Am7
    2. "Output tokens: free" — D9
    3. "Seventy to five hundred milliseconds" — Gmaj7
    4. "Too cheap to meter" — Cmaj7
    5. "Route the ticket" — Am7
    6. "Flag the jailbreak" — D9
    7. "Gate the sudo command" — Gmaj7
    8. "Too cheap to meter" — Cmaj7 (reuses line 4)
  • Hook: "Output tokens: free" rendered on each chord it lands on (Am7, D9, Gmaj7), answered each time by the meme; the fourth call is line 4.
  • Meme: "It's free real estate": Tim Heidecker as Jim Boonie, "Free House For You, Jim", Tim and Eric Awesome Show, Great Job! (2009), answering "Output tokens: free" in each hook.

Line 7 was "Gate the sudo". Five renders of that short line, with different spellings and dry mixes, all came back from whisper as other words ("Keep this here though", "See you later"), so the lyric grew a word: "Gate the sudo command". That render still read back as "Gate the PSEUDO command" dry and "HATE the pseudo command" over the kick, so it was re-rendered (2026-09-25) spelled "Gate, the sue-doo command": the comma gives "Gate" room and the spelling keeps "sudo" from turning into "pseudo". A render of this line is accepted only when whisper.cpp (ggml-base.en) reads back "gate the sudo command" both dry and over the four-on-the-floor kick.

Every vocal section starts on a multiple of 8 bars, so each line lands on the first bar of its chord (the harmony cycles every 8 bars).

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):

  • formJev asks one choice: which section plays next, among the song's eight 8-bar sections.
  • djJev asks, once that is decided, a level per part (the chord stabs, the kick, the claps and hats, the bass, the vocals: out, back or full, where the section has that part), a choice of how the song moves into the section, 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 8 bars (.every(8, …)), 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 kick is its own part, apart from the claps and hats, so Jev can take out the four on the floor alone and bring it back: the filter-house drop.

The form. A section may be followed only by these:

SectionBars as writtenMay be followed by
intro1–8verse1
verse19–16hook1
hook117–24drop
drop25–32drop2
drop233–40verse2
verse241–48hook2
hook249–56outro, drop, verse1
outro57–64(the end)

Every path sings verse 2 before the outro: the outro follows only hook 2, which follows only verse 2, and the drop's second half leads only to verse 2. The brief's "route the ticket, flag the jailbreak, gate the sudo" is the song's point, so no arrangement may skip it.

These rules are code (walk), not Jev: each request offers Jev only the sections allowed next. The written order is always allowed, and it is what plays when Jev can't be reached. The song ends when Jev picks the outro, whose closing filter and last stab always ring out; at 16 sections (about 4 minutes at 124 bpm) the outro is forced. Sections stay on the 8-bar grid, so the stab filter still opens over each phrase wherever a section lands.

The parts. Each part's level is a choice of three: out (silent for the section), back (half velocity, about 6 dB under the rest of the mix) and full (as written). Each question says what the part is and where it plays as written, so Jev can drop parts to build tension or make space, pull them back to let others speak, and bring them in full for the payoff. A part keeps its own masks, so vocals still appear only where the structure table puts them.

Jev is asked only about the parts a section has; in the verses and hooks the vocals are back or full, never out, since the words are the song. A part the section does not have is set to full in code and not asked (the history marks it forced, not answered): the vocals outside the verses and hooks, the claps, hats and bass in the intro and outro, and every part in the outro, which is all ending. When Jev can't be reached, every part plays in full.

Each part plays on its own orbit, named for its question (stabs, kick, drums, bass, vocals), so the browser's meter hears each one alone; the ending's stabs and kick play on the stabs and kick orbits, and the transitions on their own, into, since no part's level controls them.

The ending always plays: the closing filter over the outro's stabs, the kick through bar 60 and the last stab. The outro's parts are not Jev's, so the song always finishes as written.

Into the next section. Over the last bar of each section, the song plays how Jev chose to move into the next one: a straight cut, a fill (a clap roll doubling up into the first beat, replacing the backbeat clap in its bar), a riser (a lift into a section that has none of its own: the song's white-noise riser sweeping up), or a dropout (every part stops for the last beat). The last bar reads the next section's answer, so the transition fits where the song is going. The outro has no next section, so nothing plays over its last bar and its last beat is never cut. When Jev can't be reached, it is a cut.

Which transitions suit which section is code (allow), so Jev is offered only those, and a cut is always one of them:

IntoOffered
a versecut, fill
a hookcut, fill, riser
dropcut, fill, dropout
drop2cut, fill
outrocut, dropout

The drop's riser is written: hook 1 ends on it, on the last two beats of bar 24, after the last "It's free real estate" ends, so a second riser is never offered into the drop to stack on it and sweep over the meme.

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. A close call between sections is where sampling matters most, so there is no confidence threshold: an unsure Jev still picks, and the written order plays only when Jev can't be reached.

Energy is a four-step ladder. It scales every part's velocity together, so the mix keeps its balance: held back is about 5 dB down (0.55), steady about 3 dB down (0.7), driving just under as written (0.85, about 1.4 dB down) and all out as written (1). No filter is added: the stabs, bass and riser already set theirs.

  • Bars 1–8 always play as written.
  • Each request tells Jev the song's state (subject, tempo, key, chords, lyrics), every answer so far, where the song is in its form (the sections allowed next, and those left before the cap), how loud each finished section measured in the browser, and the 🔥/😴 reactions from the listener's tab.
  • 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.

Constraints

  • Plays once from bar 1 and ends; never loops. Sections are absolute-cycle masks, so playback starts from stopped.
  • Structured: patterns vary by section, never by chance. (Random chopping read as noise on the first song.)
  • No sustained background pad; harmony comes from rhythmic parts.
  • Vocals only where the structure table puts them; drops are instrumental.
  • Meme clips are the real audio (myinstants, or YouTube via yt-dlp), cut at word timings measured with whisper.cpp. Vocoder lines are made with speak + vocode on the chord they land on, and checked by transcribing the result with whisper.cpp. Everything lands in samples/<sound>/ with a provenance row in samples/README.md.
  • Samples load from samples('jev-samples/strudel.json'); drums from github:tidalcycles/dirt-samples.