Basic MIDI and Controllers

clarky

Axe-Master
As promised guys:
Note: Yek / Simeon / and I know there are others, please chip in cos you guys are seriously smart and could no doubt add a lot of value and good insight with this stuff

How does MIDI hook everything together in the Axe?
In the MFC you can set the number of presets and IA’s, by default the front row of switches [1 to 5] are for presets and the remaining presets are for Instant Access [IA] switches.
We know that when you step on a preset switch that this sends a MIDI program change message to the Axe, but what about the IA switches?
The IA sends a MIDI CC number and a value. As the MFC and Axe are both made by FAS, the hard work has been done for you. The IA in the MFC can have an effect block assigned to it via meaningful names like Delay1 or Drive2.
This is set in the MFC: edit / MIDI / page right 7 times. In here you’ll see the following:

IA01 Axe-FX FILTER1

This means that the bypass of filter 1 is assigned to this IA.
IA01 is the first of the IA switches, so if switches 1 through 5 are for presets, switch 6 is IA01.
When you step on IA01 the MFC sends out a MIDI CC message to the Axe.
The CC number is 52. How do I know this?
Go to the front panel of the Axe and look in I/O – CTRL page, and scroll down until you find FILTER1 BYP on the left. To the right of this will be number 52.
This means that when the Axe receives CC messages on MIDI channel 1 where the CC number = 52, FILTER1 will bypass / unbypass.

So looking at this setting again:

IA01 Axe-FX FILTER1
What this means is:
“IA01 sends MIDI CC messages where the CC number is 52 [FILTER1]

If you look in the MFC: edit / MIDI / page right 9 times you’ll see this:
IA01 c1 Off000 On127
What this means is:
“IA01” sends a MIDI CC message on “c1” [channel 1] where the CC value “000” will turn something off and “127” will turn something on.

So let’s put all this together:
IA01 Axe-FX FILTER1
IA01 c1 Off000 On127

Step on IA01 and the MFC will send on MIDI channel 1, MIDI: CC 52 with a value of 0 to bypass FILTER1.
Step on IA01 again and the MFC will send MIDI: CC 52 with a value of 127 to switch FILTER1 back on.

External Switches and Pedals
This is much more fun and much more powerful because you can control more FX parameters simultaneously.

What we have here is essentially a chain of events.
Let’s say we get a nice external switch like a Boss FS-6 and connect it to the MFC.
The FS-6 actually has 2 switches, A and B.
We connect it to the MFC “switches 1+2” socket.
FS-6 switch A will become XS1 in the MFC and B will become XS2.

Just as with the IA we need to assign each XS to a MIDI CC number, but this time it’s numbers and not names.
If we go back to the front panel of the Axe I/O – CTRL page and scroll until we see EXT CTRL ‘number’ on the left you’ll see a number to the right.
For example, EXT CTRL 5 is assigned to 20.
In the Axe / Axe-Edit EXT CTRL 5 controls the modifier Extern 5
So in the MFC we go to edit / MIDI / page right 14 times we’ll see:
XS1 #OFF Ch01 TypHDW and we change it to XS1 #020 Ch01 TypHDW, what we’ve done is assign the following:
FS-6: swA -> MFC: XS1 -> MIDI: CC 20 -> Axe: I/O:CTRL EXT CTRL 5 -> modifier: Extern 5

Therefore FS-6 switch A controls anything you assign to modifier Extern 5

Example:
We have a nice amp tone and we want to solo with it. We want a little more drive, a little more volume and add a delay
We assign the following:
Amp1: drive -> modifier Extern 5 where min=3 / max=5
Amp1: level -> modifier Extern 5 where min=0 / max=4
Delay1: bypass -> modifier Extern 5 where min=off / max=on

We step on FS-6 switch A and the following happens:
The MFC detects that XS1 has been stepped on
The MFC sends MIDI: CC 20, value 127 to the Axe on channel 1
The Axe sends this information from I/O: CTRL EXT CTRL 5 to modifier: Extern 5
All of the fx parameters assigned to Extern 5 react as configured, so:
- the amp1 drive increases from 3 to 5 [more dirt on your tone]
- the amp1 level increases by 4dB [from 0 to 4 so it’s louder]
- the delay1 block is unbypassed

Hit FS-6 switch A again and the reverse happens:
The MFC detects that XS1 has been stepped on
The MFC sends MIDI: CC 20, value 000 to the Axe on channel 1
The Axe sends this information from I/O: CTRL EXT CTRL 5 to modifier: Extern 5
All of the fx parameters assigned to Extern 5 react as configured, so:
- the amp1 drive decreases from 5 to 3 [less dirt on your tone]
- the amp1 level decreases by 4dB [from 4 to 0 so it’s quieter]
- the delay1 block is bypassed [muted]

Expression pedals work in exactly the same way but with one difference. The CC values are not only 000 [off] and 127 [on].
So if we jacked an expression pedal into the MFC ‘expression pedal 2’ socket, this would be seen a XS2 in the MFC. In the MFC edit / MIDI / page right 16 times and then the ‘up’ switch we would set this to:
XP2 #017 Ch01 BegPDL
This means that expression pedal 2 makes the MFC send MIDI CC messages on channel 1
Where the CC number is 17.
We have just assigned the following:
Exp Pdl 2 -> MFC: XP2 -> MIDI: CC 17 -> Axe: I/O:CTRL EXT CTRL 2 -> modifier: Extern 2

As the pedal moves from toe down to heel down, the MFC starts sending lots and lots of MIDI CC messages to the Axe:
CC 17 value 127, then CC 17 value 126, then value 125, 124 and so on until the pedal stops moving. So unlike a switch that changes from 0 to 127 and back, a pedal sweeps through all of the values from 127 down to 0.
Now we can do things a little differently:
Amp1: drive -> modifier Extern 2 where min=3 / max=5
Amp1: level -> modifier Extern 2 where min=0 / max=4
Delay1: input gain -> modifier Extern 2 where min=0 / max=100 [the delay can be on all the time now].

Move the expression pedal from heel down to toe down and the following happens:
The MFC detects that XP2 is moving from min to max
The MFC sends lots of MIDI: CC 17 message with values starting from 000 and gradually increasing to the Axe on channel 1
The Axe sends this information from I/O: CTRL EXT CTRL 2 to modifier: Extern 2
All of the fx parameters assigned to Extern 2 react as configured, so:
- the amp1 drive gradually increases from 3 to 5 [we’re fading in the dirt]
- the amp1 level gradually increases by 4dB [from 0 to 4 so it gets steadily louder]
- the delay1 block is input gain gradually increases [so the delay fades in]

So what is the EXP stops half way at the mid-point?
The tone would be roughly a little dirtier, a little louder and with a little delay added, but less than the ‘full-on’ toe down tone.
From here, all you need is a little imagination and you can start really sculpting tone in real time.
 
Last edited:
And here's a little stuff about the very basics of MIDI.
Note: it's not a dark art....


What actually is MIDI?
MIDI = Musical Instrument Digital Interface.
If I turned that little lot into more friendly English, I’d end up with something like this:
MIDI is a means of “interfacing” [connecting] “Musical Instruments” together using a “digitally” encoded protocol [essentially a language].
A key thing often misunderstood about MIDI is that it does not actually contain audio or sound, so you can’t actually ‘hear’ MIDI. It’s simply a stream of information or instructions from one device to another. Essentially:
“turn this ‘thing’ on in that keyboard”
“change the value of this parameter in that effect”
“play this note on that keyboard using this patch”
MIDI is a method of connecting together MIDI capable musical instruments / devices so that they can use a ‘language’ to communicate with each other.

What is MIDI used for?
MIDI is basically all about control - one device being able to control another.
Back in the 70’s it’d not be unusual to see a prog rock band with a keys player completely surrounded by all kinds of synthesizers and keyboards. Just take a look at pictures of Keith Emerson or Rick Wakeman from around the 1972 to 1978 era. Sometimes they’d want to play a musical phrase but use more than one sound at the same time and blend them together. In the early days they have to play the part with each hand playing a different synth. It was recognised that some sort of ‘remote control’ was needed. In the early days control was achieved via analogue signals but that had limitations of its own. The thing that really unlocked the door for control was MIDI because:
- it was standardized, enabling devices made by different manufacturers to communicate
- it could communicate much more information that simple ‘on / off’ and pitch information
So think of MIDI as being the language used for a music specific ‘remote control’.
With MIDI I can connect several synths together and use one of them to ‘play’ all of the others. I can use a floor controller [like the MFC] to control a keyboard or FX unit [like the Axe] to make it change preset [program] or to take control of some effect’s parameters enabling control in real-time via switches or expression pedals. I can use a Digital Audio Workstation [like Logic or Ableton] to control effects units [like the Axe] or play synths and keys. I can use a MIDI control surface to control a DAW remotely so that I can ‘play’, ‘stop’, ‘record’, use real faders [just like on a mixing desk] to control the software faders in the DAW’s mixer.
MIDI can also be used to synchronize tape machines to a DAW or sequencer and provide a clock source.
MIDI is all about control and / or being able to control everything from one place.

What MIDI basics do I need to know?
IN / OUT / THRU – these are the MIDI sockets [ports] you’ll see on any MIDI device and here is what they do:
IN – this contains the MIDI in-coming from the controlling instrument / device.
OUT – this contains MIDI that is being created by the instrument / device.
THRU – this is a copy of the MIDI that arrives from the MIDI IN and is sent outwards to other instruments/ devices.
OUT / THRU – as you’d expect, this contains both OUT and THRU MIDI information.
Channels – MIDI uses to concept of channels to identify different devices.
I could have a Korg synth on channel 1, a Moog synth on channel 2, and could have a Roland to use as the ‘mother board’ [controller keyboard]. I would set the channels in the Korg and Moog myself manually.

Roland OUT ----> IN Korg THRU ----> IN Moog

In the Roland I’d setup some presets to also send MIDI on channels 1 and / or 2.
Imagine something like this:
Roland preset 1 = piano in the Roland and also sends channel 1/pgm 20 [preset 20] which could be strings.
I play the Roland preset 1 and hear piano.
The MIDI sent from the Roland [MIDI OUT] arrives at the Korg [MIDI IN].
The Korg recognises that channel 1 means “it’s for me” and pgm 20 means “let’s use my strings sound that is stored in preset 20”.
The outcome is that you hear piano and strings simultaneously and the Korg also sends a copy of the incoming MIDI IN to the MIDI THRU.
The Korg’s MIDI THRU is connected to the Moog’s MIDI IN meaning that the Moog also receives the same MIDI information, but it will only react to anything that arrives on channel 2. So as this MIDI information is on channel 1 the Moog ignores it, and sends a copy of out to it’s MIDI THRU port.

Some devices can be set to MIDI channel OMNI. This means “react to all in-coming MIDI messages from all channels”.

Some examples of common MIDI messages that one device would send to another:
Note messages – this are used to tell keys / synths to turn on / off notes.
Program Change – this is a MIDI message that allows a device to make another device to change preset. This is exactly what the MFC does to the Axe.
Control Change – this enables a device to control another device’s parameters remotely.
System Exclusive [SysEx] – this allows manufacturers to add extra functions and capabilities to those found in regular MIDI. These ‘extras’ are bespoke / manufacturer specific, so you wouldn’t expect a Moog to be able to react to Korg SysEx. But two Korgs with SysEx would have some extra cool capabilities available.



How does MIDI relate to the Axe-II and MFC?
By default, the Axe, the MFC and Axe-Edit are all set to MIDI channel 1.
When you stomp on a switch on the MFC, the MFC sends a ‘program change’ message out to the Axe. This message contains the MIDI channel [channel 1] and the program [preset] number. The Axe receives this message and changes preset corresponding to the received program number.

IA’s, Controllers and Modifiers:
MIDI Control Change [CC] is extremely flexible and enables configurable parameters within the Axe [or any MIDI device] to be controlled remotely. This opens up a vast range of tonal possibilities.
There are three key pieces of information that sit within a CC message:
1 – MIDI channel [so we know who this message is aimed at]
2 – CC# there are 128 control ‘numbers’ available that number from 0 to 127.
Some of these numbers are standardized by the industry for example:
CC# 7 = master volume <-- this is the volume control for the whole box, after all effects etc
CC# 16 = ribbon controller / general purpose slide 1 <-- keys / synth stuff
Some CC values are ‘spare’. For example; values from 22 to 31 aren’t defined to you can assign them to anything you want.
So now let’s talk about the Axe. The Axe is designed to have a one to one relationship with a controller [such as the MFC]. This being the case, Fractal has created it’s own assignments of MIDI CC numbers and they can be seen via the front panel:

I/O – CTRL page

There are two columns in here:
Left col = the ‘thing’ in the Axe that can be controlled
Right col = the MIDI CC number that will control it
 
I was just thinking that maybe we could expand this threat to talk about modifiers too...
especially with respect to controlling multiple parameters from a single EXP / EXS..

setting the right 'curve' etc is crucial to keeping all things controlled sounding and feeling natural
 
The girlfriend asked what I was doing the other day on a phone call and I replied that I was adjusting MIDI parameters on my unit. It then took me 10 mins to convince her I wasn't turning into a cross dresser! :)
 
Last edited:
Clarky, thanks for taking the time to write this informative post. I appreciate the examples of real world application. There's allot more I could be doing with this box.

This should be in the Wiki for midiots like me...!
 
And just in case anyone is misinformed, there is no such thing as a MIDI IA message. Never has been. IA is a wanky term IMHO created to refer to a CC on/off toggle to turn effects on and off quickly, as opposed to patch changes which often have a slight lag.

In my mind, instant access means you can press a single footswitch to do what you want, instead of having to change modes or banks or hold a footswitch down for X seconds for it to do something. Call me crazy; you won't be the first :D
 
And just in case anyone is misinformed, there is no such thing as a MIDI IA message. Never has been. IA is a wanky term IMHO created to refer to a CC on/off toggle to turn effects on and off quickly, as opposed to patch changes which often have a slight lag.

In my mind, instant access means you can press a single footswitch to do what you want, instead of having to change modes or banks or hold a footswitch down for X seconds for it to do something. Call me crazy; you won't be the first :D

yeah I see where you're coming from with the IA thing...
but I guess you got to call this feature something that distinguishes it from a preset changing switch..
and the differentiating thing about the IA is that it enables the user to switch fx blocks on / off ol' school stomp box style..
so in effect, within the preset you have access to change that state of the fx within a preset... instantly.. :)

if I'm understanding you correctly, what you're personal view of as instant access seems to be is more like an EXS
where you stomp on it and can in effect go as far as a complete re-config of your preset if you wish [which is exactly how I config my presets]

but yes you're right.. EXS, IA and also EXP.. when you hit / wiggle these..
the MFC spits out MIDI CC messages to instruct the Axe to go do 'stuff'..
 
Last edited:
Is the term "IA" common in the industry, or invented by Fractal?

And just in case anyone is misinformed, there is no such thing as a MIDI IA message. Never has been. IA is a wanky term IMHO created to refer to a CC on/off toggle to turn effects on and off quickly, as opposed to patch changes which often have a slight lag.

In my mind, instant access means you can press a single footswitch to do what you want, instead of having to change modes or banks or hold a footswitch down for X seconds for it to do something. Call me crazy; you won't be the first :D
 
Is the term "IA" common in the industry, or invented by Fractal?

I'm not sure...
I think I've seen Voodoolab and Rocktron use a similar term...

in all honesty don't think it's really important..
with respect to the Axe / MFC, we know what an IA is and what it does..
and we understand the behavioural difference between an IA and an EXS [and how to configure them]..
 
I believe that the first time I saw "IA" used as a foot controller feature was by Axess Electronics.
 
Yeah, I think the IA yerm has been copied by several manufacturers. The correct MIDI term is CC. An IA usually refres to a CC that toggles between minimum (0) and maximum (127) values to turn an effect off and on. Of course, CC messages aren't sent any faster than PC messages.

The problem I have with IAs is probably mine alone. When people say things like "I got me ten IAs on my MFC", I get the image of wanna-be car enthusisats saying stuff like "I got me a 10-stage afterburner on my dual-throttle carb" :D
 
On the Axess FX-1, each IA switch could transmit up to 2 CC messages, 2 program change messages and 2 sysex messages. IA often refers to a switch whose function does not change when the bank on the foot controller changes. The functions that the switch controls are instantly available regardless of the active bank.

The Rocktron All Access might have used the term IA before Axess Electronics.
 
Yeah, I think the IA yerm has been copied by several manufacturers. The correct MIDI term is CC. An IA usually refres to a CC that toggles between minimum (0) and maximum (127) values to turn an effect off and on. Of course, CC messages aren't sent any faster than PC messages.

Thanks for clearing that up. I find the term IA confusing, as I can't reliably map it to anything in the MIDI protocol, other than CC (which, if true, begs the question why the term exists). Like sean.e replied, perhaps it was just an easier way to organize, in terminology, a composition of a number of protocol elements under a single term.
 
Well done clarky. Thanks for sharing your extensive knowledge on simultaneous control of several AXE-FX parameters. This could be called ParamAXE morphing or simply AXE morphing.

A
System Exclusive [SysEx] – this allows manufacturers to add extra functions and capabilities to those found in regular MIDI. These ‘extras’ are bespoke / manufacturer specific, so you wouldn’t expect a Moog to be able to react to Korg SysEx. But two Korgs with SysEx would have some extra cool capabilities available.

SYSEX can be viewed as the NON-STANDARD part of the MIDI STANDARD. Any manufacturer or hobbyist can define it's own language with theses messages.
 
Back
Top Bottom