Unofficial MicroBrute SysEx Implementation

This document contains information about the SysEx implementation in the Arturia MicroBrute and its publication is due to the lack of official support in this matter.

Disclaimer

Arturia and MicroBrute are trademarks™ or registered® trademarks of their owners. There is no affiliation with Arturia or endorsement by Arturia whatsoever.

There is no warranty for the information provided here.

General information

All bytes in hexadecimal except noted otherwise.

All the messages have a sequence number in the interval 0-7F starting at 0. For every new request message the sequence number is incremented in 1. In case of the response messages, the sequence number is echoed by the MicroBrute. For simplicity's sake it will be called SN from now on.

The following parameter codes and values are used in all the messages to get and set parameters.

Parameter Parameter Value Values Notes
Receive MIDI channel 5 0-10 The value is the MIDI channel minus 1. 10 is all.
Transmit MIDI channel 7 0-F The value is the MIDI channel minus 1.
Note Priority B 0 Last
1 Low
2 High
Envelope Legato D 0 Off
1 On
LFO Key Retrigger F 0 Off
1 On
Velocity Response 11 0 Linear
1 Logarithmic
2 Exponential
Step On 2A 0 Clock
1 Gate
Bend Range 2C 1-C The value is the number of semitones.
Play On 2E 0 Hold
1 Note On
Next Sequence 32 0 End
1 Instant Reset
2 Instant Continuation
Retriggering 34 0 Reset
1 Legato
2 None
Gate Length 36 1 Short
2 Medium
3 Long
Step Length 38 4 1/4
8 1/8
16 1/16
32 1/32
Sync 3C 0 Automatic
1 Internal
2 External

Calibration

To calibrate the MicroBrute, you must follow all the steps in the same order while fullfilling the notes.

Step Parameter Value Value Notes
Step 1 0x21 0 This message must be sent while setting the pitch bend wheel at the center
Step 2 0x22 0 This message must be sent while setting both wheels at the bottom
Step 3 0x23 0 This message must be sent while setting both wheels at the top
End 0x24 0 This message must be send 1s after the previous one

Getting configuration from the MicroBrute

The following message is used to request for a parameter of the MicroBrute configuration.

Start Arturia ID 5 1 SN 0 Parameter + 1 End
F0 0 20 6B 5 1 0 0 6 F7

And this is the response message.

Start Arturia ID 5 1 SN 1 Parameter Value Unknown 0 0 0 0 0 0 Unknown End
F0 0 20 6B 5 1 0 1 5 0 0 0 0 0 0 0 0 0 F7

In this case, the sequence number is 0, the requested paremeter is the receive MIDI channel and the returned value is 0, which means channel 1.

Setting configuration to the MicroBrute

Setting a value is as simple as sending the following SysEx message.

Start Arturia ID 5 1 SN 1 Parameter Value End
F0 0 20 6B 5 1 1 1 B 0 F7

In this case, the sequence number is 1, the paremeter is the note priority and the value is 0, which means last.

Getting sequences from the MicroBrute

There are 8 sequences which Sequence Id goes from 1 to 8. Internally, sequences are numbered from 0 to 7 and this convention must be used in the messages.

Sequences have 64 steps and are encoded into 2 SysEx messages.

For the notes, the midi note number is used. For the rests, the value used is 7F.

Notice that the first message has an Offset of 0, while the second message has 20 (32 in decimal).

A value of 0 means the end of the sequence has been reached, so from the first 0 on the bytes are ignored.

With this message we are requesting the last 32 bytes

Start Arturia ID 5 1 SN 3 3B Sequence Offset Length End
F0 0 20 6B 5 1 17 03 3B 6 20 20 F7

And the MicroBrute answers with this.

Start Arturia ID 5 1 SN 23 3A Sequence Offset Length Data (32 bytes) End
F0 0 20 6B 5 1 17 23 3A 6 20 20 data F7

Notice that SN, Sequence, Offset and Length are echoed by the MicroBrute. Also, this message has the same structure as the message for setting the sequence.

Setting sequences to the MicroBrute

Same rules for getting sequences on sequence length, note encoding and rests apply here.

It is possible, however, to set sequences shorter than 32 notes. In order to achieve this, the only thing to set is the field Length but we still must provide 32 data bytes in the message (a note 0 will be used to padding the notes).

The following message would set the first 32 notes of the sequence 2.

Start Arturia ID 5 1 SN 23 3A Sequence Offset Length Data (32 bytes) End
F0 0 20 6B 5 1 47 23 3A 1 0 20 data F7

Notice this message has the same structure as the message response for setting the sequence.

Handshaking

The handshaking process is very simple and is based on standard Non Real Time Universal SysEx.

The request message is a General Information Identity Request.

Start Non Real Time ID SysEx Channel General Information Identity Request End
F0 7E 7F 6 1 F7

The reply message is a General Information Identity Reply. Notice that the Version Number in this case is 1.0.3.2 which corresponds to the current firmware installed.

Start Non Real Time ID SysEx Channel General Information Identity Reply Arturia ID Family Number Model Number Version Number End
F0 7E 1 6 2 0 20 6B 4 0 2 1 1 0 3 2 F7