Enhanced keyboard sound with old iPad and MIDI controller

Some time ago, I wrote this post about enhancing the built-in sounds of a Casio keyboard, and possibly most other keyboards as well, but I was still unsatisfied because of having to mess with virtual buttons and sliders, which feel unnatural when you are in the thrall of music making. But then, Santa Claus dropped a Korg Nanokontrol2 down my chimney. Now I’ve got all of that intuitive nuance I was missing, plus some, courtesy of the Casio MIDI implementation. This article is essentially the same I posted at the Casio Music Forum a few weeks back, so I’m forgiving my self-plagiarism and reposting it here.

In essence, the keyboard will not only send out notes through a cable connected to its USB-B port, but also will play when MIDI messages come in through that port. And not only notes, but also all kinds of codes that tweak the way the sound is produced. I can use the knobs and sliders of my Nanokontrol2, which is narrow enough to sit on top of the keyboard without impeding performance, to tweak reverb, attack time, chorus, everything, in real time.

Here’s what you need:

  1. USB-B to USB-A cable, as for a printer (likely you have that already).

  2. USB hub (USB2 is enough because of the low bandwidth) with two or more ports.

  3. iPad or iPhone. It can be very old because of the low bandwidth required. I think an Android device might work too, but I have not bothered to find the software that will do the magic.

  4. “camera connection kit” to convert USB to the Lightning port of the iPad (Android will need a different adaptor).

  5. App that will echo MIDI back to the input. I use MIDIflow, which costs a few bucks, but the free MIDI Wrench works too. No idea what the app would be on Android.

  6. MIDI control surface full of knobs and sliders, plus a few buttons. I got a Korg Nanokontrol2, but there’s also a cheap Chinese one (even cheaper at AliExpress) that might work just as well.

  7. Obviously, a keyboard with MIDI capability. Mine is a Casio CDP-S350.

And here’s what you do:

  1. Program into the control surface the CC numbers for the features you want to control on your keyboard, on channel 1 for the Casio, associating hardware components (knobs, sliders, and buttons) to CC numbers. I am attaching the list, taken from my Casio CDP-S350 MIDI implementation chart, at the end of this post. The Nanokontrol2 has a software that allows you to make any of its knobs etc. send CC messages for any number and any MIDI channel. Channel 1 is the main keyboard patch, without layering or split. You may want to put stickers next to each control, to remind yourself of what it does. A list is at the end of this post.

2. Mount it on your keyboard (I found the area left of the power button to work best for me, with some adhesive velcro, as seen in the top picture), and attach a USB cable to it. Also attach a USB cable to the keyboard.

  1. Connect both USB cables to the USB hub, and that to the iPad with the camera connection kit in-between.

4. Turn on the iPad and open the app. MIDIflow works by mapping an input to an output, so I run two paths, both on channel 1: one feeding the MIDI IN from the Casio keyboard to out to the same keyboard, the other feeding the MIDI from the Nanokontrol2 out to the Casio keyboard.

  1. Go to the menu on the keyboard, MIDI section, and turn Local OFF. This will cause the sound to be produced only as a result of the MIDI messages coming in through the cable, and not directly from the keys. I found the delay caused by this process to be unnoticeable.

And that’s it! Now your keyboard should be responsive to the knobs and sliders on the control surface. Your reverb can get much greater, as well as your chorus, and everything. You can make the attack so slow that a piano will sound like a violin. A lot of release time will cause notes to blend, pretty much like having a lot of internal resonance. Below is a table with the CC numbers that work on the Casio CDP-S350, from their published MIDI implementation document.

And here are the CC numbers:

CC number    Action    range
1    modulation    0-127
5    portamento time    0-127
7    volume    0-127
10    pan    0-127
11    expression    0-127
64    hold off/on    0,127     for a button
65    portamento off/on    0,127     for a button
66    sostenuto off/on    0,127     for a button
67    soft pedal off/on    0,127     for a button
68    legato off/on    0,127     for a button
71    filter resonance    0-127
72    release time    0-127
73    attack time    0-127
74    filtr cutoff    0-127
76    vibrato rate    0-127
77    vibrato depth    0-127
78    vibrato delay    0-127
84   portamento control   0-127
91    reverb send    0-127
93    chorus send    0-127
94    delay send    0-127
120    all sound off    0     for a button
123    all notes off    0     for a button
126    mono mode    0     for a button
127    poly mode    1-127     for a button

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.