i just started learning the piano a month ago as a female adult with very small hands, been obsessed with researching about narrow key digital pianos after watching "piano's darkest secret". Narrow keys, Kaduk...etc, the former you have to be on waitlist, the later has their pre-order closed and seems still in pre-production stage. Very frustrating to be googling for hours with no luck. So I got to the point thinking "fk it i'm gonna build my own." AND THEN I saw your video!! Looks absolutely promising and most importantly, your effort and spirit is truly inspiring, what you're doing is truly wonderful, fulll respect! I'm gonna start tinkering, super hyped! You're awesome!
@@benm12310 The opposite is true. The more advanced pieces you want to learn, the smaller the hands will feel. If you want to choose freely which pieces to learn, you need a narrow keyboard for not having always to play in hard mode if you have small hands.
@@Hvranq yes but speaking to a beginner with one month of experience. Hand size is not as bad of a hurdle as you may begin to think. Once you get to very complex pieces it may pose an issue but that early on in a piano career it’s important to know that YOU CAN do it and you don’t need a special piano yet
Yes it is a very frustrating situation, and bears testament to the power of the status quo. At least some options are slowly emerging. All the best with your tinkering! Personally I have found the tinkering itself to be very rewarding, the electronics + engineering involved has been a lot of fun.
Incredible…. I fully thought you would need either an analog input or two digital inputs to read a time based velocity, but this is super enlightening! Thank you so much for showing this awesome project!
Very cool project! I'm building an organ foot pedal with binary hall effect sensors, so it's interesting to see how much finesse the linear sensors are capable of! As a side note, I have those same 1/4" jacks and never thought to arrange them diagonally to fit a breadboard. Great stuff!
Even better for small hands (especially for people who haven't gotten used to the Halberstadt layout yet): Use an isomorphic/generalized layout. Also good for tuning systems other than 12 notes per octave. If you're sticking to 12 notes per octave, harmonic table lets you play 3 note triad chords with 1 finger.
I wonder if rather than using weights, you could use the magnets on they keys... and then have an Arduino controlled electro magnet in place to resist it. You're already detecting the magnets movement... so then all you'd need is to modify the electro magnets current to control the key press resistance to mimic a real key. You're already doing the physics calculation as well so... By doing it that way, you could make the entire thing significantly lighter and maybe even smaller.
Not just lighter/smaller, but if done right, more piano-like too - using weights on the end of the keystick results in a different leverage ratio (1:1, if the weights are the same distance from the fulcrum as are the front of the keys) compared to the hammers on a real piano (around 5:1), which means my digital piano feels much lighter than a piano (less inertia), even if the down weight is matched to a piano (50g). I would love to build something like you suggest where the touch can be adjusted electronically to simulate any keyboard instrument, and it has been done before by others, but I think it would be a big undertaking.
Man this is so cool! Does the action remind you of anything else you’ve played, or is it a pretty unique feel? Seems like you can play pretty expressively with it. Great job!
It has quite a unique feel. I really like how the shallower dip / lighter touch make it almost effortless to play, whilst still providing some weight. I imagine it might feel more akin to a fortepiano than a piano - I did try one once, but that was too long ago for me to be able to make a reliable comparison.
Thanks! The piece has no name, it is just something small I came up with for the video - something that would fit within the limited range of the keyboard.
@@aleathwick I was searching for this answer too. It's a really beautiful piece! I really thought how interesting it was that it felt like the piece accomplishes so much musically with such a limited range. Seems like a great exercise and skill to develop, to write pieces with that constraint.
I have average size hands but I could stand to lose a few pounds (which would thin out my fingers too). So I couldn't go with narrower keys, and if I went with wider keys I would not be able to span an octave and a Major 3rd. But, if I could make the black keys a millimeter or so thinner, I could hit the whites deeply without grabbing a black key from time to time.
I have settled on 6mm wide sharps - substantially narrower than normal sharps, and conveniently (in my region, at least) 6mm black acrylic sheet is readily available which makes cutting the sharps out (cutting as side profiles) a breeze.
Very very cool. I really want to do this. Btw, have you seen how harpsichord keyboards use decorative plates at the front of the keys? It could be useful for hiding the rough cut ends.
Seems like this would be an affordable diy to add midi to an acoustic piano. I have a QRS product that does that for my rhodes but it wasn’t cheap and I got it used.
There are a few diy projects out there that do exactly that, but reading the hammer positions directly, rather than imputing their positions from key position as I do - for example, see: github.com/stem-piano/stem-piano-g-main
...actually I guess the projects I'm referring to aren't "exactly that", because they involve converting piano actions into digital instruments, which no longer function acoustically (no strings anymore).
The hardware is very simple - it is literally just a bunch of nails on the other end of the key, like a see-saw. Finger on one end of the see-saw, nails on the other end. The hammer is simulated in the firmware of the microcontroller - move the key halfway and stop, and the simulated hammer will keep moving. If it's moving fast enough, then it will keep travelling until it hits the (simulated) string, and a note is triggered.
Nice video, I gave you a like. Are you using the Hall Effect sensors as simple off/on switches or are you using them as a varying analog (how close the magnet is to the sensor) so that as the key is played it determines key velocity like a real piano (slow pppp to fast ffff)? I have a Yamaha DX7 and each key has a mechanical Break/Make SPDT switch. It does this so the CPU can scan the entire keyboard switches in the MHz Frequency range and measure the time in milliseconds from the Break to the Make (and debounce the switch contacts) to determine actual key velocity. This is very low cost and simple to build in hardware and to code as well because you can fabricate the switches with nails and thin pieces of metal, and the code just measures digital timing rather than changing analog values to determine key velocity. I built a 2 octave MIDI Bass Pedal using this Break/Make switch method and a Arduino Nano. I like that you used hall effect devices because they virtually don't wear out. But my DX7 is 40 years old and the switches work just like they have on day one. I think they used Palladium and Tungsten in the switch contacts, but even bright (galvanized) nails and Aluminum, that would last years without cleaning because the current through each switch is in the micro amps.
Given the mcp3008 A/D converters he's using, I assume he's measuring the analog outputs of the Hall effect sensors (which I didn't even know was a thing; I've only ever used them as on/off switches). From the video, I gather he feeds the position of the key into a software simulation of a piano hammer (including momentum!). I hope he'll reply with more details!
@@michaelpark I think you are correct, the sensors are analog so only one channel per key is needed for key action and velocity (momentum). But I still use a SPDT (2 channels) for each key for action and velocity. True, I have to debounce the switches in code, but it is a lot easier, lower cost, and faster to multiplex digital inputs than it is for analog inputs. But he does have an elegant design that works.
That is correct, I'm using the analog output of the hall sensor. When I scale up to 88 keys I will need to do some further optimization to ensure latency is still ok, but I think it is doable. The main advantage I see with my approach is that it allows half presses - I can half press a key then stop, and still trigger a note because the software simulated hammer continues travelling. I do still find the digital approach attractive for the reasons you've mentioned.
Are you using the Hall Effect sensors as simple off/on switches or are you using them as a varying degree (how close the magnet is to the sensor) so that as the key is played it emulates key velocity like a real piano (slow pppp to fast ffff)?
This amazing.. I've dreamed for long time, to build this kind of piano, but I can't find the one that i'm looking for, and this is very close to the one that i need. Please, can i have the schematic of electronic parts? I wanna to make one too.
I haven't made a schematic, but when the design of electronics is final I'll probably upload a schematic to the github repo. In the mean time, the parts involved are pretty common, with lots of tutorials on wiring them up - raspberry pico + mcp3008 for the ADC, and 49e hall sensor.
Not yet - since the prototype in this video, rather than adding more keys, I've been playing around with other designs and methods of construction. It's been fruitful, eventually I'll post another video.
@@aleathwick hey, sorry, just wrote you back but my comment just disappered, not sure what happened, whether I deleted it by mistake or it's pending for your moderation. Please let me know if you've didn't receive it. I would be interested in a collaboration. All the best!
@@JankoPianko I can't see your comment. Your work with janko keyboards looks really interesting, I would be keen to chat more. You can email me, my email address is my last name at gmail.com.
The issue of warping wood is somewhat mitigated in my design by the replacement of wood with plastic where the mortises interact with the metal pins, which eliminates the impact of humidity on the tightness of the mortises. But the holes on the balance rail pins are still wood (laser cut plywood). I'm working on a design at the moment that eliminates wood, with reduced labour / more laser cutting - I'll eventually get around to posting a video of it when I've made enough progress.
Very interesting project. Thanks for sharing. Some time ago I developed a program to test the MCP3204 with Rasp Pico in TinyGo. Maybe it's faster than with python. If interested, let me know.
tbf, at some point the time, labor, and money spent on making a bodged controller is outweighed by just buying a used controller that's already class-compliant and can be moved around without having to rebuild it
Nigel Tufnel was close. The lower the scale, the sadder the key, so on a piano (as he was playing) A Minor would be the saddest of all keys. But, A Locrian would be even sadder. But it was a great bit and we got the joke [smile]. After all, he thought that because his Amplifier controls were marked up to 11 instead of 10, he thought they were one louder... Best comedy bit ever!
beautiful playing!
I come to this video over and over just to listen to the demo song, it's so beautiful
Wow. The expression and sensitivity with which you play honestly shocked me. Was not expecting that haha.
i just started learning the piano a month ago as a female adult with very small hands, been obsessed with researching about narrow key digital pianos after watching "piano's darkest secret". Narrow keys, Kaduk...etc, the former you have to be on waitlist, the later has their pre-order closed and seems still in pre-production stage. Very frustrating to be googling for hours with no luck. So I got to the point thinking "fk it i'm gonna build my own." AND THEN I saw your video!! Looks absolutely promising and most importantly, your effort and spirit is truly inspiring, what you're doing is truly wonderful, fulll respect! I'm gonna start tinkering, super hyped! You're awesome!
Don't worry with every day of practice your hands will feel bigger and bigger (small keys or not)
@@benm12310 The opposite is true. The more advanced pieces you want to learn, the smaller the hands will feel. If you want to choose freely which pieces to learn, you need a narrow keyboard for not having always to play in hard mode if you have small hands.
@@Hvranq yes but speaking to a beginner with one month of experience. Hand size is not as bad of a hurdle as you may begin to think. Once you get to very complex pieces it may pose an issue but that early on in a piano career it’s important to know that YOU CAN do it and you don’t need a special piano yet
Yes it is a very frustrating situation, and bears testament to the power of the status quo. At least some options are slowly emerging. All the best with your tinkering! Personally I have found the tinkering itself to be very rewarding, the electronics + engineering involved has been a lot of fun.
So glad you’ve proceeded to create what you’ve always wanted to. Really beautiful work Andrew and it’s so lovely to hear you play again!
Thanks Noelle! :-)
awesome! I'm dreaming about playing ninths with one hand since forever. so cool!
Incredible…. I fully thought you would need either an analog input or two digital inputs to read a time based velocity, but this is super enlightening! Thank you so much for showing this awesome project!
Oops! I see that those are not shift registers now but adc’s! But that is even more enlightening! Thanks again (:
Andrew this is epic, thank you so much for this project
Absolutely brilliant! keyboard manufacturers are idiots for sticking to regular key size when it is so easy to make a narrower size option.
Are they, though? The best pianists in history all had big hands, and big hands need big keys.
@@Gabu_ That's crazy, I guess people with big hands must be inherently better at playing piano.... oh wait....
Great start! Congratulations!
very nice guitar demo !
Very cool project! I'm building an organ foot pedal with binary hall effect sensors, so it's interesting to see how much finesse the linear sensors are capable of! As a side note, I have those same 1/4" jacks and never thought to arrange them diagonally to fit a breadboard. Great stuff!
Congratulations! That’s quite impressive
Thanks Samuel 🙂
Even better for small hands (especially for people who haven't gotten used to the Halberstadt layout yet): Use an isomorphic/generalized layout. Also good for tuning systems other than 12 notes per octave. If you're sticking to 12 notes per octave, harmonic table lets you play 3 note triad chords with 1 finger.
wow amazing!!
Nice work, bravo !
I would like to create one day a microtonal DIY midi piano 😅
Same here!
I wonder if rather than using weights, you could use the magnets on they keys... and then have an Arduino controlled electro magnet in place to resist it. You're already detecting the magnets movement... so then all you'd need is to modify the electro magnets current to control the key press resistance to mimic a real key. You're already doing the physics calculation as well so... By doing it that way, you could make the entire thing significantly lighter and maybe even smaller.
Not just lighter/smaller, but if done right, more piano-like too - using weights on the end of the keystick results in a different leverage ratio (1:1, if the weights are the same distance from the fulcrum as are the front of the keys) compared to the hammers on a real piano (around 5:1), which means my digital piano feels much lighter than a piano (less inertia), even if the down weight is matched to a piano (50g). I would love to build something like you suggest where the touch can be adjusted electronically to simulate any keyboard instrument, and it has been done before by others, but I think it would be a big undertaking.
Me parece espectacular esto...
Man this is so cool! Does the action remind you of anything else you’ve played, or is it a pretty unique feel? Seems like you can play pretty expressively with it. Great job!
It has quite a unique feel. I really like how the shallower dip / lighter touch make it almost effortless to play, whilst still providing some weight. I imagine it might feel more akin to a fortepiano than a piano - I did try one once, but that was too long ago for me to be able to make a reliable comparison.
That’s awesome!!
Great work ! What is the name of the piece you are playing at the beginning ?
Thanks! The piece has no name, it is just something small I came up with for the video - something that would fit within the limited range of the keyboard.
@@aleathwick I was searching for this answer too. It's a really beautiful piece! I really thought how interesting it was that it felt like the piece accomplishes so much musically with such a limited range. Seems like a great exercise and skill to develop, to write pieces with that constraint.
I have average size hands but I could stand to lose a few pounds (which would thin out my fingers too). So I couldn't go with narrower keys, and if I went with wider keys I would not be able to span an octave and a Major 3rd. But, if I could make the black keys a millimeter or so thinner, I could hit the whites deeply without grabbing a black key from time to time.
I have settled on 6mm wide sharps - substantially narrower than normal sharps, and conveniently (in my region, at least) 6mm black acrylic sheet is readily available which makes cutting the sharps out (cutting as side profiles) a breeze.
Very very cool. I really want to do this.
Btw, have you seen how harpsichord keyboards use decorative plates at the front of the keys? It could be useful for hiding the rough cut ends.
Thanks for the suggestion - I'll keep that in mind
Seems like this would be an affordable diy to add midi to an acoustic piano. I have a QRS product that does that for my rhodes but it wasn’t cheap and I got it used.
There are a few diy projects out there that do exactly that, but reading the hammer positions directly, rather than imputing their positions from key position as I do - for example, see: github.com/stem-piano/stem-piano-g-main
...actually I guess the projects I'm referring to aren't "exactly that", because they involve converting piano actions into digital instruments, which no longer function acoustically (no strings anymore).
Wanna know more about the hardware / hammer design
The hardware is very simple - it is literally just a bunch of nails on the other end of the key, like a see-saw. Finger on one end of the see-saw, nails on the other end. The hammer is simulated in the firmware of the microcontroller - move the key halfway and stop, and the simulated hammer will keep moving. If it's moving fast enough, then it will keep travelling until it hits the (simulated) string, and a note is triggered.
Nice video, I gave you a like. Are you using the Hall Effect sensors as simple off/on switches or are you using them as a varying analog (how close the magnet is to the sensor) so that as the key is played it determines key velocity like a real piano (slow pppp to fast ffff)? I have a Yamaha DX7 and each key has a mechanical Break/Make SPDT switch. It does this so the CPU can scan the entire keyboard switches in the MHz Frequency range and measure the time in milliseconds from the Break to the Make (and debounce the switch contacts) to determine actual key velocity. This is very low cost and simple to build in hardware and to code as well because you can fabricate the switches with nails and thin pieces of metal, and the code just measures digital timing rather than changing analog values to determine key velocity. I built a 2 octave MIDI Bass Pedal using this Break/Make switch method and a Arduino Nano. I like that you used hall effect devices because they virtually don't wear out. But my DX7 is 40 years old and the switches work just like they have on day one. I think they used Palladium and Tungsten in the switch contacts, but even bright (galvanized) nails and Aluminum, that would last years without cleaning because the current through each switch is in the micro amps.
Given the mcp3008 A/D converters he's using, I assume he's measuring the analog outputs of the Hall effect sensors (which I didn't even know was a thing; I've only ever used them as on/off switches). From the video, I gather he feeds the position of the key into a software simulation of a piano hammer (including momentum!). I hope he'll reply with more details!
@@michaelpark I think you are correct, the sensors are analog so only one channel per key is needed for key action and velocity (momentum). But I still use a SPDT (2 channels) for each key for action and velocity. True, I have to debounce the switches in code, but it is a lot easier, lower cost, and faster to multiplex digital inputs than it is for analog inputs. But he does have an elegant design that works.
That is correct, I'm using the analog output of the hall sensor. When I scale up to 88 keys I will need to do some further optimization to ensure latency is still ok, but I think it is doable. The main advantage I see with my approach is that it allows half presses - I can half press a key then stop, and still trigger a note because the software simulated hammer continues travelling. I do still find the digital approach attractive for the reasons you've mentioned.
Genial!!!!
Have you ever considered to use hall sensors for velocity sensitivity?
That is exactly what I do!
@@aleathwick Ah yes, I see. I must have confused this with another DIY project.
Are you using the Hall Effect sensors as simple off/on switches or are you using them as a varying degree (how close the magnet is to the sensor) so that as the key is played it emulates key velocity like a real piano (slow pppp to fast ffff)?
judging by the description of working, its analog hall sensors (distance to magnet)
This amazing.. I've dreamed for long time, to build this kind of piano, but I can't find the one that i'm looking for, and this is very close to the one that i need. Please, can i have the schematic of electronic parts? I wanna to make one too.
I haven't made a schematic, but when the design of electronics is final I'll probably upload a schematic to the github repo. In the mean time, the parts involved are pretty common, with lots of tutorials on wiring them up - raspberry pico + mcp3008 for the ADC, and 49e hall sensor.
Have you built a larger version yet? Its over a year but no further updates posted on this.
Not yet - since the prototype in this video, rather than adding more keys, I've been playing around with other designs and methods of construction. It's been fruitful, eventually I'll post another video.
@@aleathwick Look forward to more updates. 👍
Great work! May I ask what the octave span is? Thank you
The octave span is 141mm, so roughly 7/8 the size of the octave on a normal piano.
@@aleathwick hey, sorry, just wrote you back but my comment just disappered, not sure what happened, whether I deleted it by mistake or it's pending for your moderation. Please let me know if you've didn't receive it. I would be interested in a collaboration. All the best!
@@JankoPianko I can't see your comment. Your work with janko keyboards looks really interesting, I would be keen to chat more. You can email me, my email address is my last name at gmail.com.
This is a lot of playability for a true diy first attempt! Sounds wonderfully excessive !
The reason why Fatar stopped using wood in their construction is because of worping over time, just something to watch out for.
The issue of warping wood is somewhat mitigated in my design by the replacement of wood with plastic where the mortises interact with the metal pins, which eliminates the impact of humidity on the tightness of the mortises. But the holes on the balance rail pins are still wood (laser cut plywood). I'm working on a design at the moment that eliminates wood, with reduced labour / more laser cutting - I'll eventually get around to posting a video of it when I've made enough progress.
Very interesting project. Thanks for sharing. Some time ago I developed a program to test the MCP3204 with Rasp Pico in TinyGo. Maybe it's faster than with python. If interested, let me know.
Hello, I'd to contact you concerning a similar project please, if you don't mind.
Feel free to, my email is my last name at gmail dot com.
tbf, at some point the time, labor, and money spent on making a bodged controller is outweighed by just buying a used controller that's already class-compliant and can be moved around without having to rebuild it
:O =)
D minor, the saddest of all keys.
Nigel Tufnel was close. The lower the scale, the sadder the key, so on a piano (as he was playing) A Minor would be the saddest of all keys. But, A Locrian would be even sadder. But it was a great bit and we got the joke [smile]. After all, he thought that because his Amplifier controls were marked up to 11 instead of 10, he thought they were one louder... Best comedy bit ever!
Кто такую красивую мелодию написал на двух октавах?
Please please mass produce it also please make a detailed guide to build it.