October 2024: Fractal Audio's VP4 Virtual Pedalboard has been added to the wiki.

Difference between revisions of "MIDI"

From Fractal Audio Wiki
Jump to navigation Jump to search
Line 33: Line 33:
 
Data transfers happen via MIDI, MIDI-over-USB, FASLINK or Ethernet/Ethercon.
 
Data transfers happen via MIDI, MIDI-over-USB, FASLINK or Ethernet/Ethercon.
  
Configuration takes place in the I/O > MIDI and I/O > Control menus.  
+
Configuration takes place in the I/O > MIDI and I/O > Control menus.
 +
 
 +
 
 +
<blockquote>(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." [http://forum.fractalaudio.com/axe-fx-ii-bugs/46607-midi-thru-still-modifying-data-other-devices.html#post611607 source] </blockquote>
 +
 
 +
<blockquote>"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." [http://forum.fractalaudio.com/axe-fx-ii-bugs/75518-midi-through-broken-usb-midi.html#post924219 source] </blockquote>
 +
 
 +
<blockquote>"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." [http://forum.fractalaudio.com/axe-fx-ii-discussion/80401-axe-fx-ii-midi-thru-extra-120ms-delay.html#post976985 Source] </blockquote>
 +
 
 +
<blockquote>(about using multiple MIDI devices to control the Axe-Fx)"The Axe-Fx was never designed to support multiple MIDI inputs simultaneously." [http://forum.fractalaudio.com/threads/sigh-gig-failure.117387/page-4#post-1401405 source] </blockquote>
 +
 
 +
FASLINK and Ethernet/Ethercon: 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 of the Axe­‐Fx. This turns MIDI OUT into a “soft thru".
 +
 
 +
5-pin or 7-pin MIDI: When 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.
 +
 
 +
The "MFC ECHO TO MIDI OUT” option in I/O > MIDI (Axe-Fx II 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.
 +
 
 +
More information about the MIDI THRU functionality of the Axe-Fx II XL and XL+ can be found in the [http://www.fractalaudio.com/support.php MIDI THRU Guide].
  
 
==FX8==
 
==FX8==

Revision as of 12:00, 23 July 2018

MIDI.png

Processors and MIDI

Axe-Fx III

The Axe-Fx III has MIDI IN, OUT and THRU ports. Incoming MIDI data (via MIDI IN or via MIDI-over-USB) is indicated by a LED on the front panel. Data at the MIDI IN port is put through to the MIDI THRU port.

MIDI-over-USB is much faster on the Axe-Fx III than on the II, because of the III's dedicated USB processor. 5-pin MIDI transfers are not supported because these are too slow. A proprietary communication protocol (exclusive to Axe-Fx III) over FASLINK II or MIDI lets external controllers (such as Fractal Audio's own FC controllers) take control of the Axe-Fx III.

The Axe-Fx III doesn't provide fixed MIDI CCs. You can assign these as desired.

The Scene MIDI block in presets lets you send up to 8 MIDI CCs and PCs when switching scenes. A Program Change can also be sent upon preset loading.

In Setup > MIDI/Remote 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, and enable or disable mapping of Program Changes.

The “Effect Bypass Mode” parameter in the MIDI/Remote menu determines how an effect 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. When set to “Toggle” the bypass state toggles whenever the CC message is received, regardless of the value.

The FC controllers provide additional MIDI features through the use of Control Switches, similar to those on the FX8 and AX8.

The MIDI settings are part of the System Settings which can be backed up with Fractal-Bot.

Firmware 1.13 added MIDI support for 3rd-party devices to set and/or get scene, channel, bypass, scene names and preset name via System Exclusive messages. Documented in Axe-Fx III MIDI for Third-Party Devices.

Axe-Fx II

The Axe-Fx III has MIDI IN, OUT and THRU ports. Incoming MIDI data is indicated by a LED on the front panel. Data at the MIDI IN port is put through to the MIDI THRU port.

MIDI SysEx is used extensively for communication with Axe-Edit.

Data transfers happen via MIDI, MIDI-over-USB, FASLINK or Ethernet/Ethercon.

Configuration takes place in the I/O > MIDI and I/O > Control menus.


(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

FASLINK and Ethernet/Ethercon: 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 of the Axe­‐Fx. This turns MIDI OUT into a “soft thru".

5-pin or 7-pin MIDI: When 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.

The "MFC ECHO TO MIDI OUT” option in I/O > MIDI (Axe-Fx II 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.

More information about the MIDI THRU functionality of the Axe-Fx II XL and XL+ can be found in the MIDI THRU Guide.

FX8

The FX8 has MIDI IN and MIDI OUT/THRU ports. It supports "soft" MIDI Thru (MIDI IN > MIDI OUT). The FX8 accepts incoming MIDI CCs through MIDI IN. 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.

Data transfers use MIDI (not for editor) and MIDI or MIDI-over-USB. MIDI SysEx is used extensively for communication with FX8-Edit.

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 also 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.

AX8

The AX8 has MIDI IN and MIDI OUT/THRU ports. It supports "soft" MIDI Thru (MIDI IN > MIDI OUT). The AX8 responds to incoming Program Changes through MIDI IN. Incoming MIDI data is indicated by a LED on the top panel. It doesn't transmit CCs.

Data transfers use MIDI (not for editor) and MIDI or MIDI-over-USB. MIDI SysEx is used extensively for communication with FX8-Edit.

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.

MIDI menu

The parameters are explained in the Owner's Manual.

MIDI Channel

Supported on the Axe-Fx II and III.

Set this to the desired channel (default: 1).

Display Offset

Supported on the Axe-Fx II and III.

The Axe-Fx II and III start numbering presets at 0. This parameter lets you shift the displayed number by 1. This is particularly useful to improve compatibility with MIDI devices that 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.

Scene Revert

Supported on the Axe-Fx II and III.

Read this: Scenes.

Note that Scene Revert only applies to remote scene switching, not to switching scenes on the processor itself.

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

Supported on the Axe-Fx III.

Instructs the Axe-Fx III to process or ignore incoming Program Changes.

Ignore Redundant PC

Supported on the Axe-Fx II and III.

If set to ON, this parameter tells the Axe-Fx 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.

Axe-Fx III: if Ignore Redundant PC is 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. You can select the MIDI channel to be used.

MIDI PC Offset

Supported on the Axe-Fx II and III.

The Axe-Fx II and III start numbering presets at 0. This parameter lets you shift the Program Change number by 1. This is particularly useful to improve compatibility with MIDI devices that start numbering at 1. See also Display Offset.

PC Mapping

Supported on the Axe-Fx II and III.

This controls the mapping of incoming MIDI Program Changes to preset numbers and scenes on the Axe-Fx. On the III this is further configured in the Mapping submenu.

Send Realtime SysEx

Supported on the Axe-Fx II only.

MIDI data can be sent continuously from the Axe-Fx II. 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 5-pin MIDI cable or a CAT5, Ethercon or FASLINK connection between Axe-Fx II and MFC-101.

Realtime SysEx 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

MIDI Clock

The Axe-Fx II, FX8 and AX8 do not transmit MIDI Clock to other devices. They can process incoming MIDI clock.

Other MIDI commands

Fractal Audio's processors do not support MIDI commands such as MIDI Start and MIDI Stop.

MIDI phantom power

The Axe-Fx II can provide power to a foot controller 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 Axe-Fx III does 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

List of MIDI CCs

Axe-Fx III

The Owner's Manual has a table that lists which MIDI Program Changes 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.

MIDI CCs are assigned by the user in Setup > MIDI/Remote.

Axe-Fx II XL+

All CCs are listed in the I/O > CTRL menu. There's also a list in the owner's manuals.

  • 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 tutorial

This explanation is written by forum member Clarky. Discussion.

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 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. 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-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. 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

MIDI SysEx

Troubleshooting

Google Chrome issue

Read this

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

MIDI parameters won’t stick

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.