Midify a vitage synth

Hello everyone !
I am coming here to get some help because I have a project that I would like to do and that I am surprised to find no real equivalent on the forums, and yet could certainly be usefull to other people. Most of the projects I have found about Midi protocol are about building a controller, or controling an arduino synth. I'm looking for the opposite, to control an existing machine using Midi protocol, like midification kit for 80s synths. I can deal with electronic, but I'm quite new to arduino. So I come to ask for advices.

Here is the project, I have an 80s synth, a Siel PX JR, i realy like it's sound, and I have already tweaked it to add some possibilities to it. But this model does not have Midi IN protocol, and I would like to add this capability, among other things because the keyboard is quite unpleasant to play.

The note triggering system is quite original, but not unique either I think. There are two metal bars with a small spring stuck between the two (I put pictures attached to help understanding), when you press a key the spring leaves one of the bars to go and touch the other, the flight time between the two bars defines the velocity. Rather simple.

I immediately thought of a system of transistors to close and then open the circuit according to the velocity send by Midi, with an arduino to drive everything. Quite a lot of wiring to do but not impossible either, I like challenges! I found the "Midi glockenspiel" project which in principle corresponds to what I am looking for. The problem is, my keyboard is a 72 notes model ! It is therefore not possible to drive it directly with the outputs of the arduino, without multiplexing i think.

Then i found potential solutions. (I am attaching pictures that I collected, those are inspirations, not exactly what i need), and i saw that there is a ready-made module (74HC4067) that would transform an output of the arduino into 14? That's it ? But what about polyphony? Is it possible to play chords with this solution? (the synth himself is totally polyphonic)

And then you would need an “open the circuit” signal to a first transistor, then a second “close the circuit” signal to a second transistor, for each notes, depending on the velocity of the note. Doable ? Very (too much?) complicated? I know the synth doesn't realy worth it, but... it's the point, it will be a unique model :wink:

It is also possible, if the two-transistors solution is too difficult to implement, to simply close the circuit (see attached picture), which gives a note at maximum velocity. It would be a way of simplifying things, but losing the velocity. Ideally, I would like to keep it.

Do you think this is achievable?
Don't hesitate to ask me more questions! Have a lovely day everybody.

(I have a mega or nano arduino available, a USB host shield (not necessary I think for this project, I prefer to use Midi Din IN) and I can buy the other necessary parts ...)

Glockenspiel 2.png

What do you want to do ?
New mail
Copy

Multiplexing1.jpg

Multiplexing2.jpg

Glockenspiel 2.png

Multiplexing1.jpg

Multiplexing2.jpg

It would really help to see a schematic of the synthesizer, unfortunately I have not been able to find one for that model except for a few ads on ebay or similar sites.

You could use shift registers such as the 74HC595 or TPIC6B595N to achieve the necessary 144 outputs ( 2 per key for 72 keys), and the speed should be sufficient especially if driven off the SPI output.

Not sure how you would do the actual interface with the keyboard, a similar vintage synth from Siel shows the key switches to be multiplexed, so the contacts may not be a connection to ground or Vcc, but a connection between two lines in a matrix, similar to how a 4x4 keypad is implemented on the arduino. The other concern is that you may need to insure that all the physical key contacts are open in order for the arduino to control the contacts.

You'd probably want to 'close' the contacts with optoisolators, and then a bank shift registers to control the contacts that are made. That way it wouldn't matter what voltages are on the contacts, or if any multiplexing is going on.
https://www.digikey.com/en/products/detail/on-semiconductor/H11F1M/1793945

Or mechanical relays, if the clicking wouldn't be an issue.
https://www.digikey.com/en/products/detail/cit-relay-and-switch/J104D2C5VDC-20S/12503179

Without a synth schematic, you should scope the key contacts to see what signals and voltages are there. Borrow a scope if you don't have one. It will save you a lot of grief (or overkill) in the design of your interface. With so many keys to drive, the hardware outlay per key is important.

Hello, thank you for your answers !

So I thought about your different notes. Indeed, there is no service manual available online, or you have to buy it, and I don't agree with that principle on older machines like this. But the design is not very complicated to understand.

The synth is based on Tone Generator ICs, TMS3615NS, which each generate the tones (square waves) for one octave, and provide a 1/2 clock for the lower octave. There are therefore 6 of them for the whole synth. The tones coming out of the 6 units are then mixed and everything goes to the secondary board (which can be seen above the keyboard) and which includes modifications of the sound as well as a very cool chorus. This gives a fully polyphonic keyboard, which is quite a clever conception !

Fortunately, the datasheet is rather complete about the tone generator (i will post the link at the bottom of this note) and we can easily find how to intervene on it. I took the values with a multimeter, I attach the image. When you trigger a note, the value on the key pin goes from 10.78V to 7.07 V. Concerning the velocity, the faster you trigger the note, the faster the voltage on the note drops before stabilizing around 7.07 V.

Example 1: low velocity: the value slowly drops from 10.78 V to 7.07 V and stabilizes. Example 2: max velocity: the value suddenly jumps to around 6.5 V then rises and stabilizes at 7.07 V. This slope must be generated by the capacitors below each key.

So in theory it would be enough to play on these input pins to trigger the notes directly on the TMS3615NS. But I don't know how to handle this velocity slope (both electronically and in the code, although it must be possible somehow) And another problem, triggering the sustain is done by adding a 1uF capacitor on each key pin (according to the datasheet), if we intervene at the pins we lose this ability to activate or not the sustain (by a pedal on the synth). That's why my initial idea was to intervene directly at the key triggers, to maintain the complete architecture of velocity and sustain.

I also took the measurements (with the ground as a reference) of the contact bars.

Note the presence of hex buffers (MC14049UB) under each series of 6 keys, I imagine to isolate the "trigger" circuit from the tone generators. And there are also some chips that I can't find the reference to, nor the datasheets (6C1ZA40026)… every two keys, I guess logic circuits… if you know what we're dealing with.

I had also thought about relays, yes, but I'm afraid the latency would be too high, and that would probably be much more expensive too. Same about optoisolators, it would take 72 of them, right? A bit expensive ... So what the idea of using transistors instead. I agree about the necessity to open all the contact of the keys, but as the keypad is not very good ... that’s not a big probleme.

Here is my statement. So any ideas are welcome ! Thank you !

Datasheets Links :