SCHEMA GUARD (must follow exactly)
METER: 4/4 TITLE Bars 15–17 — Loop background + accented foreground stabs (continuation of Bars 10–14 plan). INSTRUMENTS (EXACT) Use these six instruments and no others: [alto_flute, bass_clarinet, trumpet, violin, cello, double_bass]. Monophony per instrument (no chords). ### SCHEMA GUARD (must follow exactly) * Allowed ops: `"add","subtract","mul","div"` (spelled exactly). * All args are unsigned integers. To decrease a stream use `"subtract"`, never `add -k`. * Every dimension must include at least one transform. For constants, use `[{"name":"add","args":[0]}]`. * Valid `feature_name` values (only): `time, duration, pitch, velocity, numerator, denominator`. * For every feature, include `numerator` and `denominator` dimensions with transforms `[{"name":"add","args":[0]}]`, and set seeds to 4 and 4. * Return only a JSON object: `{"bars":[ <bundle for bar 15>, <bundle for bar 16>, <bundle for bar 17> ]}`. Each bar is a complete single-bar bundle with `bundle_name`, exactly six `features`, a `run_plan` of six entries (names match), and `created_feature_names`. No extra keys, no prose. CONTINUITY & SOURCE MATERIAL (INTERNAL, DO NOT PRINT) This section continues the Bars 10–14 technique (background loop + foreground stabs) adapted for three 4/4 bars (ticks per bar = 16). Keep recognizable continuity with your Bars 10–14 plan (motivic cells, interval flavor, registral roles), but vary details so it feels like a new paragraph. ROLE SPLIT (GUIDE, NOT HARD LAW) * Background loop layer (quiet, continuous-ish): double_bass + cello (+ optional bass_clarinet). * Foreground stabs (short, accented, color): trumpet, violin, alto_flute (+ optional bass_clarinet sharing stabs sparingly). REGISTER TARGETS * double_bass: LOW anchor * cello: LOW↔MID, bass_clarinet: LOW↔MID * violin: MID, alto_flute: MID↔HIGH, trumpet: MID↔HIGH Avoid adjacent-instrument unisons on shared onsets; sparse octave doublings are fine. DYNAMICS * Background loop around mp ≈ 48 (gentle, steady). * Foreground stabs around mf–f ≈ 92 (clearly brighter than the loop). Small per-note deviations (±6) allowed for shape; no big swells. When lowering velocity, use `"subtract"` (e.g., `subtract 2/4/6`)—never `add -k`. PT REALIZATION — PRECISE TIMING & DURATIONS (applies to each of Bars 15, 16, 17) Grid: 1/16 ticks; bar length = 16. Monophony is strict (no overlaps per instrument). 1. TIME * Use only `{"name":"add","args":[k]}` with k ∈ {1,2,3,4}. No zeros. Onsets strictly increase. * Background loop parts: choose an irregular cell (e.g., 2–3–1–2 …) producing N ∈ [5..9] onsets spread across the bar with ≤ 1/3 aligning with other instruments. * Foreground stabs: N ∈ [2..5] onsets per bar per stab-instrument; prefer syncopation/off-beats. 2. DURATION * Realized values must be in {1,2,3,4}. * Let `s_min` be the smallest time step you used for that instrument in the bar; enforce MAX(duration) ≤ s_min. * Background loop: mostly 2–4 ticks (occasionally 1), never exceeding the gap to the next onset. * Foreground stabs: 1–2 ticks, never exceeding the gap. * You may use `mul/div` but only with args in {2,3,4}. No 0 or 1 for `div/mul`. 3. PITCH * `add` / `subtract` only (no mul/div). * Stay within hard MIDI range; bias to the register targets above. * Background loop: small moves (±1, ±2) with rare corrective leaps (±5, ±7, ±12) that immediately return to stepwise motion; net drift per bar in [−2..+2]. * Foreground stabs: choose color tones that form crunchy, non-triadic verticals against the loop; avoid exact pitch reuse on consecutive stabs for the same instrument. * If decreasing pitch, use `"subtract"`—never `add -k`. 4. VELOCITY * Background loop: near 48 with small stepwise changes (use `add`/`subtract` 1–4). * Foreground stabs: near 92; brief terraces or tiny arcs allowed; keep clearly louder than the loop. 5. METER SEEDS (every feature, every bar) * Seeds: `numerator=4`, `denominator=4`. * Transforms for both are exactly `[{"name":"add","args":[0]}]`. STRUCTURE OF THE RETURN Return one JSON object with `"bars":[ … ]` containing three bars (15, 16, 17). Each bar is a full six-instrument bundle (4/4) following the schema guard and constraints above. VALIDATION * Per bar & per instrument: monophony (no overlaps) and no chords. * Time: `add` only in {1,2,3,4}, strictly increasing; last note ends ≤ tick 16. * Duration values in {1,2,3,4}; MAX(duration) ≤ s_min. * Pitch add/sub only; within hard ranges. * Velocity ranges respected (loop ≈48; stabs ≈92), with only unsigned args and `subtract` for decreases. * Adjacent-instrument unisons avoided on shared onsets; sparse octaves OK. --- This keeps your musical spec intact, but explicitly forbids the parser-breaking patterns (negative args, empty transform arrays, missing meter transforms) and nails the wrapper shape for multi-bar output.
fill the variables
This prompt has 4 variables. Pro fills them into a ready-to-paste prompt for you — no manual find-and-replace.
{"name":"add","args":[0]}{"name":"add","args":[k]}{1,2,3,4}{2,3,4}
Unlock with Pro →when to use it
Community prompt sourced from the open-source GitHub repo sunsetsobserver/chain-of-thoughts (no explicit license). A "SCHEMA GUARD (must follow exactly)" style prompt — adapt the placeholders and specifics to your task. Imported as-is and not independently retested here, so check the output before relying on it.
tags
languagecommunitygeneral
source
sunsetsobserver/chain-of-thoughts · no explicit license