We moved this to the MODX Forum - Thanks Fred, for finding this - updated the answer and the Downloads for MODX (Two posts follow - each with a Downloadable example)
Foot Controller 1 and Foot Controller 2:
are physical Controllers that are sweep type pedals that send values from 0 (heel down) to 127 (toe down) position. By default, in MIDI, Foot Controllers will
reset to Maximum value, 127. This is regardless of the actual physical position of the pedal itself. With the MIDI Reset the idea is to place the tone generator in a condition where it is most capable of making a useful sound.
For example, the default for PB Wheel is +0000, the default for the MW is 0, the default for the Sustain Pedal is 0, etc. Foot Controllers, because of their likely use for volume control, it was decided that the MIDI default would be 127.
Foot Controller 1 and Foot Controller 2, do not have a fixed CONTROL NUMBER or message that they
always send... You can select that for them. In most keyboards (and all Yamaha synthesizers) you can select what Control Change (cc) number they will send. On Yamaha synths it is typically any cc between 1-95.
An example of a fixed physical Controller would be MW, PB Wheel, Aftertouch… these always send a specific command. MW will always send cc001. You cannot change what it generates, it always generates cc001. You
can assign it to control whatever you like, but it will always send message cc001. The PB Wheel and Aftertouch each have their own category of message (En and Dn, respectively). Pitch Bend (En where "E" hex for Pitch Bender and "n" is the MIDI Channel) can be assigned to control things other than Pitch, but it always sends PB values between -8192 ~ 0 ~ +8191 (how far or even IF, that bends any pitch is determined in the
receiving tone engine. Aftertouch (Dn) is its own category of message – and always sends values 0-127 when key pressure is applied – what that does to the receiving device is, like PB, programmed at the tone engine. But it is always sent - what you do with it is up to the TONE GENERATOR.
By Yamaha convention; we always default
FC1 to
cc011 Expression, and we always default
FC2 to
cc004 Foot Control. Here is the thinking on this:
One Foot Controller defaults to always controlling volume (Expression in this case), while the other is freely programmable. You can decide what cc004 will do - you can program it to be a Wah pedal, or second independent volume pedal. Expression cc011 will always control the output level of the receiving device (always); Yes, you can assign it to control other things – but recognize that it will also *always* control the output level (unless ...you turn the Rcv Switch Off at the tone generator side).
For example, if you have your FC1 set to cc011
and you also assign it to control ELEMENT COARSE (tune), with heel down (minimum) would be lowest pitch but the output would be quite silent and at toe down (maximum) would be highest pitch and maximum volume. This can be very useful… in getting a sound effect that rises in pitch as you fade it in from zero (heel to toe) and drops off in pitch as you fade it out (toe to heel)… all with the FC1 pedal sending cc011.
If, however, you set FC2 sending cc004 to control ELEMENT COARSE, with heel down to start, and as you continue towards toe down, you will continue to hear the sound throughout. FC2 cc004 does not have a fixed function… you can choose what it will specifically control, while FC1 sending cc011 will always do that volume thing, by definition, *in addition* to whatever else you pile on it.
If you want your FC1 or FC2 to be a MW, you would set the FC to send cc001... this pairing (is allowed) and makes the FC a MW you can move with your feet (for keeping both hands on the keys... so conflict of moving both simultaneously is reduced).
Now before we go any further – the difference between cc007 Main (channel ) Volume and cc011 Expression is an important part of this discussion. Control Change 007 is the Main Volume control of the MIDI Channel. Expression cc011 is also a volume control – but it works *within* the setting of cc007. So the Main Channel Volume cc007 is equivalent to the FADER on a mixer – while Expression cc011 is the musician controlling the signal at their instrument going into that mixer channel, it is the real time
performing control over volume.
If you are overdubbing a Hammond B3 solo - adding it to your other recorded tracks, and you realize that you never need to push the volume past 96 in this particular mix of instruments; you could set the Channel Fader to 96 (that would be the cc007 value)… now you can use the Expression pedal to work freely within that limit… the toe down position of the Expression pedal will be equal to cc007’s value of 96 and heel down would be 0. You would have 127 steps of control between minimum and maximum, but your maximum would never exceed the Main Channel Volume equivalent of 96. And your organ solo would not obliterate the rest of the mix!
Musical Expression is cc011
Absolute Channel Volume is cc007
Expression also has the added capability of maintaining proportion when it is used… here’s what that means… if you have two sounds on the same MIDI Channel – Piano (1) and Strings (2). You set the piano louder than the strings… if you control them both with cc007 both will jump to the same absolute value; with cc011 you can fade them up and down and they remain
proportional to each other.
Again, you can see that Expression was placed there by the designers of MIDI for performing. It is the MIDI Channel Control that is expressly created for musical changes in performing volume. This is standard throughout MIDI.
A third wild card working in all of this is Velocity. On those sounds that respond to velocity input, again, the Main Channel Volume (cc007) sets the ceiling for just how loud a Velocity of 127 is going to be… so it, too, works *within* the limit, or ceiling, set by the Main Channel Volume (cc007) setting.
Velocity settings are not made in the Control matrix but rather appear throughout the synth engine where it can be applied… you’ll find it so it can be applied to Pitch, to the Filters, to the Amp, even in certain effects…
Control Assign Number = What your Controllers are Sending
In each Performance you can setup what CC numbers certain of your physical controllers are sending. Shown above is the PERFORMANCE > COMMON > Control > Control Number
RECEIVE SWITCH = What your PART is set to respond to
In each Part you can customize what it will respond to
If you set (as the dual assignment I mentioned earlier) where FC1 cc011 was also assigned to do ELEMENT COARSE (tune), as in the screenshot above and in the attached example Performance, setting the RECEIVE SWITCH for FC1 = OFF would stop the tone generator from receiving the message to alter the tuning of the PART. But it would continue to receive cc011 and control the Expression (volume).
If, conversely, you set only the RECEIVE SWITCH for "VOL/EXP" = OFF, and left FC1's Receive Switch On, the FC1 would still control the ELEMENT COARSE (tune)... but not the volume.
The "Vol/Exp" being the specific controls that FC1/2 treats as the exception to the rule, if you will. By defeating FC1 or FC2 you stop them from controlling the Part, EXCEPT, when they are also sending fixed function CC numbers like cc007 or cc011. These will always (always) affect level on the Channel they are sent (unless you turn the RECEIVE SWITCH OFF specifically for those functions). And you can turn either RECEIVE SWITCH On or Off, as you may require.
They are independent. I've attached a MODX Connect .X8B Single Part Performance to illustrate the point... (zipped) Unzip it and open it with MODX Connect - this will bulk the program to your MODX's Edit Buffer (meaning it will not Overwrite any of your data).
Last thing… there is a general rule of thumb that says you will have problems when you assign control over a parameter to two different Controllers and attempt to use them both (ouch). And often you are prevented from doing so. Imagine you are turning a sustaining sound down with one physical controller while another is being advanced to turn that same parameter up… Zipper noise and worse will occur as the sound desperately tries to accommodate your conflicting commands. But there are exceptions…
Hopefully, that sheds a bit more light on what goes on with FC1, FC2 and why you can independently defeat the RECEIVE SWITCH for VOL/EXP from the switches for FC1 and FC2.
Overall this does allow flexibility. Yamaha chose to
default FC1 to Expression (fixed function) because so many users want to plug in a pedal and have it work for Volume (right away) – hard to argue with that convention. The FC2 defaults to cc004, it being assigned to a freely programmable Control Number (no fixed function baggage) is also a no brainer – those who wish to assign a foot pedal to control ‘whatever’ (Wah pedal, pitch bender, filter sweeper, etc...) have one that is fully and freely assignable.
By the way, the FC2 = Super Knob is
not the default, technically speaking. It is the convention that was used in all 2,036 Factory Performances – but you will notice if you start with an INIT program, the FC1 is cc011 and FC2 defaults to cc004. You have to make that assignment if you want to use either Foot Controller to control the Super Knob. Over time Yamaha has evolved the controller setup based on research. It may not be perfect, but it is extremely flexible.