Monorepo for Aesthetic.Computer aesthetic.computer
README.md

cornerfive #

A /pop remix built around the whistlegraph "five in the corner x2" (tiktok). The whistle is the song — kick + a sine-bell "sister" line + the vocal, nothing else.

Source #

  • src/whistle.wav — the whistle stem (mono 44.1k, pulled via toolchain/whistlegraph/grab.mjs, gitignored)
  • src/whistle.analysis.json — librosa readout (tempo, onsets, the observed melody with per-note pitch + cents)

Pipeline #

node bin/sync-whistle.mjs    # beat-align + shift the whistle → src/whistle-synced.wav
node bin/cornerfive.mjs      # kick + sister bells + looped vocal → out/cornerfive.mp3

1. sync-whistle.mjs — keeps the whistle's own observed melody (no key-snapping, no WORLD resynth). Per note it uses rubberband (pitch-preserving) to:

  • beat-align — stretch each onset onto the 16th-note grid
  • shift — nudge each note into tune by its detected cents

Writes src/whistle-synced.wav + src/whistle-synced.notes.json (the melody the sister line follows).

2. cornerfive.mjs — renders out/cornerfive.mp3, 1:24 at 73.2 BPM:

  • kick — four-on-the-floor (+ a push on the "and of 3"), whole track
  • sine bells — pure-sine bell + soft octave-down sub, playing the vocal's exact melody like a "sister", read from the notes sidecar
  • vocal — the synced whistle looped end-to-end through the whole track, high-passed + bright, light reverb, sidechain-ducked under the kick
  • --raw falls back to the untouched original whistle recording

Notes #

out/ and src/*.wav are media (gitignored, reproducible from the whistlegraph URL + the scripts); the *.json melody/analysis sidecars and the code are the source of truth.