This is nice, but I have no idea what to do with it. You could probably quite easily also implement choice of different equal temperament tunings. See e.g. https://en.wikipedia.org/wiki/19_equal_temperament and http://microtone.isans.net/ . Note that SoundZoom already implements 12, 24, 36, 48 and 144 tone equal temperament tunings. :)
The first idea for this project was to explore the relationships between linear isomorphism and microtonality and see how such a keyboard layout can add to microtonal modes (i.e patterns, intervals etc.), btw it makes total sense to include other tunings,
Looks and works great. I would put in some control over sustain, without it melodies drown in cacophony. The easiest way would be implementing ASDR envelope where key release triggers R phase.
When I set up isomorphic keybindings in music apps I usually aim to cover the entire alphanumeric section of the keyboard. It allows me to play passages both vertically and horizontally. This is good, though, it's a good use of isomorphic behavior.
Yes that's right. I've seen a few other apps like this. For this version, I wanted to focus on the linear aspect of the keyboard (even though it's not quite linear). Would be good to have the option though. It shouldn't be too difficult to code.
The violin voice doesn't seem to work for me (Firefox, Linux). Note that the browser console shows some syntax errors when loading the page. Chrome works, regardless of the errors.
Also, the help page looks a bit bad on both browsers.
That's a Firefox feature, please disable it in settings (maybe you accidentally enabled it?)
Regardless, the website should probably capture the keys instead of letting that happen, I'm not well-versed in JS DOM events enough to know exactly what has to be changed, but, IIRC the callback function needs to return false.
I can tell the difference at 12. There's a flash test at http://jakemandell.com/adaptivepitch/ and the (probably heavily sample-biased) histogram at the end suggests 10-20% of people can't differentiate 1/4 of a semitone and 60% ish can't differentiate 1/12.
Also, after selecting a voice, the voice dropdown should blur / lose focus, because I tried playing the keyboard with my "G" key and it jumped right back to Grand Piano on the first note.
Also, the help page looks a bit bad on both browsers.
Firefox.
Regardless, the website should probably capture the keys instead of letting that happen, I'm not well-versed in JS DOM events enough to know exactly what has to be changed, but, IIRC the callback function needs to return false.