Play with variant musical scales in the browser. Pick a root note, a tuning system (equal temperament, just intonation, or 3-limit/Pythagorean), and a scale (Western modes, pentatonic scales, five traditional Chinese pentatonic modes, six Persian dastgahs, or any of 5,401 scales from the Scala archive), then tap the note buttons to hear it. Drag across the keyboard to play a slur; scroll it for more octaves than fit on screen at once.
No build step — plain HTML/CSS/JS using the Web Audio API.
python3 -m http.server 8000Then open http://localhost:8000.
Hosted via GitHub Pages from the main branch root.
scala-archive.jsonis generated from the Scala scale archive (5,401.sclfiles), created by Manuel Op de Coul and hosted by the Huygens-Fokker Foundation, freely distributed for exactly this kind of use. Regenerate it withtools/build_scala_archive.pyafter downloading and unzipping (withunzip -aa, per the archive's own instructions) a fresh copy ofscales.zipfrom that site.- The Chinese pentatonic modes and their exact 3-limit ratios, and the original keyboard/audio approach this app is built on, come from audio_fun (not included here — only the underlying data was ported, not the code).
- The Persian dastgah scale degrees are transcribed from Wikipedia's Dastgāh article, per the radif of Mirza Abdollah.