|
Here's a handy list of MIDI continuous controller commands (or CCs) defined in the official MIDI Spec. The MIDI specification is the agreed upon standard the manufacturers follow when building midi devices. It is published by the MIDI Manufacturer's Association (MMA). It is important to understand that manufacturers are not required to follow this spec or fully implement it in their devices. Nearly all MIDI synths do implement the basic ones, which I have put in bold. You can check to see which controllers your synth can send and receive by looking at the MIDI implementation chart in the back of your manual. You can read the official MIDI spec all day long and still not get a clue on how to set up your synths knobs to control other stuff. So I am going to give you a very unofficial real world "loose" definition of what is really going on in the area. I use the term "loose" because manufacturers only loosely follow the spec. They wrote it that way on purpose. The more you try to read it literally, the more confused you may become. Nearly all take great liberty to interpret controller definitions to suit the needs of the product. For example, if a knob on a synth is labeled "filter cutoff", they might use an unchangeable controller 74 for that. Or they might not. They might use 74 as a default, but let you change it to any value you want. Or they might use 21, or 98 followed by 99. I know some of you are getting worried this may be a bit much to grasp, but bear with me, it's all really simple. When you are done with this article you should be able to set up all your synths in a consistent fashion, where the filter knob on one actually controls the filter on another. See the Questions and Answers Below The knobs on your synth typically send controller data. You can also generate and output such controller data from faders and and editors within the software. Whether they work or not depends solely on if the feature is implemented in the product. Sometimes controllers are freely assignable in your midi device. For example, in a Proteus 2000, the manufacturers have implemented 12 controllers, calling them controllers a, b, c, d, e, f, g, h, i, j, k, l. You can route the controller number of your choice to each from 1-95. Inside each program of the p2k, you assign parameters to as many controllers as you want. You may decide you want filter cutoff on controller A and resonance on Controller B. Then at the global level you define that Controller 17 for example) will always tweak Controller A. You twist the A knob and Controller 17 values are sent to the sequencer, which echoes them back to the synth, and turns the frequency cutoff parameter.
MSB and LSB Don't let this bit of technical jargon scare you off. MSB stands for Most significant byte and LSB stands for Least significant Byte. This data format is used when 127 values are not enough for the control. Think of it like a shortwave radio. The MSB sets the coarse tuning and the LSB is the fine tuning. Synths with very finely articulated knobs may send out an MSB and LSB, but most just send an LSB. You can tell by recording a knob tweak in your sequencer, then looking at the data in the event editor. If there are two sets of controllers, each with a range of 0-127, that's what's going on, it's sending a MSB and an LSB. Don't worry about learning hexidecimal code that the programmers have to deal with. Unless you are writing music software, all that stuff is a waste of time. Just remember, coarse and fine tuning.
One of the beautiful, but confusing things about controller definitions is the way manufacturers can creatively use them to control the innards of their synthesizers. Remember, it's just code. Send the right code, the synth reacts. List of Standard MIDI Continuous Controllers (CCs) 0 Bank Select (MSB) Never re-route anything to Controller 0. It will mess up your program changes. 1 Modulation Wheel or Joystick (positive polarity) (MSB) Can be effectively remapped to other controllers on some synths 2 Breath controller sometimes Joystick (negative polarity) (MSB) Can be effectively remapped to other controllers on some synths 4 Foot Pedal (MSB) Don't mess with it 5 Portamento Time (MSB) Only use this for portamento time 6 Data Entry (MSB) Better leave this one alone too. 7 Volume (MSB) If you re-route to Controller 7, your software mixer will mess up 8 Balance (MSB) Some synths use it 10 Pan position (MSB) If you re-route to Controller 10, your software mixer will mess up 11 Expression (MSB) Roland synths use it. Some synths use it for LFOs, some for crescendo/ decrescendo (loudness). Sometimes routed to keyboard aftertouch. The group below are sometimes "hard assigned" to faders and knobs on your synth. But usually they are set as a default you can change to match your other synths 12 Effect Control 1 (MSB) 13 Effect Control 2 (MSB) 14 Undefined 15 Undefined 16 Ribbon Controller or General Purpose Slider 1 17 Knob 1 or General Purpose Slider 2 18 General Purpose Slider 3 19 Knob 2 General Purpose Slider 4 20 Knob 3 or Undefined 21 Knob 4 or Undefined 22-31 are undefined, available for use by synths that let you assign controllers. These are a good choice if you can freely assign controllers on all your synths. If you can use them in a consistent way, all your synths will react the same way. For example if you always assign 22 to Knob A and you always assign Knob A to filter cutoff, then all your programmable synths will sweep the filter when you turn knob A no matter what synth is selected on that channel in your sequencer. This works until you get a synth that hard assigns filter cutoff to controller 74, as many general midi synths do. To make it more confusing, some synths will let you assign filter cutoff to CNTL 22 but will still let the synth react to CNTL 74 32 Bank Select (LSB) It's critical that you do not assign this controller to other functions. Unless you like random bank changes running through your song. These may or may not be implemented in your synth, most likely they are not. 33 Modulation Wheel (LSB) 34 Breath controller (LSB) 36 Foot Pedal (LSB) 37 Portamento Time (LSB) 38 Data Entry (LSB) 39 Volume (LSB) 40 Balance (LSB) 42 Pan position (LSB) 43 Expression (LSB) 44 Effect Control 1 (LSB) Roland Portamento on and rate 45 Effect Control 2 (LSB) 46-63 may be in use as the LSB for controllers 14-31 in some devices, but I have not seen one yet. This group controls pedals typically. Leave this group alone when reassigning controllers. 64 Hold Pedal (on/off) Nearly every synth will react to 64 (sustain pedal) 65 Portamento (on/off) 66 Sustenuto Pedal (on/off) 67 Soft Pedal (on/off) 68 Legato Pedal (on/off) 69 Hold 2 Pedal (on/off) More Ways to CONTROL Digidesign Command 8 Control Surface for Pro Tools Command|8 puts integrated, tactile manipulation of Pro Tools TDM or LE systems running on Windows XP or Mac OS X at your fingertips more affordably than ever before. While there are several compact control surface options from third-party manufacturers compatible with Pro Tools, only Command|8 was made by Digidesign and Focusrite specifically for Pro Tools. M-Audio Project Mix I/O Control Surface/Interface Today, more professional music is produced at home than ever before -- and the new ProjectMix I/O delivers what you need to take your computer-based studio and productions to the next level. Seamless integration with all major DAW software. The ability to record directly into industry-standard Pro Tools sessions. Faders so you can feel the mix with your fingertips instead of dragging a mouse. On-board display of critical parameters for intuitive operation. Motorized control to craft more accurate mixes. Priced from
Evolution UC33e MIDI Control Surface The Evolution UC-33 is the affordable hardware controller, designed to be used with any computer music / MIDI setup. Frontier Designs AlphaTrack Compact Control Surface Frontier Design Group's new AlphaTrackâ„¢ combines a set of intuitive tactile controls in a compact and attractive package. Ride a high-resolution fader, turn real knobs, scroll and shuttle with the touch of your fingers, all with a control surface that fits your desktop and the way you work. AlphaTrack lets you work more productively and creatively without giving up a lot of desktop space.
Akai MPD16 USB MIDI Pad Control Surface Expanding on the legacy of the legendary MPC series, Akai Professional introduces the MPD16 USB/MIDI Pad Control Surface. The MPD16 is a self-contained unit that connects via USB and/or MIDI to computers and sound engines such as the new Akai Z4 and Z8 samplers, which include drum program set-ups as well as This next group controls parameters on some synths. Here's where you need to closely inspect your midi implementation chart to see what's going on. Synths with lots of knobs may "hard assign " them to specific knobs. If you can use 71 and 74 for frequency and resonance, it's a good idea to do so. On the Korg Triton for example, 71-74 are hard assigned to the knobs. If you set your more freely assignable Proteus to respond the frequency cutoff on CNTL 74, then your rig is more consistent.
70 Sound Variation 71 Resonance (aka Timbre) 72 Sound Release Time 73 Sound Attack Time 74 Frequency Cutoff (aka Brightness ) 75 Sound Control 6 76 Sound Control 7 77 Sound Control 8 78 Sound Control 9 79 Sound Control 10 80 Decay or General Purpose Button 1 (on/off) Roland Tone level 1 81 Hi Pass Filter Frequency or General Purpose Button 2 (on/off) Roland Tone level 2 82 General Purpose Button 3 (on/off) Roland Tone level 3 83 General Purpose Button 4 (on/off) Roland Tone level 4 84-90 are undefined, typically available for use by synths that let you assign controllers Effects Group Controls 91 and 93 are active on nearly all general midi synths I have played, and many others use these too. 91 Reverb Level 92 Tremolo Level 93 Chorus Level 94 Celeste Level or Detune 95 Phaser Level It's probably best not to use the group below for assigning controllers. 96 Data Button increment 97 Data Button decrement 98 Non-registered Parameter (LSB) 99 Non-registered Parameter (MSB) 100 Registered Parameter (LSB) 101 Registered Parameter (MSB)
It's very important that you do not use these no matter what unless you want to invoke these functions 120 All Sound Off 121 All Controllers Off 122 Local Keyboard (on/off) You might actually crash your keyboard if you use this one. 123 All Notes Off (Heh, your song will go haywire if you use this assigned to a knob.) you typically don't want your synths to change modes on you in the middle of making a song, so don't use these. 124 Omni Mode Off 125 Omni Mode On 126 Mono Operation 127 Poly Operation CME UF5 49-Key Semi-Weighted Action Controller CME Waldorf Nano SynCard Expansion Board for UF Controllers The Waldorf Nano SynCard is a plug-in sound expansion module designed for use with CME UF MIDI keyboard controllers. the Nano SynCard provides 24-note polyphony and contains over 1,000 classic Waldorf MicroQ synth sounds. It easily installs into the back panel of CME's UF Series keyboards.
-------------------------------------------------------------------------------- Questions and Answers -------------------------------------------------------------------------------- Q) Tweak, dude, I can't read manuals! Every time I open one up I fall asleep! Just tell me how it works! OK? OK here it is plain and simple. Your sequencer application allows you to record controller data the synth sends out, right? Here's the EASY way. Start recording on any MIDI track. Turn a knob. Look at the data in the event editor. That's your controller data you are looking at from that knob. Now go to your other synths global section and set up it's controllers to the same numbers that the knobs (that you use most of the time) transmit. That is, if your other synths will let you (hehe). --------------------------------------------------------------------------------
Q) Tweak! I only have 4 freely assignable knobs on my keyboard. Which controllers do you recommend? A) I tend to favor using 74 (filter cutoff) , 71 (Resonance) 91 (Reverb) and 93 (Chorus) as these are widely adopted by many hardware and software synths. --------------------------------------------------------------------------------
Q) I set up my MIDI controller with the definitions you supplied but it doesn't work with all my synths! What is going on! A) Every synth may be different in the controller events it uses for different functions. The MIDI spec is just a guideline in this area. Gear does not have to follow it, and they may adapt CC events for their own purposes. Turn to the back page of your manuals and look for a MIDI IMPLEMENTATION CHART, which tells you which commands are supported. --------------------------------------------------------------------------------
Q) Are MIDI continuous controller events the same as System Exclusive data? A) No. CC events can be passed in real time as part of a song and can be used with all synths that support them. Consider the mod wheel, which sends CC1. It works the same way on different hardware. System Exclusive or SysEx contains a machine specific identifier so only that specific model from that specific manufacturer is controlled. If you sends sysex designed for a Korg Wavestation, you can bet that your Roland Fantom will totally ignore the data. SysEX code often switches synths to a different mode momentarily so audio may stop when sending or receiving sysex, so it's value is limited for real time tweaks. MIDI CC events on the other hand can be inserted directly into a sequence of note data, with no glitch (other than those you intend). --------------------------------------------------------------------------------
OK, we're done! Amazing what you can do with a little control. Heh. Never lose Control, it's unbecoming you know. Heh, I AM IN Control! Right! Take Control of your Sonic Universe! Ah, there's the title.... source: tweakheadz
|