Simple piano keyboard?

I haven’t had a lot of luck finding a suitable donor keyboard in the thrift shops lately so that may have to wait, but I have devised a suitable alternative plan which I will definitely share with you when it’s done.

1 Like

The CMOS kbd encoders 74C922 (16 keys) and 74C923 (20 keys) are, in my mumbling opinion, the best choices. Make a simple R-2R DAC to get a CV. The chips has a strobe output that can be used as gate/trig.
I have seen keyboard designs based on any of these ICs but cannot find any link right now, but it shouldn’t be hard to put something together.

Another solution IF the keys have a common rail and cannot be used by scanning is to use a priority encoder. I have somewhere started building a simple keyboard using TTL chips (74147). These, like the CMOS kbd encoders provide binary outputs and strobe.

2 Likes

Thanks for the input. I have a few 74C922 chips due from AliExpress in a couple weeks and then hopefully I’ll be able to slap something together over a weekend.

I have found a kids piano that I would like to change to a small CV keyboard using this schematic. I have figured out the matrix structure of the piano on the PCB; I can scratch away lines of the PCB to interrupt the matrix structure on one end, and solder wires to them. The challenge seems to be that the push buttons that are activated by the keys, seem to make connections using small magnets, which result in some resistance that differs between the keys. Sometimes the resistance is way larger than the 100R in the schematic. Therefore, would it be possible to change the resistance values in the schematic, so that I could use trimmer potentiometers of for instance 1K to make the resistance between all the keys 1K?

Thanks for your inputs!
Stefan / Synthesis

You should be able to modify the resistances in the rest of your circuit to account for the resistance being created in the switch–just determine the resistance the switch is causing and subtract that from the corresponding resistor value (see: resistors in series). This might get tricky if the resistances created by the switches change when more than one is pressed (see: resistors in parallel). If you get parallel resistances when pushing more than one key, you might just end up with a keyboard that is out of tune, or just doesn’t work, with more than one key pressed.

The difficulty is that the resistance differs between the keys, sometimes going way over the 100R for the resistors used in the schematic posted by Analog Output. Therefore, I need to place trimmer pots between the keys to make them all of the same value. As the smallest precision trim pots I have are 1K, I would like to know whether and how the other resistors in the schematic could be altered to achieve the 1v/oct.

Just one question, do you have a PC in your test area?

If so why not just use pocket midi to generate all the midi you need, also you could just bolt on a simple midi to CV converter to give you note CV, velocity, pitch bend, modulation and even aftertouch. Just a couple or even one Pico of some description and a cheap 8 channel DAC would do it.

I use pocket midi extensively for testing, linking devices together etc.

First, bear in mind that UNVERIFIED circuit is something I dashed off quickly and may need revisions anyway.

It doesn’t provide a gate, so turning notes on and off would have to be handled with some other controller or gate source.

Note that SW13 doesn’t really do anything. With all switches open, U2A pin 3 is grounded, and all SW13 does is connect pin 3 to ground again. In principle you could add another resistor to the voltage divider (between SW13 and ground) and recalibrate to get 14 different voltages instead of 13 (one for each switch pressed, plus the lowest one when no switches are pressed). Either way it’s a rather wonky controller but if it works for you, it works.

As for the resistances, R2 through R13 could be made as large as you want, provided RV1 is scaled up the same amount. If the total resistance gets in the neighborhood of 1M you might have to increase R15 too.

On the whole, a microcontroller based circuit, that detects each switch and puts out a gate and correct CV (using a DAC or PWM), would probably give you a more satisfactory controller. But if you want simple and wonky, you can try adapting this.

1 Like

I am building the MFOS 1v/oct matrix keyboard mentioned in the previous message, and which can be found here: https://musicfromouterspace.com/analogsynth_new/OLDIESBUTGOODIES/CONTROLLERS/scanningmatrixkeyboard2.html

The schematic named Page 1 has connected to pin 1 of IC 74HC374 a label named ‘DIS’, that does not seem to have a corresponding label on any of the other schematics for this project to connect to.

Does anyone know where to connect ‘DIS’ to?

According to the PCB from what I can see it connects to R6 and R17 and pin 10 of U5, R17 is labelled as Q5 in the second PDF which is strange as a Q5 already exists, unless I’m reading it wrong.,

DIS is connected in the schematic to pin 1 of U5 74HC374, which pin also has a pull-doen resistor R6 l, so that checks out. And pin 10 is connected to GND, which explains the link between R6 and pin 10.

I do not see any link to R17 in the schematics or PCB image. Where did you find this connection?

Regarding your mentioning of the Q-outputs: All the Q-outputs of U5 74HC374 appear to connect to two paths, one for the trigger and one for the R/2R ladder.

Sorry I made an earlier post that pin 1 only went to R6 and then looked at the PCB tracks again with my blurry bloodshot hay fever eyes and decided on my second answer. Now I’ve looked again I stand by my first theory that it only connects to that resistor R6. I should have said pin 12 in the post above.

1 Like

I have breadboarded this MFOS 1v/oct matrix keyboard: https://musicfromouterspace.com/analogsynth_new/OLDIESBUTGOODIES/CONTROLLERS/scanningmatrixkeyboard2.html

Everything seems to work as expected. However, the toy keyboard I used to build it starts with the F key for its lowest note. After using the trimpot to get a 1V/oct interval, the C1 = 0,4 Volt and C2 = 1,4 Volt. In order to have the C keys on the full Volt, I need a 0,6 Volt offset.

I have tried several options to get this 0,6 Volt offset (mix with CV signal, extra opamp stage), but I have been unsuccessful to get a continuous stable 0,6 Volt offset. On of the option I tried was the offset part of Sam’s OBA module. In everything I tried, the offset voltage seemed to affect the CV voltage and/or the offset would not be a constant offset, but a linear or exponential offset.

Therefore, I would like to ask you whether you could point me to a schematic on how implement such a constant offset without affecting the CV signal itself.

Thanks in advance!

I use this one. FET opamps, 100k resistors, so no back influencing happens. You need to choose other voltages of course for the offset trim.

2 Likes

Yep that’s pretty standard, although that’s a 30v swing across the trim pot which makes calibration rather coarse, I find 0 to 5v or 0 to -5v depending on the offset required is plenty and of course use quality branded multi turn trim pots, I found a lot of instability my earlier attempts at synth building came from cheap trimpots.

2 Likes

Thanks! Also for pointing out the 100K resistors. I was using 10K resistors, which miight have been too low, and was the cause of cross-influence.