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

Difference between revisions of "MIDI SysEx"

From Fractal Audio Wiki
Jump to navigation Jump to search
(→‎About MIDI System Exclusive (SysEx) messages: added a new and better link for sysex info)
Line 1: Line 1:
 
=About MIDI System Exclusive (SysEx) messages=
 
=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. [http://en.wikipedia.org/wiki/Sysex More about SysEx in Wikipedia]
+
If you're a MIDI expert, you can use SysEx messages (MIDI System Exclusive) to control the Axe-Fx II. [http://en.wikipedia.org/wiki/Sysex More about MIDI in Wikipedia] and [http://electronicmusic.wikia.com/wiki/System_exclusive an article about Sysex in the Electronic Music Wiki].
  
 
= SysEx messages for Ultra=
 
= SysEx messages for Ultra=

Revision as of 05:18, 2 August 2011

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. More about MIDI in Wikipedia and an article about Sysex 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.

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;