October 2024: Fractal Audio's VP4 Virtual Pedalboard has been added to the wiki.
Difference between revisions of "MIDI SysEx"
(→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/ | + | 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, [http://en.wikipedia.org/wiki/MIDI see the article in Wikipedia] | ||
+ | *To learn more about SysEx [http://electronicmusic.wikia.com/wiki/System_exclusive see this article in the Electronic Music Wiki]. | ||
= SysEx messages for Ultra= | = SysEx messages for Ultra= |
Revision as of 05:19, 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.
- 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.
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;