Skip to content
Jay Kominek edited this page May 30, 2024 · 5 revisions

Why is this project even interesting? A bunch of other people have finished their Cybrid-knockoffs already, I'll just use theirs.

I would encourage you to use whatever gives you the most joy.

I think my project remains valuable because of the goals:

  1. To make something with can be manufactured easily, either by hobbyists or professional electronics assembly houses.
  • That means that I use almost entirely surface mount parts that are easy to solder. SOIC, *SSOP, *QFP. I avoid through hole parts, as well as the trickier surface mount parts like DFN, QFN, BGA, etc.
  1. To make something reliable.
  • Not only should the parts have a long life, the calibration should hold without meaningful drift for at least a year. Preferably many years.
  1. To make something repairable.
  • I don't want a single half-meter long circuit board that costs $200 when I can do it with a bunch of separate boards and cables that added up cost $205. Yes, you could repair a damaged part on a board, but it's even easier to unplug a board, and plug in a new one (perhaps redoing the calibration). If you'd like, you can then repair the afflicted board while still enjoying your piano.
  1. To make something which can be calibrated without any particular expertise on the part of the installer.
  • I will not be done until there is a piece of calibration software which can walk you through the process, and the process mostly involves pressing all of the piano keys a bunch while the software takes measurements.
  1. To make it standalone.
  • As mention elsewhere, I'm envisioning this as an alternative to the Kawai VPC1, or even something like their stage pianos. I don't expect to ever include speakers or audio amplifiers as a part of this project, but I would like to make it easier to integrate a variety of off-the-shelf MIDI synthesizers, wavetable cards, etc.

In short, I'm trying to make something which is one step away from a finished product. That'll take a bit more effort than just making something for me.

Why do you insist on using ADCs? CyberGene just put comparators on everything and timed them.

Every comparator requires a reference voltage to compare against. His design had 2 comparators per key, and he produced the reference voltages with small trimpots.

  1. I'm putting a sensor on every hammer, and every key stick. That's twice as many.
  2. I'm simply not turning 384 fucking knobs. If you want to do that, have fun, leave me out of it.
  3. Quality trimpots from reputable sources are more than 1 US dollar each. That's a lot of money sunk in just trimpots.
  4. Even if I did want to turn all those knobs, that's an involved manual calibration step. Calibration implies the existence of recalibration. I'm sure as hell not tweaking 384 knobs.

See the "Resolution" discussion for some further notes and conversation on the subject of ADC vs comparator.

Why are you putting sensors on the hammers and key sticks? CyberGene only needed them on the hammer shank / key stick / whatever.

  1. I think of my system as sort of a piano body into which your action can slide into, and out of, as if it were a normal grand piano. Ideally this system will see use by people who are not piano techs, and cannot regulate their own action. That means some piano tech, the poor bastard, has to be able to pull the action out to work on it. That is complicated if we've attached a bunch of stuff to the action rails, or put in anything which blocks the direct pull out of the action.
  2. I think it will make it easier to calibrate things, and provide separate velocity measurements for note-on and note-off.
  3. Sensors on the key sticks actually gives us the possibility of aftertouch on the keys. For what that's worth.

Why don't you just hook up some large number of boards directly to a PC, instead of running them through your main board?

You could do that. You'd need to run special software to turn the messages from the ADC boards into MIDI, and feed it into your OS' normal MIDI subsystem. You'd also need to come up with some way of getting the pedal info into your PC.

I don't want to do that, I want to make something with functionality meeting or exceeding that of the Kawai VPC1, which is the thing I would've just bought instead of doing all of this if I were sane. I might yet just buy one.

That means I need one board to take in all of the ADC board data, pedal board signals, and stream it back out as nice MIDI messages, potentially to a number of sources.

Are you going to sell this?

Simply put, no.

I will not sell this.

I won't even sell kits.

It is open source. As far as I'm concerned, you can take what I've done here, slap your logo on it and sell it. I am a highly compensated engineer; you would not be willing to pay the markup necessary to cover my time dealing with things like returns and ordering questions, let alone the follow-on tech support. I'm exhausted by well meaning questions on the subject, and I haven't even finished designing and testing this.

Really, I hope that Wessell, Nickel & Gross looks as this and says "huh, we're a bunch of piano keys away from being able to sell digital grand pianos" and does so. Or Bechstein, or Bösendorfer. Or the million and one Chinese piano manufacturers. Even if they change the design dramatically and in an incompatible fashion, they'll at least be creating more competition in the "hybrid piano" market. If they don't change the design, then bam, suddenly the world has repairable digital pianos. How wonderful would that be? (To the extent that they even start with my design, their pianos will be more repairable.)

And to be clear, should representatives of any of those companies stumble across this: You can take what's here and use it and not pay me a dime. That's fine. I don't want your money. If you make a nice piano out of my work, I might even buy one from you. I'd love to have you providing the warranty support.

What about having X make it and sell it?

If you can talk them into it, more power to you. I will be happy to receive feedback from X's engineers on my design.

Can I build my own?

Hypothetically, yes. That is what I expect anyone to do.

At the moment, while there is sufficient hardware here to complete a system, there are two major issues. The first is that there is not completed software for the hardware. The second is that I don't think you can write suitable software for this hardware. Either the ADCs on the STM32H7s are too poor for the task, or my PCB/circuit design is insufficient for getting good results from the ADCs. Since I've previously worked with STM32s on ST-designed boards and also had ADC quality issues, I've come to the conclusion that STM32s have poor ADCs. I am changing the design to use not use STM32 ADCs, and hopefully reduce the costs.

What about the mechanical design? I don't think what you've done will fit into my piano furniture.

The mechanical design is completely outside the scope of this project. There is too much variety. I can't tell you what the right way of cramming this into a 1963 Baldwin is. Or the right way of cramming it into any piano. Or the right way of building a custom cabinet for it. You're on your own, and I don't want feedback on the subject.

I'm using a bunch of t-slot aluminum extrusions because I don't know what the correct final design will be, they're very rigid, and Misumi will cut them very very precisely for me. Perhaps when I know exactly what needs to go into the final design, I'll make some changes. I'll try to at least write up some suggestions someday.