Skip to content

Cybrid - a DIY MIDI controller with grand piano action

MBiG

RIP Of course it does not exist. Why would a consumer buy an action?

Perhaps there is a misunderstanding here again, which I have triggered. 😀

I myself do not want to buy a piano action. I am only interested in the history / technology of course only in the context of this hobby. (for me this is also only a hobby).

going OT (thinking about the bann hammer):

...... I meant with end customer market for piano mechanics, a market like there is this for example also for used construction machines, laptops, car parts etc. pp. With used car parts you could also ask why there should be an end customer market when everyone just drives their car and there are more than enough dealers with workshops where a car can be repaired. But anyway, I hope that I could now make clear what I meant and why I thought that there should also be a, albeit small, end customer market for these piano mechanisms.

OT off: over and out 😃


RIP

MBiG meant with end customer market for piano mechanics, a market like there is this for example also for used construction machines, laptops, car parts etc. pp.

Ah I see. And it's not OT at all, is right on topic!!! I had the same journey when making my decisions about the way to find my own action (which eventually I got by salvaging it from a grand piano with broken frame, from which I took also parts of the cabinet)

Well, in such a case there is a market for that, but it's for parts that break or that one would like to replace for improvements. To continue the comparison for the car, there is a market for wheels, tires and to a smaller degree replacement glasses and engine parts. But there is no market for a whole frame preassembled with seats and wheels but without the engine, do you see what I mean?

So in the piano, you do have a market for individual action parts (and actually a pretty thriving one), but not so much for action rails or for individual keys because:

  • it's unlikely that they break and need replacement
  • if they do it's unlikely they get displaced and it's much easier to glue them back (and glues are stronger than wood, so the repaired piece can be better than the original)
  • there is so much variation from one instrument to the next, even in the exact same brand and model than there will be quite a lot of work to have the replacement part fit
  • they are not an improvement

for the same reason there is no market for a whole-replacement-action, because there is no reason to replace everything -- well, with one exception, the WNG top stack which technicians (not end customers) can buy at https://technicians.wessellnickelandgross.com/action-parts/hammer-action/grand-assembled-top-action.html

But note as even that does not include keyframe and keys, because changing that is not an improvement, whereas switching from wood to carbon fiber everywhere else arguably is (that discussion is OT and could be a separate thread). I actually considered buying that action myself, but the cost of keyframe and keys was prohibitive (I asked estimate to about 10 different companies/technicians and all gave similar price range and similar explanations at my balking)


MBiG

RIP

I see what you mean. Thank you for your detailed explanation. 👍🎹


oshogg

CyberGene For now you should either live with that or switch rich-text editor while writing posts.

Thanks for the explanation. Makes sense. I will just switch to using USD 🙂.

Osho


Nenad

CyberGene Hello!! Amazing job!! I have old yamaha c55n organ and I want to upgrade little bit with midi. I gues that this way is the best after checking lot of other options. Can you share schematic and all other stuff about project? I see that job is not easy one but I would like to try. All best, Nenad


CyberGene

Nenad Hi Nenad and welcome! 🙂 Yes, the project can be adapted for other types of instruments, not just pianos. If you don't need velocity detection (since it's an organ?), then it would be very easy indeed. My code is in GitHub:
https://github.com/ekumanov/cybrid/

Other people on this forum are working on similar solutions, and all of them are ongoing at this moment, you can take a look around, @RIP is very active, he's using more advanced design than mine which was created by @JayKominek


RIP

Hi Nenad and welcome from me too.

Depending on what you want to do, you have many more options. As @CyberGene is saying, if you do not need velocity nor aftertouch (or at least if you don't need the subtle precision of piano) you can more easily use the GPIO pins on a Raspberry Pi Pico, of which there are many more than ADC channels. That will allow to do your project with very little soldering, and perhaps no custom PCB. See https://github.com/davidedelvento/Mybrid for details.

If instead you do want high quality velocity (and perhaps precision polyphonic aftertouch), see https://github.com/jkominek/piano-conversion


JayKominek

I've been tagged, but I don't think my project would be suitable for an organ conversion. As I understand it, organs aren't velocity sensitive. So there's no reason to do all of the ADC measurement.

I'd take a look at the products from Classic MIDI Works for that. If you were near me, I'd be fascinated to take a look inside your organ and offer some suggestions on proceeding.

My system would be appropriate for a MIDI clavichord. Might be useful for harpsichords, too.


vagfilm

Nenad I have old yamaha c55n organ and I want to upgrade little bit with midi.

The 55n looks a lot like the organ of my best friends at primary school (late seventies... Fond memories of that organ).
The good thing is that you can probably use the old electric contacts of the keyboard keys and simply route each one to a arduino/teensy input as a switch...


AlexanderBunt

@CyberGene A while ago, during the search for a good way to make a DIY virtual carillon, I came across your Cybrid project. And I think what you did there, would suit my case very well (accept I only need 2 measurement points because a carillon doesn't have dampers). But, since I am software developer (I created my own samplesoftware for the project) and not very much a technican, I am wondering if somebody can help me provide information on how I can start with this project.

I would like to test hammer action first (just like this video I have linked below), but I don't know the best way to start. Maybe somebody can help me? Thank you very much.


CyberGene

AlexanderBunt welcome to the forum 🙂

I think my project (as well as similar DIY projects that are being discussed on this forum) can work for you but it's also possible that you may need much less complexity.

Can you explain what your needs are, do you need velocity detection? If so, then you can reuse the Cybrid and adapt it for only two detection points, which means you can eliminate 1/3 of the trimpots and then simplify the code.


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…


« Previous Page Next Page »