October 2024: Fractal Audio's VP4 Virtual Pedalboard has been added to the wiki.
MIDI SysEx
Contents
About MIDI System Exclusive (SysEx) messages
If you're a MIDI expert, you can use SysEx messages (MIDI System Exclusive) to control the Axe-Fx II.
- To learn more about MIDI, see the article in Wikipedia
- To learn more about SysEx see this article in the Electronic Music Wiki.
SysEx messages for Ultra
- Ultra-specific SysEx information has been accurately acquired and organized by forum member GM Arts: here.
- Information about SysEx commands for retrieving Preset/Effect bypass states is here.
SysEx messages for Axe Fx II
- Many Axe Fx II sysex messages are similar to Standard/Ultra messages. Model ID is 3. All messages must be sent with checksums.
- Information about SysEx commands for retrieving Preset names and Preset/Effect bypass states is here.
Axe Fx II SysEx Information for loading IRs
The information below was provided by forum member LMO.
The Axe Fx II supports 2040-point impulse responses that are packaged for download in a series of 66 MIDI SysEx messages, as follows:
MIDI_START_IR_DOWNLOAD
Prepare the Axe-Fx II to receive impulse response data
Message Format:
- 0xF0 sysex start
- 0x00 manufacturing ID byte 0
- 0x01 manufacturing ID byte 1
- 0x74 manufacturing ID byte 2
- 0x03 model number
- 0x7A function ID
- 0x20
- 0x00
- 0x10
- 0xdd checksum
- 0xF7 sysex end
MIDI_G2_IR_DATA
There are 64 sysex messages, each containing 32 chunks of data. Each chunk consists of five bytes and can hold either four text characters or one 32-bit IR data sample.
The first data message sent includes 8 chunks of text that specify the 32-character IR name, and 24 chunks of IR data. The subsequent 63 data messages each contain 32 data samples for a total of 2040 samples.
Message Format:
- 0xF0 sysex start
- 0x00 manufacturing ID byte 0
- 0x01 manufacturing ID byte 1
- 0x74 manufacturing ID byte 2
- 0x03 model number
- 0x7B function ID
- 0x20
- 0x00
- 0xdd data chunk byte 0
- 0xdd data chunk byte 1
- 0xdd data chunk byte 2
- 0xdd data chunk byte 3
- 0xdd data chunk byte 4
- --- 31 additional five byte data chunks ---
- 0xdd checksum
- 0xF7 sysex end
MIDI_CLOSE_IR_DOWNLOAD
Terminate the IR download sequence
Message Format:
- 0xF0 sysex start
- 0x00 manufacturing ID byte 0
- 0x01 manufacturing ID byte 1
- 0x74 manufacturing ID byte 2
- 0x03 model number
- 0x7C function ID
- 0xdd encoded checksum byte 0 for IR data
- 0xdd encoded checksum byte 1 for IR data
- 0xdd encoded checksum byte 2 for IR data
- 0xdd encoded checksum byte 3 for IR data
- 0xdd encoded checksum byte 4 for IR data
- 0xdd checksum
- 0xF7 sysex end
Data Chunk Encoding Scheme
The data encoding scheme translates four octets into five septets. Each septet occupies the lower seven bits of a byte, with the most significant bit set to 0.
- octet is one byte containing 8 bits of data
- septet is one byte containing 7 bits of data
- byte_chunk = (data[0] & 0xFF )<< 24 | (data[1] & 0xFF )<< 16 | (data[2] & 0xFF )<< 8 (data[3] & 0xFF;
- convert four octets to five septets
- septet[0] = byte_chunk & 0xFF;
- septet[1] = byte_chunk >> 7 & 0xFF;
- septet[2] = byte_chunk >> 14 & 0xFF;
- septet[3] = byte_chunk >> 21 & 0xFF;
- septet[4] = byte_chunk >> 28 & 0xFF;