October 2024: Fractal Audio's VP4 Virtual Pedalboard has been added to the wiki.
MIDI
Contents
Fractal Audio's processors and MIDI
Axe-Fx III
The Axe-Fx III has MIDI IN, OUT and THRU ports. Data at the MIDI IN port is passed through to the MIDI THRU port.
Incoming MIDI data (via MIDI IN or via MIDI-over-USB) is indicated by a LED on the front panel.
MIDI-over-USB is much faster on the Axe-Fx III than on the II, because of the III's dedicated USB processor. Also, USB communication does not increase CPU usage.
5-pin MIDI transfers are possible but not supported, because they are too slow.
There's no support for MIDI phantom power.
A proprietary communication protocol (exclusive to Axe-Fx III) over FASLINK II or USB lets external controllers (such as Fractal Audio's own FC controllers) take control of the Axe-Fx III.
There's also MIDI support for 3rd-party devices to set and/or get scenes, channels, bypass states, scene names and preset names via System Exclusive messages. Documentation: Axe-Fx III MIDI for Third-Party Devices
The Axe-Fx III processes incoming MIDI-over-USB, but doesn’t pass incoming MIDI data to outgoing USB. source
The Axe-Fx III doesn't provide fixed MIDI CCs. You can assign these as desired in the MIDI/Remote menu.
In the MIDI/Remote menu, you can instruct the III to process or ignore incoming Program Changes, process or ignore duplicate ("redundant") Program Changes, send out Program Changes at MIDI Out when loading presets, enable mapping of Program Changes, and choose between to Effect Bypass modes.
The MIDI settings are part of the System Settings which can be backed up with Fractal-Bot.
The Scene MIDI block in presets lets you send up to 8 MIDI CCs and PCs through the MIDI OUT port when switching scenes. Also, a Program Change can be transmitted to MIDI OUT upon preset loading.
The FC controllers provide additional MIDI features through the use of a Control Switch.
The Owner's Manual lists the MIDI Program Changes that correspond with Axe-Fx III presets. The first value is MIDI Bank Select, the second one is MIDI Program Change.
- Preset 0 = Bank/PC 0,0
- Preset 128 = Bank/PC 1,0
- Preset 256 = Bank/PC 2,0
- Preset 384 = Bank/PC 3,0
FM3
The FM3 has MIDI IN and MIDI OUT/THRU ports.
No Scene MIDI block.
More information to be added... @@
Axe-Fx II
The Axe-Fx II has MIDI IN, OUT and THRU ports. Data at the MIDI IN port is passed through to the MIDI THRU port.
Incoming MIDI data (via MIDI IN or via MIDI-over-USB) is indicated by a LED on the front panel.
MIDI-over-USB is managed by the main DSP. Therefore USB communication increases CPU usage.
Data transfers happen via MIDI, MIDI-over-USB, FASLINK or Ethernet/Ethercon.
MIDI phantom power is supported.
There's support for MIDI controllers through MIDI PCs, MIDI CCs and SysEx. Realtime SysEx is used to provide MIDI controllers with tuner and tempo data. MIDI SysEx is used extensively for communication with Axe-Edit.
MIDI-over-USB is supported for incoming as well as outgoing transmissions.
MIDI CCs are set in the I/O > MIDI menu.
In the MIDI menu, you can instruct the II to process or ignore incoming Program Changes, process or ignore duplicate ("redundant") Program Changes, and enable mapping of Program Changes.
The MIDI settings are part of the System Settings which can be backed up with Fractal-Bot.
The II does not transmit a MIDI PC via MIDI OUT when changing presets on the hardware.
Below is a list of all MIDI CCs on the Axe-Fx II XL+. The CCs are listed in the I/O > CTRL menu as well. There's also a list in the Owner's Manual.
- INPUT VOLUME 10
- OUT1 VOLUME 11
- OUT2 VOLUME 12
- BYPASS 13
- TEMPO TAP 14
- TUNER 15
- EXTERNAL 1 16
- EXTERNAL 2 17
- EXTERNAL 3 18
- EXTERNAL 4 19
- EXTERNAL 5 20
- EXTERNAL 6 21
- EXTERNAL 7 22
- EXTERNAL 8 23
- EXTERNAL 9 24
- EXTERNAL 10 25
- EXTERNAL 11 26
- EXTERNAL 12 27
- LOOPER1 REC 28
- LOOPER1 PLAY 29
- LOOPER1 ONCE 30
- LOOPER1 DUB 31
- LOOPER1 REV 32
- LOOPER2 BYP 33
- LOOPER2 HALF 120
- LOOPER2 UNDO 121
- METRONOME 122
- SCENE SELECT 34
- SCENE INCR 123
- SCENE DECR 124
- VOLUME INCR 35
- VOLUME DECR 36
- AMP1 BYPASS 37
- AMP2 BYPASS 38
- CABINET1 BYP 39
- CABINET2 BYP 40
- CHORUS1 BYP 41
- CHORUS2 BYP 42
- COMPRESS1 BYP 43
- COMPRESS2 BYP 44
- CROSSOVER 1 BYP 45
- CROSSOVER 2 BYP 46
- DELAY1 BYP 47
- DELAY2 BYP 48
- DRIVE1 BYP 49
- DRIVE2 BYP 50
- ENHANCER BYP 51
- FILTER1 BYP 52
- FILTER2 BYP 53
- FILTER3 BYP 54
- FILTER4 BYP 55
- FLANGER1 BYP 56
- FLANGER2 BYP 57
- FORMANT BYP 58
- FXLOOP BYP 59
- GATE1 BYP 60
- GATE2 BYP 61
- GRAPHEQ1 BYP 62
- GRAPHEQ2 BYP 63
- GRAPHEQ3 BYP 64
- GRAPHEQ4 BYP 65
- MEGATAP1 BYP 66
- MULTICOMP1 BYP 67
- MULTICOMP2 BYP 68
- MULTIDLY1 BYP 69
- MULTIDLY2 BYP 70
- PARAEQ1 BYP 71
- PARAEQ2 BYP 72
- PARAEQ3 BYP 73
- PARAEQ4 BYP 74
- PHASER1 BYP 75
- PHASER2 BYP 76
- PITCH1 BYP 77
- PITCH2 BYP 78
- QDCHORUS1 BYP 79
- QDCHORUS2 BYP 80
- RESONATR1 BYP 81
- RESONATR2 BYP 82
- REVERB1 BYP 83
- REVERB2 BYP 84
- RINGMOD BYP 85
- ROTARY1 BYP 86
- ROTARY2 BYP 87
- SYNTH1 BYP 88
- SYNTH2 BYP 89
- TREMOLO1 BYP 90
- TREMOLO2 BYP 91
- VOCODER BYP 92
- VOLUME1 BYP 93
- VOLUME2 BYP 94
- VOLUME3 BYP 95
- VOLUME4 BYP 96
- WAHWAH1 BYP 97
- WAHWAH2 BYP 98
- TONEMATCH BYP 99
- AMP1 X/Y 100
- AMP2 X/Y 101
- CABINET1 X/Y 102
- CABINET2 X/Y 103
- CHORUS1 X/Y 104
- CHORUS2 X/Y 105
- DELAY1 X/Y 106
- DELAY2 X/Y 107
- DRIVE1 X/Y 108
- DRIVE2 X/Y 109
- FLANGER1 X/Y 110
- FLANGER2 X/Y 111
- PHASER1 X/Y 112
- PHASER2 X/Y 113
- PITCH1 X/Y 114
- PITCH2 X/Y 115
- REVERB1 X/Y 116
- REVERB2 X/Y 117
- ROTARY1 X/Y 125
- ROTARY2 X/Y 126
- WAHWAH1 X/Y 118
- WAHWAH2 X/Y 119
MIDI THRU:
- With the MFC‐101 at the FASLINK port, do not use the MIDI THRU port. Instead, connect downstream devices to the MIDI OUT port and set MFC ECHO TO MIDI OUT to “ON” in the I/O > MIDI menu. This turns MIDI OUT into a “soft thru".
- If your MFC-101 or other controller is connected to the Axe‐Fx II's MIDI IN port — whether using 5- or 7‐pin — use the standard 5‐pin MIDI THRU port. No special settings are required.
- More information about the MIDI THRU functionality of the Axe-Fx II XL and XL+ can be found in the MIDI THRU Guide.
The "MFC ECHO TO MIDI OUT” option in I/O > MIDI (XL and XL+ only) echoes all MIDI data from the MFC to MIDI Out. This can be used to send MIDI PC and CC messages to other equipment connected to MIDI Out.
(MIDI data transfers on the Axe-Fx II Mark I/II models) "The Axe-Fx II is not designed to be a general-purpose MIDI I/O. It can handle most things but not large sysex dumps." source
"The Axe-Fx simply passes the data. It doesn't parse messages. If a message is arriving altered then the fault is in the monitoring software or the OS." source
"MIDI Thru is a "soft" thru. It the delay is problematic for you then you need to change the order of things or use a MIDI splitter." source
(about using multiple MIDI devices to control the Axe-Fx) "The Axe-Fx was never designed to support multiple MIDI inputs simultaneously." source
AX8
The AX8 has MIDI IN and MIDI OUT/THRU ports. It supports "soft" MIDI Thru (MIDI IN > MIDI OUT).
Incoming MIDI data is indicated by a LED on the top panel. Data at the MIDI IN port is passed through to the MIDI THRU port.
MIDI-over-USB is managed by the main DSP. Therefore USB communication increases CPU usage.
MIDI phantom power is not supported.
Data transfers happen via MIDI or MIDI-over-USB. MIDI SysEx is used extensively for communication with AX8-Edit, but only through MIDI-over-USB.
The AX8 accepts incoming MIDI PCs/CCs through MIDI IN and MIDI USB. It does not transmit MIDI CCs itself.
The MIDI settings are part of the System Settings which can be backed up with Fractal-Bot.
The AX8 can send out a single MIDI Progam Change when loading a preset scene. The PC (and the MIDI channel) can vary per scene. When sending from the AX8, MIDI Program Changes are sent via the MIDI Out/Thru port, and SysEx format MIDI Program Changes are sent via USB port.
FX8
The FX8 has MIDI IN and MIDI OUT/THRU ports. It supports "soft" MIDI Thru (MIDI IN > MIDI OUT). Data at the MIDI IN port is passed through to the MIDI THRU port.
The FX8 does not have a hardware LED for incoming MIDI traffic (unlike the Axe-Fx II and AX8); when it detects incoming MIDI data, an indicator appears at the top of the LCD screen.
MIDI-over-USB is handheld by the main DSP. Therefore USB communication increases CPU usage.
MIDI phantom power is not supported.
MIDI-over-USB is managed by the main DSP. Therefore USB communication increases CPU usage.
Data transfers happen via MIDI or MIDI-over-USB. MIDI SysEx is used extensively for communication with FX8-Edit, but only through MIDI-over-USB.
The FX8 accepts incoming MIDI CCs through MIDI IN.
MIDI CCs are set in the I/O > MIDI menu.
The MIDI settings are part of the System Settings which can be backed up with Fractal-Bot.
The FX8 can send out a single MIDI Progam Change and a MIDI Control Change when changing scenes, which can vary per scene.
The FX8 can send MIDI data using a footswitch which is assigned to a MIDI footswitch block. It can send a PC and a CC, when turning the switch ON or OFF. This is configured on the Footswitch page. The block supports X/Y switching.
Fractal Audio's controllers and MIDI
Read this:
The parameters are also explained in the Owner's Manuals.
MIDI Channel
Set this to the desired channel (default: 1). Don't select OMNI, because this will slow down MIDI traffic.
Display Offset
The Axe-Fx starts numbering presets at 0. This parameter lets you shift the displayed number by 1. This can improve compatibility with MIDI devices which start numbering at 1. This adjusts the displayed number only, not the underlying Program Change number (see MIDI PC Offset).
A copy of this parameter also appears in the Global > Config menu on the Axe-Fx III.
Scene Revert
Read this: Scenes
Effect Bypass Mode
Supported on the Axe-Fx III.
This parameter determines how an effect (block) is engaged/bypassed via MIDI. When set to “Value”, the bypass state of an effect assigned to a CC is controlled by the CC value (0 = off, 128 = on). When set to “Toggle”, the bypass state toggles whenever the CC message is received, regardless of the value.
Program Change
Instructs the hardware to process or ignore incoming Program Changes.
Ignore Redundant PC
If set to ON, this parameter tells the device to ignore an incoming MIDI Program Change if that preset is already active. This prevents unnecessary reloading and the audio gap that comes with that.
If Ignore Redundant PC is switched on and the desired scene (set via PC mapping) is different than the current scene, the preset is not loaded but the scene IS changed.
This parameter defaults to ON on the Axe-Fx II, and OFF on the Axe-Fx III.
Send MIDI PC
Supported on the Axe-Fx III.
This setting determines whether the Axe-Fx III automatically sends a MIDI Program Change at its MIDI OUT port upon loading a new preset (front panel, using an FC or otherwise). You can select the MIDI channel to be used.
MIDI PC Offset
This parameter lets you shift Program Change numbers by 1, to improve compatibility with other MIDI devices. See also Display Offset above.
PC Mapping
This controls the mapping of incoming MIDI Program Changes to preset numbers and scenes on the Axe-Fx II and III. On the III this is further configured in the Mapping submenu.
Send Realtime SysEx
Supported on the Axe-Fx II and III.
MIDI tempo and tuner data can be sent continuously from the Axe-Fx II and III. This allows an external MIDI controller to display the tuner on its display and make a tempo LED blink in time with the device's tempo. Transferring this data requires a bidirectional connection between the Axe-Fx II and the controller. This information is transmitted through MIDI OUT only, not via MIDI-over-USB.
Realtime SysEx on the Axe-Fx II is always disabled when entering the Utility > Preset menu.
"Sysex data doesn't have a channel. It is not a voice message. All equipment should ignore any sysex data that does not contain its manufacturer's ID. If you gear is responding to Fractal Audio sysex messages then it is violating the spec." source
Scene MIDI block
The Scene MIDI block in the Axe-Fx III presets lets you send MIDI CCs or PCs through the MIDI OUT port when switching scenes.
Control Switches
Using Control Switches in conjunction with an FC-6 or FC-12, or AX8, lets you transmit MIDI at will. More information.
MIDI Clock
MIDI Clock is the same as MIDI Beat Clock. More information
Fractal Audio's processors do not transmit MIDI Clock to other devices. They do process incoming MIDI clock.
Fractal Audio's processors do not support MIDI commands such as MIDI Start and MIDI Stop.
MIDI System Exclusive (SysEx)
Fractal Audio's processors make use of SysEx messages for various tasks.
Read this:
Phantom power
The Axe-Fx II can provide power to MIDI devices via a MIDI cable, also known as "phantom power". This requires a 7-pin MIDI cable (pin definitions) and the power supply for the floor controller to be plugged in at the rear of the Axe-Fx II.
The AX8, FX8, FM3 and Axe-Fx III do not support MIDI phantom power.
Warning: do not connect a power supply to the phantom power input on the Axe-Fx II that has a load of more than 1A! E.g. power supplies for Liquid-Foot or RJM foot controllers. More information
"2.1mm is the standard for DC. 2.5mm is the standard for AC. The phantom power jack is designed for AC, hence the 2.5mm jack." source
The MIDI phantom power connection can be used for DC as well as AC power. source
MIDI tutorial
The explanation below is written by forum member Clarky. forum discussion
Another introduction to MIDI (Morningstar)
What 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]. It is a method of connecting together MIDI capable musical instruments / devices so that they can use a ‘language’ to communicate with each other.
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”
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.
What 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. Example: 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-Fx 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.
IAs, 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. These are the key pieces of information that sit within a CC message:
- MIDI channel [so we know who this message is aimed at]
- 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 (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 its own assignments of MIDI CC numbers and they can be seen via the front panel in 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.
Troubleshooting
Google Chrome issue
MIDI ground issue
(about MIDI corruption with certain amps): "On MIDI devices the MIDI Out jack should be grounded but the MIDI In jack should not be. MIDI devices powered by wall-warts aren't grounded. The AX-8 uses AC power and is therefore grounded. So a simple solution would be to cut the ground pin (pin 2) at the MIDI In (amp) side. Pin 2 is the important one. Pin 1 is often not wired and even if it is it's not-connected on the AX-8 end. The AX-8 uses pins 2, 4 and 5. The rest are not connected. Pin 2 is ground, 4 and 5 are the data. If the pin 2 is grounded at the amp side then current will flow in the ground which could corrupt the data." source
Hardware won't store MIDI parameters
If adjusted parameters in the MIDI menu are restored to their default values after powering off and on, there’s probably an issue with the internal battery. It’s exhausted or has come loose.
"It sounds like there is a short in the battery holder or at the memory IC. I've seen this once before. A solder blob was lodged under the battery holder. source