I’ve never been much of a musical person. But my kid was playing with a toy piano the other day, pressing buttons and whatnot. I lay my fingers on the keyboard and thought “hmmm… kinda like the home row”.
So my question to the community: have any of you built musical keyboards? Did you post a blog or guide? At first I was thinking a choc switch with a custom long cap that was held off a pivot point at one end and attached to the switch at the other. But musical keyboards vary sound depending on how you press the note. So maybe Hall effect?
Anyway, keen to hear of any adventures down this road by others?
I'm a pianist, and pianists are often very particular about how musical keyboards feel. There doesn't appear to be a very large DIY community around it. Getting a digital keyboard to feel good has a lot of elements. It seems that it's very expensive to design and manufacture a music keyboard, let alone to do it modularly as the keyboard community has. I would expect it to require a lot of compromises that I wouldn't be willing to deal with except as a hobby project.
Synths, on the other hand, have a HUGE DIY community and that sometimes extends to making keyboards. But for me, it rarely seems worth it to fabricate a keyboard when a MIDI controller with MIDI cables or MIDI over USB can be had as cheaply as $50 or to have a really well done one for under $150.
I'd be more interested in modding an existing keyboard than I would creating my own from scratch.
Having it feel exactly how you want and being able to use something you built yourself is a big part of the mechanical keyboard community.
I can definitely see it for MIDI controllers, but a piano has that smooth press and satisfying bottom-out that I don't think is possible to replicate easily. You also need to sense how hard the key is pressed and the only way keyboard switches could sense that is with something like hall effect and a polling rate that is high enough to detect how fast the key is pressed down.
The most common way to sense velocity is to have two switches at different levels and calculate the delta to see how fast it moves between them. This does require precision, though.