Monorepo for Aesthetic.Computer aesthetic.computer
README.md

gradus #

A classical two-voice /pop track — note-against-note counterpoint in D dorian, composed entirely from the pop compositional tools.

gradus — after Fux's Gradus ad Parnassum, the counterpoint treatise.

How it's built #

bin/compose.mjs generates and renders the whole piece (deterministic — fixed RNG seed, identical every run):

  • Form — Fibonacci. Phrase lengths are consecutive Fibonacci numbers (fibSequence → 5, 8, 13) laid out as an arch: 5 · 8 · 13 · 13 · 8 · 5 notes. fibPartition places one internal rhythmic stress per phrase.
  • Pitches — species counterpoint. Each phrase grows a stepwise cantus firmus, then generateFirstSpecies writes the upper voice in strict Fux first species; checkFirstSpecies verifies every phrase.
  • Voice — sinepower. Both lines render through the stacked-sine pad voice, gently spread in stereo (cantus left, counterpoint right).
  • Tempo is solved so the piece lands at ~1:24.

Files #

  • bin/compose.mjs — composer + renderer
  • gradus.mp3 — the track (~1:24)
  • gradus.cantus.np / gradus.counter.np — the two voices as scores

Run #

node pop/gradus/bin/compose.mjs