Tree @main (Download .tar.gz)
README.md @main — view markup · raw · history · blame
isomorphic keyboard explorer
The keyboard can be played via the computer keyboard (for the most part), or by clicking on buttons. Alternatively, an external MIDI controller can be connected via WebMIDI (Chromium-based browsers only currently). The virtual keyboard will light up the corresponding button when a note is played.
Using the dropdown menu various musical scales can be highlighted on the keyboard. The keys outlined in white make up one octave of the selected scale. The scale can be transposed to any starting note by clicking "set offset" and then playing the intended root note. Notes that are not on the scale at all are dimmed.
Next to the keyboard, there is an "interval visualizer" that shows all the keys currently pressed. The lowest note currently pressed is always shown at the bottom of the range. All other notes are shown above it (and wrapped down to the same octave as the root note if necessary). There is a tone/semitone scale behind the notes, and each note shows the offset in semitones from the root note next to it.
Whether by pressing keys or clicking buttons, the keyboard sends out MIDI Note events via WebMIDI. In a compatible browser, this means that it can be used to play synths such as the following: