https://github.com/fritzo/rationalkeyboard
A browser app to demonstrate harmony in just intonation.
https://github.com/fritzo/rationalkeyboard
audio harmony html5-audio javascript
Last synced: 11 months ago
JSON representation
A browser app to demonstrate harmony in just intonation.
- Host: GitHub
- URL: https://github.com/fritzo/rationalkeyboard
- Owner: fritzo
- Created: 2012-01-09T02:38:19.000Z (over 14 years ago)
- Default Branch: master
- Last Pushed: 2015-12-09T01:28:09.000Z (over 10 years ago)
- Last Synced: 2025-04-30T13:19:59.706Z (about 1 year ago)
- Topics: audio, harmony, html5-audio, javascript
- Language: JavaScript
- Homepage: http://fritzo.org/keys
- Size: 240 KB
- Stars: 45
- Watchers: 3
- Forks: 11
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# The Rational Keyboard
A browser app to demonstrate harmony in just intonation.
http://fritzo.org/keys
The Rational Keyboard is a browser app to play with harmony on the rational number line.
Imagine a piano with infinitely many keys,
[one for each rational number](http://en.wikipedia.org/wiki/Just_intonation),
and the keys move around and resize based on
[what sounds good](http://en.wikipedia.org/wiki/Consonance_and_dissonance),
using some
[really cool math](https://www.google.com/search?q=arnold+tongues).
Audio is synthesized in background
[Web Workers](https://developer.mozilla.org/en-US/docs/Web/Guide/Performance/Using_web_workers)
and played with
[HTML5 Audio objects](https://developer.mozilla.org/En/HTML/Element/Audio),
and the interactive visualizations use a
[2D HTML5 Canvas](https://developer.mozilla.org/en/HTML/Canvas).
Check out the source at [github](http://github.com/fritzo/rationalkeyboard),
or just grab the [audio encoder](http://github.com/fritzo/wavencoderjs) for your own apps.
Audio seems to work best in recent Firefox and Chrome releases,
but HTML5 audio is still a young technology.
Sometimes pausing helps to unglitch audio.