dance #
audio-only dance tracks built bottom-up from AC instruments. one AC vision per track, compressed to a 4-bar melodic theme over a four-on-the-floor bed.
opens on trance as the first sub-format. future sub-formats (house, techno, dnb, hyperpop) land alongside if and when they earn a finished track.
format spec — trance #
- length: ~1:30 (radio edit). canonical trance club edits are 6–8 minutes; we compress without sacrificing the breakdown → build → drop arc
- tempo: 138 BPM, 4/4 (range 132–142)
- key: minor — A minor / E minor / F# minor by default
- structure: intro (8) → break 1 (16) → build 1 (8) → drop 1 (16) → break 2 (8) → build 2 (4) → drop 2 (16) → outro (4) bars
- bed: kick (4-on-the-floor) + off-beat sub bass + closed hat + supersaw lead + saw pad, sidechained
- vocal: jeffrey-pvc — one-shot hook phrase in the drop + spoken word in break 1. not rapped, not fully sung
- output: single mp3 per track in
out/<slug>.mp3. no video
source → track #
each track corresponds to one AC vision from the platter, same as the big-pictures lane — but compressed to a melodic theme rather than a rap hook.
papers/arxiv-<slug>/<slug>.tex
→ pop/dance/<slug>.txt (hook phrase + breakdown spoken word, if any)
→ pop/dance/<slug>.np (notepat score: theme + arrangement markers)
→ pop/dance/out/<slug>.mp3 (mix)
the .np file carries the supersaw theme as the primary content — every note in the theme is a syllable-free pitch event. when vocal lines exist, they get their own lines in the file.
arrangement notation #
the .np file gets section markers as comments, so the bed builder knows when to drop the kick, open the filter, drop the snare roll:
# intro 8
g g g g g g g g
# break 1 16
A4:- E5:- D5:- C5:- ...
# build 1 8 [riser, snare-roll, kick-out-last-bar]
...
# drop 1 16 [full-mix]
A4 E5 D5 C5 ...
# break 2 8
...
bracket flags tell recap/bin/trance.mjs which engine pieces to wire in for each section. unflagged sections inherit the default for their block type.
pipeline (planned) #
recap/bin/trance.mjs — mirrors the trap.mjs cli pattern. cached per step.
read paper
→ distill one AC vision → 4-bar theme + (optional) hook phrase
→ write .np score with arrangement markers
→ render trance bed (recap/bin/trance.mjs)
→ vocal stem (if any): /api/say with jeffrey-pvc
→ WhisperX align (only if vocal exists)
→ sidechain compress pad/bass under the kick
→ mix (bed + vocal)
→ mp3
the one new voice #
trance needs a supersaw — 5–7 detuned sawtooth voices in unison. it doesn't exist in AC yet. landing this voice is the prerequisite for any track in this lane. likely path: extend recap/bin/'s synth helpers (or add pop/dance/synths/supersaw.mjs) with a parameterized { voices, detuneCents, mix } saw stack.
vocal source #
trance vocal isn't rap. jeffrey-pvc's calm/descriptive register fits the breakdown spoken word and the one-shot hook drop. WhisperX alignment is only used when there is a vocal — instrumental trance tracks skip the alignment step entirely.
tracks #
none yet. see STUDY.md for the genre study + arrangement law. first candidate paper TBD.