Jump to content

Keystation Pro 88 (or other controller) as the Logic Control


Recommended Posts

I'm sure some of you already know how to do this. I just figured I'd write this up at some point to share with others. The basic idea is to use the Keystaion Pro 88 (or some other MIDI Controller) as an actual Control Surface, or in this case the Logic Control, to have more freedom with the MIDI Controller, i.e. using the group of 8 faders (on the Keystation) to control Volume for tracks 1-8 in the arrange window, and then hitting Bank Right to automatically control tracks 9-16, and as a result making a universal controller not bound by specific channel messages, or MIDI CC Volume messages etc... in short the essence of any Control Surface.


What I'm describing below is what this app will also do: http://www.opuslocus.com/lcxmu/index.php


I basically just wanted to avoid using a separate application all together. Keep in mind that the app does simplify the whole process, but Logic inherently can do pretty much everything the app does.


I recommend reading this in its entirety before attempting.


KeyStation Pro 88 as Logic Control


Part One: Add Logic Control as Control Surface

1. Open Logic.

2. Preferences / Control Surfaces / Setup...

3. New / Install / Select your preferred device (in my case Logic Control

4. Click the icon in the setup window for the Logic Control.

5. On the left hand side under "Logic Control" you should see an "Out Port:" and "Input:" ... select the desired MIDI in/out through which your device is connected.

6. Open Preferences / Control Surfaces / Controller Assignments. Make sure you select the "EXPERT VIEW" check box.

7. You should now see a bunch of different Zones in the Zone column, one of which is "Control Surface: Logic Control"

8. Create your own Zone, KeyStation Pro 88 (or whatever) using the Plus sign in the bottom left corner of the Controller Assignments window.

9. Now basically go through the existing parameters already available in the Logic Control Zones, Select what you want. You can select entire Modes or individual Controls / Parameters. You can select multiple values (only multiple Control / Parameters NOT modes) by selecting and dragging or simply with select and holding command.

10. Command-C the selected Modes and then click back onto you user zone that you created above.

11. Click inside the Mode column (or Control / Parameter column depending upon what you selected and copied from the Logic Control zones).

12. Command-V to paste the Modes into your user Zone.

13. Do this for as many Modes / Controls you want, that your specific MIDI controller interface will be able to handle.


Part Two: Assigning Input Values

1. Open Preferences / Control Surfaces / Controller Assignments

2. Now for each parameter that you copied, you will need to set the input MIDI value from your controller.

3. Click on your User Zone, then Mode, then the first parameter in the 3rd column.

4. You should see a "MIDI Input" option (this should already be set correctly as long as you set it earlier in Step 5 of Part One). If it's not set to the correct MIDI input (which I found to be the case sometimes even after Step 5), then change that here.

5. Next to "Value Change:" you will see a box with MIDI data in it. Delete the existing date by highlight and delete.

6. Activate "Learn Mode" (bottom right corner of Controller Assignments window) then click within the "Value Change" box, then move the corresponding fader, button etc. The "Value Change" should now show the MIDI data value for that fader. Be careful here, there should only be 3 groups of 2 for data here... if you see 2 groups, of 3 groups, of 2 then typically the FIRST group of 3 should be the value you want here. You can always delete the data, and move the fader again to be sure. The reason for the 2 groups of 3 is not in error: some buttons send TWO MIDI values, one on press and one on release. You can use this to your advantage and assign TWO different functions to these buttons, thus the first (press hold) value can do one thing and the second (release) value can do another. You can also change the MIDI controller to only send 1 message on press and nothing on release, or simply make sure that only the on value is present in the "Value Change" box.

7. You'll have to do this for all the different knobs / faders etc. on your MIDI controller. There are many shortcuts of course. You can manually type in the Values if you know them. For the Keystation Pro, M-Audio has an app called Enigma that I recommend for changing controller parameters and much more on the Keystation. You can use this app to assign all the actual control data that each button or fader sends to the sequencer, once you know the values you can convert that data to the MIDI data values and enter them into the Value Change box.

8. Once you're done assigning values to the controllers, you can delete all the Zones except for the user Zone you created earlier. Before you do this, it's a good idea to back up the Control Surface preference file just in case you ever want to grab something else from the Logic Control Zones. You could always add a second Logic Control and copy the Zone from that, but you'd have to reassign all the MIDI Input: values ... short version, just back up the preference file before you delete the Zones. The reason why you want to delete the Zones that you're not using is simply because if you have a controller that happens to send out MIDI data to the sequencer, and the actual Logic Control happens to have that MIDI data value already inherent it it's Zones, then you could be asking for trouble, simply put you'd be sending MIDI data to change Volume and the Logic Control maybe has that MIDI Data Value already assigned to Pan for the existing track.


The file to backup is located here: ~Users/*username*/Library/Preferences/Logic/com.apple.logic.pro.cs


As a precaution I have always backed up my Logic Preference file WITH this .cs file. Technically it's not necessary... for instance: Let's say you trash your preferences and open Logic to find that the Logic Control is missing from the Control Surfaces Setup. So you add it back and now you find out that Logic is missing the User Zone that you created. If you close Logic and copy the .cs file back to the directory above, then upon reopening Logic you should find your User Zone is in place again. But I've had mixed results with that, so just in case I copy over the preference file with the .cs file as a pair. It seems that the Logic pref file only contains information that the Logic Control is a Control Surface on your system and the .cs file is the preferences for that specific Surface.


Another note: after a recent Logic update, maybe 7.2? ... it was whichever update added support for more Control Surfaces, I can't remember. This update basically erased all the hours of hard work linking the Keystation to Logic as the Logic Control. This only happened with this specific Control Surface update, but not with 7.2.3, probably simply because they didn't make any changes to the .cs pref file.


Anyhow, when this happens again in the future, there seems to be a quick fix. I take NO responsibility for you somehow crashing Logic on a continual basis after applying the fix. Personally I have seen NO issues by doing this at all. I simply copied a version of the .cs file with the new update missing the Keystation Zone, as well as a version of the .cs file WITH the Keystation Zone, to a PC (I think it was a PC, don't believe I tried it with textedit, although should work as well). I opened both of the files in notepad and compared them. I noticed the word Keystation towards the bottom and realized that most all the data (gibberish) was exactly the same up until a point in which the file with the Keystation data had a group that was absent from the new .cs pref file from the new update. So I basically copied the data from the old .cs pref file, pasted it into the new .cs pref file, saved it and open Logic. Logic warned me that a pref file was corrupt or something of that nature, but loaded fine anyway, and the Keystation Zone was back in Controller Assignments.


One last thing... the problem that some of you may run into is that by making your MIDI controller a Control Surface, or turning your Keystation Pro into a Logic Control, limits some of the functionality of the MIDI Controller. For instance, a Logic Control's main purpose is to control different faders, knobs and what not of MANY different tracks. When you move a fader for volume on the Logic control, it will move the fader corresponding to the selected track... it's not programed to say change the actual midi CC 7 for Volume, only the actual Fader. Thus, what if you want the MOD wheel to still control modulation and you want the sustatin pedal to continue to act as a sustain pedal. Well, if Logic sees that Port 1 is the input for the Logic Control, but in reality the Keystation, then it's only going to allow specific events through. The way around this issue is by using both the input options that the Keystation has... hook the MIDI out into Logic and use the USB port as well. I run the Keystation as a Logic Control through the USB port, and use the MIDI out for actual MIDI data. But the catch is you have to make sure you only connect the MIDI Port into Logic's sequencer in the environment. Thus open the environment, open Clicks & Ports, Port 1 and Port 2 are the IN/OUT for the USB port. Midi Port is the Keystation's MIDI port. Select and delete the cable for the SUM, and run individual cables for the ports you want to use. Thus, all your other MIDI interface Ports, the Caps Lock keyboard etc. Just be sure that if your using Port 1 (USB Port Out from Keystation) for the fake Logic Control, that it DOES NOT cable into the "Input View" or "to Recording & Thru". This creates yet another issue:


The controls on the Keystation have to send SOME form of MIDI control message / data to Logic. Well if the faders on the Keystation are preset to send Ch1-9, Volume 0-127 messages, then when you move a fader on the Keystation (as the Logic Control) since the Keystation is still reaching the sequencer from the MIDI port, you will be sending MIDI values that can effect your current track possibly when you don't want to. The work around for this is to be sure that all the faders / knobs that you want to use as your fake Logic Control are sending useless MIDI data... i.e. CC 75, 76, 77, and so on. This way moving faders won't effect playback, although you could still in theory record this MIDI data into your sequencer. You could however filter this events from entering the sequencer input with a transformer since you know precisely what MIDI CC values you are changing. The easy way to assign these values is to use the program Enigma from M-Audio that I mentioned above.


More discussion specifically related to the Keystation Pro 88:


You can do a lot using the Controller Assignments and different Zones from the Logic Control. For instance, the real Logic Control has Solo, Mute, and Record buttons for the 8 faders. The Keystation Pro only has 1 button underneath each fader. But you could use one of the other buttons to toggle Solo, Mute, and Record mode so that depending on which mode your in, the buttons underneath each fader will correspond to Mute or Solo etc. By the way, a good setup from my experience is to use the first 8 faders of the Keystation as the track faders, and the final 9th fader for Master Volume. You can then set two of the buttons underneath the Knobs as Bank Left and Bank Right buttons to change the 8 fader tracks to correspond to the onscreen track groups of 8. Also don't forget that you can assign TWO functions to EACH button, since a button press can send a value of 127 and a button release can send a 00 value. So if you press and hold a button it can activate "Shift-select Mode" and until released it can make the buttons under the faders act as Volume to Zero resets or whatever you want. When you release the button it will go back to just Mute mode or Solo mode. The Controller Assignments window has MANY options, and parameters some of which are very confusing and take a lot of trial and error to understand... the manual helps a little but of course isn't perfect.

Link to comment
Share on other sites

have just got keystation pro88. when load autoload works fine. when load logic preset song no sound?? Also how do i make the zones and split keyboard work with different audio instruments. Can i set up a song with different instruments on different tracks (and midi channels ) and play more than one sound at once? Seems that it is possible but i hav been unable to. Do I need to split the midi in signal in the environment to access the diferent tracks and if so how??! thanks
Link to comment
Share on other sites

Hey there foreman,


Well personally I haven't done anything with zone splits and the 88, but I know that the manual has plenty of discussion on it and is pretty complete.


I'm not sure I understand that problems you're having with the Autoload vs a Logic Preset Song? Your default loading .lso project would have been setup with the Setup Assistant when you started Logic for the 1st time, and thus as long as the KeyStation was plugged in USB or into a MIDI interface on your system (that was hooked up) then it should be in the SUM of MIDI ins in the Environment... then again a Logic Preset song should also have the SUM of all the ins as well since by default all your interfaces are summed to the Sequencer input. The only other reason I can think of why there's be "no sound" is because the KeyStation is not triggering any sounds... i.e. MIDI devices or a Logic synth. When you play the Keystation do you see incoming MIDI data in the transport window?



Link to comment
Share on other sites


This topic is now archived and is closed to further replies.

  • Create New...