While traveling in Vietnam, I wrote a little browser app to experiment with automated reasoning about harmony in just intonation. The resulting Rational Keyboard is kind of like a piano whose keys move around to make consonant notes & chords easy to play. One cool thing about an instrument with moving keys is that it can access all rational tones (a dense infinite set) with only a finite number of keys visible at any time.

The app currently only seems to run in Chrome (audio synthesis is a recent browser feature). If you’d like to see how it works, or help getting it working in other browsers, check out the github page or just

git clone git@github.com:fritzo/rationalkeyboard.git

Update: The app now appears to run in Firefox as well.