Velocity Adjustment for MIDI Masterkeyboard

A while ago (I think I was 16 or so) I bought a MIDI master keyboard, i.e. the FATAR Studiologic TMK-88 (or TMK 88?). The production quality of the keys and the feeling is quite good. The only unsatisfactory thing is the dynamic range of the velocity. You have to hammer on the keys like a lunatic to get a maximum velocity value of 127 out of the keyboard. For many years I wondered if I could adjust the velocity settings of the keyboard to make it more sensitive. I opened the housing and looked for potentiometers or jumpers that could be related to velocity response. I did not find a thing.

One day I had my keyboard connected to my PC and used Reaper as a host software to load and play on VST instruments. Reaper came with a MIDI processing filter that allowed for multiplying the note velocity of a MIDI input device with an arbitrary factor. That was cool. I figured that my keyboard behaves absolutely fine if I multiply the velocity values with 1.6 or so. Too bad this possibility was limited to the work with the software instruments. If only I had a little computer with a MIDI interface inside of my keyboard that multiplies my velocitys with 1.6. If only …

A few years passed. I grew older and smarter. And I eventually learned how to program microcontrollers.

Then came the day to hack my keyboard. So I built a little PCB with an ATTiny2313 and few other parts on it.

Here’s the schematic:schematic

There is not much, just the ATTiny, an optocoupler so the MIDI input complies with the General MIDI specification, a 12 MHz quartz, a 6 pin ATMEL ISP header, and that’s it.

The keyboard wants to be powered with 9V DC. I “steal” these 9V by soldering wires directly to the power in jack. I get the microcontroller’s vcc, i.e. 5V with a linear regulator (LM7805) plus a few capacitors (not shown in the schematic but in the pictures).

I separate the conducting paths just before the MIDI output jack on the PCB of the keyboard and loop the MIDI signal through my little machine. Then I feed the output back directly into the keyboard’s MIDI OUT jack. Works like a charm!

I have uploaded the microcontroller firmaware (sources + hex) here:

-> download microcontroller firmware <-

or view it on GitHub


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s