{
 "what": "The jams player at https://miniphim.minomobi.com/jams/ as text. One pattern for every form and genre; the same address on the page plays it.",
 "route": "/api/play/<track|wander>/<garden|jazz|electronica>/<seed>",
 "query": {
  "from": "wander only: the first phrase to return, 0 up to 1000 (default 0; about 4.7 hours in at 112 bpm. The walk is computed from its start on every call, so the cap keeps a call near 60 ms of CPU)",
  "n": "wander only: how many phrases, 1 to 64 (default 4). A phrase is 8 bars, 32 beats.",
  "drift": "1 (default) lets the walk change one part's instrument one phrase in three, as the page does; 0 holds them",
  "ride": "jazz: swing ratio 1 to 3.5 (default 2.5)",
  "format": "json (default), abc (melody in ABC notation, text/plain) or text (note names, one phrase a line)",
  "<part>": "an instrument (organ, pluck, bell, reed, kick, strings) or off, as on the page, e.g. ?bass=pluck"
 },
 "units": "times in beats of 4/4 from the start of the returned passage (t_abs from the start of the walk); pitch in MIDI, 60 = C4",
 "try": [
  "https://miniphim.minomobi.com/api/play/track/jazz/5",
  "https://miniphim.minomobi.com/api/play/wander/garden/1?n=8&format=text",
  "https://miniphim.minomobi.com/api/play/wander/electronica/3?from=100&n=2&format=abc"
 ],
 "sameness": "The page writes tunes with the Rust (wasm); this route uses JS twins. The score twin matches on seeds 0..1,000,000; the wander twin on 1,000,000 phrases (1,000 seeds x 1,000, drift draws between). The page's Events link is the record of what it played; this is the prediction.",
 "source": "house/api/play.mjs, built by shelf/play/build.mjs"
}