4 ms·
I want to say first off that this is super cool, and I really applaud you for shipping it. The tones sound pretty great on my machine, and the button pressing i
by zengid 3y ago
I want to say first off that this is super cool, and I really applaud you for shipping it. The tones sound pretty great on my machine, and the button pressing is good. I don't detect any jank or latency like I frequently do with web-audio.
That being said I have a few constructive critiques.
First is I wouldn't say it's intuitive. Having the harmonics ascending from right-to-left breaks my brain. Wait, on second look they are kind of scattered about in a somewhat random way? Why are 5 and 3 so far from each other? I might like it if this was laid out in a lattice or some kind of regular structure. I don't doubt that with practice and reading I could learn it but, IMO, if I have to read an instruction manual I'm already checked out..
Second, there needs to be some kind of indication at where I'm at in terms of the internal state of the multiplied ratios. So if I've stacked on 3 consecutive 2/3, the only feedback I get is when I hit a note.. and I might forget where I'm at in the "pitch space". You could just have a simple "stack" at the top that shows the last applied ratio, and maybe the final product or quotient next to it.
- ad8e 3y agoThanks to you asking why it's right to left instead of left to right, I have the opportunity to talk about some interesting design decisions. I agree there should be an organized pattern. For example, 1-30 lexographically. So I'll explain the hidden logic and pattern. The three necessary primes to represent on the organized lattice are 2, 3, and 5. Given a key like 16, each of these primes should be represented in its adjacent buttons, hopefully in an axis-like manner, because these are the consonant notes to it. Left of 16 is 5/4, right is 3/4, and up-down is 2 and 1/2. But why this way? Consonant pitches stay within a range - so large leaps in pitch are the least common. That means next to any number, the adjacent keys must have close by numbers. That's why the three primes 2, 3, 5, are converted to 2, 3/4, 5/4 - because these are the closest numbers to 1, after multiplying by a power of 2. Your hand has a harder time reaching vertically than horizontally. 2 is the largest of these three numbers, which is why 2x is on one of the 4 vertical directions, and 3/4 and 5/4 are on the horizontal directions. Furthermore, it means that 2x must be on the 5/4 side, not the 3/4 side - because this keeps pitch distances the smallest. There's only one remaining decision - why right to left? Your hand has an easier time turning inward than outward. And, whichever way it turns, the horizontal notes should have pitches as close as possible. Thus, 5/4 must be to the left direction. Luckily, divisors don't exist, so the fact that the 3/4 axis and 5/4 axis are on the same line - rather than 3/4 turning to 4/3 on the opposite side - is perfectly fine. So thanks to the above, the keyboard is forced to be this way, and every note is in its logical and rightful place, with no subjective choices. Except not, because there's not enough space. And because 7 and 15 can't be on the lattice, so they are just placed wherever there's room. 2 should really be below 1, and 3 should be where 2 is. 30 should be 40, etc. I tried to maintain the structure as much as possible but had to make things fit.
- tofuahdude 3y agoVery cool work and explanation!
- mtsr 3y agoIt'd be interesting to see a fantasy layout: say you were to let go of the computer keyboard layout, how would you set it up? Thumb keys, foot keys, toggles, etc, go wild. Edit: There are decent guides to designing and hand-wiring keyboards using computer keycaps. I haven't looked far, but something like this https://medium.com/cracked-the-code/a-complete-guide-to-building-a-hand-wired-keyboard-9d8c9cc7b041 https://medium.com/cracked-the-code/a-complete-guide-to-buil... . The linked layout editor (http://www.keyboard-layout-editor.com http://www.keyboard-layout-editor.com) allows pretty wild layouts. Try loading the ErgoDox layout. While you might want to go farther still, it does nicely showcase rotated thumb clusters. The plate & case builder tool can then generate some basic CAD files for a sandwich keyboard build to fit your keys. This can then be laser cut or something. Because most designs use a Teensy with USB connection, you might even be able to make the keyboard output MIDI, so it could easily plug into a DAW, or whatever.
- ad8e 3y agoHex keyboard, purple keys under thumbs. Extra set of temporary purple (blue) keys 1/2-1/7x, not ratios, applying to one copy only. Two copies of the green keys, one for each hand. Added numbers are 36, 40, 48; unsure about 45. 7, 14, 15, and 30 probably moved. The organized core should be continued as much as possible; I share the sentiment that ease of learning is important. The physical buttons should make fat-fingering convenient, because that's useful for fingering (and for playing lots of extra notes). The musician probably wants his feet for other things like sustain pedal and effect pedals. I won't be too greedy :) Though, one possible use of foot pedals is to select the instrument timbre. Since with this layout, you can take the role of two musicians, playing two different timbres, and you might as well have the flexibility to change one instrument out while the other is playing. All your fingers are occupied so it'd be hard to ask them to press extra buttons.
- 3y ago
- ad8e 3y agoShowing the internal state is a pretty good idea. I'll see if I can port over my visualization from my desktop version; it'll show the absolute pitches of the notes on a real number line, and how many powers there are of each prime. It won't be soon though.
- NikolaNovak 3y agoOoh there's a desktop version?? :-)
- ad8e 3y agoThere's a desktop version which I unfortunately don't have the time to get in release state, but I'll release the source code for everything eventually (maybe months later).
- codetrotter 3y agoDo you have a GitHub I can follow?
- ad8e 3y agoI'll put it here, then: https://github.com/ad8e/harmonic-keyboard https://github.com/ad8e/harmonic-keyboard (nothing there now!)
- zengid 3y agoThis would be awesome, thanks.
- Tao3300 3y ago> harmonics ascending from right-to-left breaks my brain It's not like instruments are totally consistent from one to another in how that sort of thing works. It's not breaking your brain, you just aren't familiar with it yet. > if I have to read an instruction manual I'm already checked out Not saying learning this keyboard is necessarily a worthwhile pursuit, but that reads less like criticism and more like an admission that "this just isn't for me". And it raises the question: what kind of instrument would you learn that didn't involve understanding how it works and acquiring muscle memory?
- travisjungroth 3y ago"Instruments are made for people who can play them." https://www.youtube.com/watch?v=QCwqnjxqfmY&t=1914s https://www.youtube.com/watch?v=QCwqnjxqfmY&t=1914s
- ad8e 3y agoState tracking is up. Fundamental = product of (prime)^(number of squares in the row), where the blue squares are 2, green 3, yellow 5, red 7. Let me know if this interface can be improved, such as by bolder colors or better explanations. I didn't find a good way to implement absolute frequency without the rest of the visualization too, since it has to store and show "what were the last notes I just played", so the user can compare their frequencies to the current note options. So I don't have an idea for an easy-to-implement design here.