# chillwave audio-only chillwave / ambient tracks built bottom-up from AC instruments. one AC vision per track, compressed to a slow melodic theme over a noise-bed of waves and filter sweeps. opens on **explore** as the first sub-format — mysterious, exploratory chillwave with literal ocean waves, slow filter sweeps, and bubble textures. future sub-formats (downtempo, drone, vaporwave proper) land alongside if and when they earn a finished track. ## format spec — explore - **length**: ~1:30 (sketch edit). canonical chillwave is 4–6 minutes; we compress while keeping the slow-burn arc intact - **tempo**: 70 BPM (range 60–80), often felt in half-time so the perceived pulse is ~35 - **key**: minor pentatonic — A minor / E minor / D minor by default - **structure**: tide-in (8) → drift 1 (16) → swell (8) → drift 2 (16) → tide-out (8) bars - **bed**: - **ocean bed** — pink noise low-passed by a ~0.12 Hz LFO (~8 s wave period) with a slow tremolo - **filter sweeps** — white noise low-passed by a 0.04–0.08 Hz LFO sweeping 200 Hz → 6 kHz over ~12–25 s - **bubbles** — short descending sine blips (1500 → 400 Hz, ~80–150 ms), sparse, random pan - **pad** — soft sine pad (fundamental + octave + fifth), slow attack, long release - **bells** — sinebells melody from the .np score, sparse, far back in the mix - **vocal**: optional — jeffrey-pvc whispered fragments only (not sung, not rapped). spoken-word reverb-soaked. instrumental tracks are valid by default - **output**: single mp3 per track in `out/.mp3`. no video ## source → track each track corresponds to one AC vision or moment from the platter, same as big-pictures and dance — but compressed to a *slow melodic theme* set into an ambient noise-bed. ``` → pop/chillwave/.np (notepat score: melody + section markers) → pop/chillwave/.txt (optional spoken-word fragments) → pop/chillwave/out/.mp3 (mix) ``` the `.np` file carries the **bell melody** as the primary content — every note is a placeholder syllable (`_`) unless a vocal fragment is being scored. ## arrangement notation same as the dance lane — section markers as comments tell the bed builder when to bring waves in, when to open the filter, when to drop the bubbles: ``` # tide-in 8 [waves-fade-in, no-bells] A4:_*4 E4:_*4 # drift 1 16 A4:_*2 C5:_*2 E5:_*2 D5:_*2 ... # swell 8 [filter-sweep-open, bubbles-dense] ... ``` bracket flags pass through to `bin/render.mjs` to gate which bed layers fire on each section. unflagged sections inherit the lane defaults. ## pipeline `bin/render.mjs` — single-command renderer. mirrors `melody-bells.mjs` but layers the ocean bed, filter sweeps, bubbles, and pad alongside the bell line. ``` read .np score → render bells (sinebells, slow + sparse) → render pad (sinepower pad voice, slow attack) → render waves (pink noise + LFO LP) → render sweeps (white noise + slow LFO LP) → render bubbles (descending sine blips) → mix + peak normalize → mp3 ``` cached per step by content hash so reruns cost $0 unless inputs change. ## tracks - **explobeach** — slow A-minor pentatonic wander, lots of waves, lots of sweeps, lots of bubbles. mysterious exploration --- *maintained by @jeffrey*