QuasiPITech Contact
Generative music

Music Atlas

Running

41 musical styles generated live in the browser, from tuning data rather than samples.

Web AudioJavaScriptPythonnumpyffmpeg
Illustration for Music Atlas
styles
41one data object each
animal sounds
36source–filter synthesis
dependencies
0one HTML file
tuning model
centsmicrotonal by default
What it is

Music Atlas in short

A single self-contained file with no dependencies, built on Web Audio. Scales and tunings are tables of cents rather than 12-tone masks, so microtonal systems come for free. A style is one data object — tempo, metre, progression, patterns — not new code. Alongside it sits a sound bestiary of animal calls modelled by how they are made.

Status

What works, and what does not

Works today
  • 41 styles as data objects: tempo, metre, progression, drum patterns
  • Tunings in cents: slendro, quarter-tone rast, naturally tuned yaman, Pythagorean
  • Plucked strings (Karplus–Strong) and FM idiophones and gamelan
  • Offline renderer in Python (numpy + ffmpeg) with a true-peak limiter
  • A bestiary of 36 animal sounds, grouped by mechanism rather than species
Not ready yet
  • Every style is a simplified model, not a recording; each carries an honest note on what was simplified.
  • Sounds outside human hearing in the bestiary are shown transposed and labelled as such.
Under the hood

What had to be got right

01

Verified without listening

A mock audio context counts events and checks every parameter for NaN and negative time. It caught a real bug: timing humanisation sometimes went below zero.

02

True peak, not sample peak

A render whose sample peak was −3.0 dBFS measured +0.4 dBFS true peak. The limiter is now driven by the inter-sample maximum.

03

Counterpoint measured

Share of contrary motion against the melody: 0 % with the parallel thirds of version 2, 58 % in version 3. Voice leading chosen to minimise movement cut total movement from 1,016 to 238 semitones.