Arturia MatrixBrute: MIDI CC, NRPN and OSC map¶
The Arturia MatrixBrute as named OSC addresses — 78 CC, 39 SysEx parameters, 2 SysEx commands — ready to use from Claude (MCP), SuperCollider, Sonic Pi, TouchDesigner or any OSC app via osc-bridge.
| Device | Arturia MatrixBrute |
|---|---|
| Vendor | Arturia |
| OSC prefix | /matrixbrute |
| Source | • Community source |
| Revision | fw 2.0.3.1411 |
| Upstream | hardware-verified-partial |
| Driver file | devices/arturia/matrixbrute.json |
Not tested on the device yet
This driver comes from documentation or community data and has not been checked on real hardware. If you own one, a quick test and a pull request promoting it helps everyone — see CONTRIBUTING.
Other variants of this device: matrixbrute.pencilresearch.fw-unknown.
How do you control it?¶
Find the MIDI ports, then start the bridge with this driver:
osc-bridge detect # prints the ready-to-run line for what is plugged in
osc-bridge run --device devices/arturia/matrixbrute.json --out-port <N> --in-port <M>
Then send OSC to 127.0.0.1:7777, for example:
From Claude or any MCP client, the osc-bridge mcp server exposes this driver as matrixbrute: ask “what can the Arturia MatrixBrute do?” and it reads this map with list_routes. See the MCP guide.
MIDI CC and NRPN parameters (78)¶
| OSC address | CC | NRPN (MSB/LSB) | Range | Nature | Section |
|---|---|---|---|---|---|
/matrixbrute/vco1/fine |
65 | -12–12 | continuous | VCO1 | |
/matrixbrute/vco1/course |
66 | -24–24 | continuous | VCO1 | |
/matrixbrute/vco1/sub_shape |
67 | 0–100 | continuous | VCO1 | |
/matrixbrute/vco1/ultrasaw |
68 | 0–100 | continuous | VCO1 | |
/matrixbrute/vco1/pulse_width |
69 | 0–100 | continuous | VCO1 | |
/matrixbrute/vco1/metalizer |
70 | 0–100 | continuous | VCO1 | |
/matrixbrute/vco1/sub_vol |
9 | 0–100 | continuous | VCO1 | |
/matrixbrute/vco1/saw_vol |
10 | 0–100 | continuous | VCO1 | |
/matrixbrute/vco1/square_vol |
12 | 0–100 | continuous | VCO1 | |
/matrixbrute/vco1/triangle_vol |
13 | 0–100 | continuous | VCO1 | |
/matrixbrute/vco2/fine |
71 | -12–12 | continuous | VCO2 | |
/matrixbrute/vco2/course |
72 | -24–24 | continuous | VCO2 | |
/matrixbrute/vco2/sub_shape |
73 | 0–100 | continuous | VCO2 | |
/matrixbrute/vco2/ultrasaw |
74 | 0–100 | continuous | VCO2 | |
/matrixbrute/vco2/pulse_width |
75 | 0–100 | continuous | VCO2 | |
/matrixbrute/vco2/metalizer |
76 | 0–100 | continuous | VCO2 | |
/matrixbrute/vco2/sub_vol |
14 | 0–100 | continuous | VCO2 | |
/matrixbrute/vco2/saw_vol |
15 | 0–100 | continuous | VCO2 | |
/matrixbrute/vco2/square_vol |
16 | 0–100 | continuous | VCO2 | |
/matrixbrute/vco2/triangle_vol |
17 | 0–100 | continuous | VCO2 | |
/matrixbrute/vco3/course |
22 | -24–24 | continuous | VCO3 | |
/matrixbrute/vco3/phase |
90 | -180–180 | continuous | VCO3 | |
/matrixbrute/vco3/delay |
92 | 0–127 | continuous | VCO3 | |
/matrixbrute/mixer/vco1_vol |
18 | 0–100 | continuous | Mixer | |
/matrixbrute/mixer/vco2_vol |
19 | 0–100 | continuous | Mixer | |
/matrixbrute/mixer/vco3_vol |
20 | 0–100 | continuous | Mixer | |
/matrixbrute/mixer/noise_vol |
21 | 0–100 | continuous | Mixer | |
/matrixbrute/mixer/external_vol |
89 | 0–100 | continuous | Mixer | |
/matrixbrute/filter/master_cutoff |
27 | -100–100 | continuous | Filter | |
/matrixbrute/filter/routing/vco1_vco2 |
77 | 0–100 | continuous | Filter Routing | |
/matrixbrute/filter/routing/vco1_vco3_vco2 |
78 | -100–100 | continuous | Filter Routing | |
/matrixbrute/filter/routing/vco1_noise_vco2 |
80 | -100–100 | continuous | Filter Routing | |
/matrixbrute/filter/routing/vcf1_osc3_vcf2 |
79 | -100–100 | continuous | Filter Routing | |
/matrixbrute/vcf_steiner/cutoff |
23 | -100–100 | continuous | Steiner Filter | |
/matrixbrute/vcf_steiner/drive |
81 | 0–100 | continuous | Steiner Filter | |
/matrixbrute/vcf_steiner/resonance |
83 | 0–100 | continuous | Steiner Filter | |
/matrixbrute/vcf_steiner/brute_factor |
82 | 0–100 | continuous | Steiner Filter | |
/matrixbrute/vcf_steiner/env1_amount |
24 | -100–100 | continuous | Steiner Filter | |
/matrixbrute/vcf_steiner/output |
7 | 0–100 | continuous | Steiner Filter | |
/matrixbrute/vcf_ladder/cutoff |
25 | -100–100 | continuous | Ladder Filter | |
/matrixbrute/vcf_ladder/drive |
85 | 0–100 | continuous | Ladder Filter | |
/matrixbrute/vcf_ladder/resonance |
87 | 0–100 | continuous | Ladder Filter | |
/matrixbrute/vcf_ladder/brute_factor |
86 | 0–100 | continuous | Ladder Filter | |
/matrixbrute/vcf_ladder/env1_amount |
26 | -100–100 | continuous | Ladder Filter | |
/matrixbrute/vcf_ladder/output |
8 | 0–100 | continuous | Ladder Filter | |
/matrixbrute/vca/velocity_to_vcf |
94 | 0–100 | continuous | VCA | |
/matrixbrute/vca/velocity_to_vca |
95 | 0–100 | continuous | VCA | |
/matrixbrute/env1/attack |
102 | 0–100 | continuous | Env1 (VCF) | |
/matrixbrute/env1/decay |
103 | 0–127 | continuous | Env1 (VCF) | |
/matrixbrute/env1/sustain |
28 | 0–127 | continuous | Env1 (VCF) | |
/matrixbrute/env1/release |
104 | 0–127 | continuous | Env1 (VCF) | |
/matrixbrute/env2/attack |
105 | 0–100 | continuous | Env2 (VCA) | |
/matrixbrute/env2/decay |
106 | 0–127 | continuous | Env2 (VCA) | |
/matrixbrute/env2/sustain |
29 | 0–127 | continuous | Env2 (VCA) | |
/matrixbrute/env2/release |
107 | 0–127 | continuous | Env2 (VCA) | |
/matrixbrute/env3/delay |
108 | 0–100 | continuous | Env3 (Mod) | |
/matrixbrute/env3/attack |
109 | 0–127 | continuous | Env3 (Mod) | |
/matrixbrute/env3/decay |
110 | 0–127 | continuous | Env3 (Mod) | |
/matrixbrute/env3/sustain |
30 | 0–127 | continuous | Env3 (Mod) | |
/matrixbrute/env3/release |
111 | 0–127 | continuous | Env3 (Mod) | |
/matrixbrute/lfo1/rate |
91 | 0–127 | continuous | LFO1 | |
/matrixbrute/lfo2/rate |
93 | 0–127 | continuous | LFO2 | |
/matrixbrute/fx/dry_wet |
31 | 0–100 | continuous | FX | |
/matrixbrute/fx/delay_time |
112 | 0–100 | continuous | FX | |
/matrixbrute/fx/regeneration |
113 | 0–100 | continuous | FX | |
/matrixbrute/fx/tone_rate |
114 | 0–100 | continuous | FX | |
/matrixbrute/fx/width_depth |
115 | 0–100 | continuous | FX | |
/matrixbrute/macro/1 |
11 | 0–127 | continuous | Macros | |
/matrixbrute/macro/2 |
2 | 0–127 | continuous | Macros | |
/matrixbrute/macro/3 |
4 | 0–127 | continuous | Macros | |
/matrixbrute/macro/4 |
3 | 0–127 | continuous | Macros | |
/matrixbrute/seq/rate |
116 | 30–259 | continuous | Sequencer | |
/matrixbrute/seq/swing |
117 | 50–75 | continuous | Sequencer | |
/matrixbrute/seq/gate |
118 | 1–99 | continuous | Sequencer | |
/matrixbrute/glide |
5 | 0–100 | continuous | Performance | |
/matrixbrute/modulation |
1 | 0–127 | continuous | Performance | |
/matrixbrute/sustain |
64 | 0–127 | continuous | Performance | |
/matrixbrute/bend_range |
119 | 0–12 | continuous | Performance |
SysEx parameters (39)¶
| OSC address | Range | Nature |
|---|---|---|
/matrixbrute/option/x_sync_mode |
0–3 | discrete |
/matrixbrute/option/ioc_replay_enable |
0–1 | switch |
/matrixbrute/option/main_to_ioc_enable |
0–1 | switch |
/matrixbrute/option/main_to_voice_enable |
0–1 | switch |
/matrixbrute/option/ioc_to_main_enable |
0–1 | switch |
/matrixbrute/option/midi_channel_in |
0–15 | discrete |
/matrixbrute/option/midi_channel_out |
0–15 | discrete |
/matrixbrute/option/midi_automation_in |
0–1 | switch |
/matrixbrute/option/midi_automation_out |
0–1 | switch |
/matrixbrute/option/midi_ctrl_enable |
0–1 | switch |
/matrixbrute/option/midi_out_select |
0–2 | discrete |
/matrixbrute/option/local_control |
0–1 | switch |
/matrixbrute/option/foot_switch_invert_polarity |
0–1 | switch |
/matrixbrute/option/foot_switch_destination |
0–7 | discrete |
/matrixbrute/option/exp_pedal_1_invert_polarity |
0–1 | switch |
/matrixbrute/option/exp_pedal_2_invert_polarity |
0–1 | switch |
/matrixbrute/option/aftertouch_curve |
0–3 | discrete |
/matrixbrute/option/velocity_curve |
0–3 | discrete |
/matrixbrute/option/pause_exit_mode |
0–1 | switch |
/matrixbrute/option/program_change_enable |
0–1 | switch |
/matrixbrute/option/seq_notes_out |
0–1 | switch |
/matrixbrute/option/arp_notes_out |
0–1 | switch |
/matrixbrute/option/use_seq_tempo |
0–1 | switch |
/matrixbrute/option/preset_link |
0–1 | switch |
/matrixbrute/option/pot_mode |
0–2 | discrete |
/matrixbrute/option/sync_source |
0–3 | discrete |
/matrixbrute/option/device_id |
0–127 | continuous |
/matrixbrute/option/enable_14bit_automation |
0–1 | switch |
/matrixbrute/option/sync_port_timing |
0–3 | discrete |
/matrixbrute/option/sync_port_start |
0–1 | switch |
/matrixbrute/option/aftertouch_compression |
0–127 | continuous |
/matrixbrute/option/aftertouch_offset |
0–127 | continuous |
/matrixbrute/option/midi_channel_in_lower |
0–15 | discrete |
/matrixbrute/option/vco1_pitch_0v_midi_note |
0–127 | continuous |
/matrixbrute/option/vco2_pitch_0v_midi_note |
0–127 | continuous |
/matrixbrute/option/portamento_mode |
0–2 | discrete |
/matrixbrute/option/wait_to_load_pattern |
0–1 | switch |
/matrixbrute/option/pitch_wheel_dead_zone |
0–15 | discrete |
/matrixbrute/option/sleep_enable |
0–1 | switch |
SysEx commands (2)¶
| OSC address | Arguments |
|---|---|
/matrixbrute/preset/metadata/get |
|
/matrixbrute/preset/body/dump |
bank: u7, preset: u7 |
Performance MIDI¶
Notes, pitch bend and any CC are also available: /matrixbrute/note/on <note> <velocity>, /matrixbrute/cc/<number> <value>, /matrixbrute/pitchbend <0-16383>, /matrixbrute/program_change <n>.