Skip to content

Cybrid - a DIY MIDI controller with grand piano action

RIP

AlexanderBunt I am wondering if somebody can help me provide information on how I can start with this project.

Welcome. You've come to the right place.

There is a whole community doing just that here. From people nitpicking on the very best option to do the very best possible in the most sophisticated ways, to people doing something "good enough" but very simple, to anything in between.

I suggest you start from https://github.com/davidedelvento/Mybrid (which might be exactly what you need, but it's not done yet!) and you follow all the suggested links back to this forum (which I should have reported here instead of linking that github, but I need to save time to work on the project). You'll be amazed by the big expertise the community has build around this. And just to be clear, I'm only the last wheel of the cart.

Welcome again!


AlexanderBunt

CyberGene Thank you! I'm very exited for this project, so let me tell you someting more.

A carillon has a keyboard (like in the picture below). And each 'key' is directly attached to a hammer that hits the bell if you press the key. Obviously, when you press the key strong, the hammer will hit the bell with a higher velocity, making a louder sound. So yes, I very much need velocity. But indeed, I figured out that I don't need 3, but only 2 different detection points. But, I am very new to all the sensor, pcb, arduino etc. stuff…

Another point is that I only need around 52 inputs, so not the whole 88 like you did with your grand piano. That will simplify a bit too, I think.

RIP

Thank you very much! I have looked at your GitHub, but I have to look a bit further into the details. Thank you for your answer, which might be very useful.


AlexanderBunt

CyberGene

For now, I try to remake your video (linked it below), but I cant't get the code right. Maybe you can help me with this? Like maybe you have that code anywhere, so you can send it me…?


CyberGene

AlexanderBunt I've forgotten almost anything about those early prototypes but from the video I could see the name of the program is "CNY70_Velocity_test_02" and so I found it on my computer.

cny70-velocity-test-02ino.zip
1kB

It uses the Teensy development board which is also Arduino-language compatible.


HZPiano

Hello,

@AlexanderBunt Lovely project!!

If your are going to use an actual 'fist-pounding' manual like in your picture, then perhaps:

  • You can have one microswitch that is depressed when the 'key' is up;
  • One more microswitch that is depressed when the 'key' is down.
  • Then, it could be measured how long it takes between 'leaving' the upper switch until 'reaching' the lower switch -- giving you the strike velocity.
  • This assumes that it is acceptable/realistic that for slower/quiet 'hits' to the 'bells' the carillonneur has to fulfill the whole up-down travel. If not, more advanced (such as optic/magnetic field) sensoring is needed.
  • With the number of inputs (keys/pedals (if any)) you mention, an Arduino Mega could handle all of this. (Edit: Well, maybe not, because you'd have to double -- times two switches. Then two megas that each handle half of the manual might do it.)

This is all just spontaneously from the top of my head, I am not yet among the microcontroller experts!

Cheers and happy pounding,

HZ


AlexanderBunt

CyberGene Thank you very much! Yes, I understand the point haha, but for me this is very helpful… ;-)


AlexanderBunt

HZPiano Hmm that is interesting. What you say is not realy what I need (because sometimes the carillonneur makes just very little movement with the key (only like 1cm up and then again press the key down to hit the bell). So de measurement of the movement has to be very small, thats why I think sensors like the CNY70 would be very suitable.

Thanks for the help and I will keep you posted!


HZPiano

AlexanderBunt only like 1cm up and then again press the key down to hit the bell

Hello,

Hmmm. Thinking about an actual carillon, I started to suspect that while writing.

Essentially, that is why in digital pianos 3 sensors instead of two, or even optical/continuous sensors are in vogue. And you'll need what is called analogue inputs on any microcontrollers you'd select for your project.

There, @CyberGene 's and @RIP 's project sure will give you lots of great clues.

Cheers and happy idea development,

HZ


AlexanderBunt

CyberGene It's a pitty, but I can't get my sensor working. When I check my serial monitor, it only puts out '1 0', which (I think) is a result of a malfunctioning ciruit, or false components. See the the two pictures below for my circuit.

I see I made a mistake with the wiring for the sensor (blue and white wire not on the same line), but I fixed that and it didn't solve the problem…



AlexanderBunt

n-player Yeah maybe, but isn't this all without velocity?


AlexanderBunt

HZPiano that is why in digital pianos 3 sensors instead of two

Is that for calculating velocity, even when the key has not been fully released?


CyberGene

AlexanderBunt When I have more time I will try to check your circuitry, I found one image of an earlier prototype with Arduino instead of Teensy which might be helpful for the wiring:

Also, I remember with the Teensy there were some stuff you had to enable in the Teensyduino for it to work properly, maybe the serial communication needs a specific configuration?


CyberGene

BTW, do your potentiometers have three connectors on the other side (not visible in the picture)? Because I see they have three on the visible side and you use only the middle one. Mine have two connectors on the left and one (middle) on the right.


HZPiano

AlexanderBunt Exactly that.

(And, in a well implemented (virtual) piano, this makes restriking the 'string' possible without it being dampened first. Raising the key to the full-up position also means the damper is then fully back on the string).

Cheers,

HZ


n-player

AlexanderBunt There may be sensors and upstream controllers that have velocity for broader applications.


AlexanderBunt

CyberGene Yeah, three on one side and two on the other side… can that be a problem?

EDIT: Hm I thing there is the problem. I used Rotary Encoders… that's not the way how its is meant to be, I think…

I just bought a few 10kΩ cermet potmeters, which will arrive after the weekend, so I will try again then. Like I said before… I am just starting in this 'world'… ;-)


HZPiano

AlexanderBunt Rotary Encoders

Ah! There's your culprit.

Cheers and a happy learning curve,

HZ


AlexanderBunt

HZPiano Thank you! There will be many moments of learning during this project, I think. But that's a good thing!


AlexanderBunt

HZPiano And, in a well implemented (virtual) piano, this makes restriking the 'string' possible without it being dampened first.

Yeah I understand that part, but on a carillon, there are no dampeners. Do I still need three 'measure points', or just two?


« Previous Page Next Page »