Moog Matriarch: MIDI CC, NRPN and OSC map¶
The Moog Matriarch as named OSC addresses — 52 CC, 77 SysEx commands — ready to use from Claude (MCP), SuperCollider, Sonic Pi, TouchDesigner or any OSC app via osc-bridge.
| Device | Moog Matriarch |
|---|---|
| Vendor | Moog |
| OSC prefix | /matriarch |
| Source | 🎛️ Derived from an Electra One community preset |
| Revision | per pencilresearch canonical CSV |
| Upstream | electra-preset |
| Driver file | devices/moog/matriarch.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.
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/moog/matriarch.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 matriarch: ask “what can the Moog Matriarch do?” and it reads this map with list_routes. See the MCP guide.
MIDI CC and NRPN parameters (52)¶
| OSC address | CC | NRPN (MSB/LSB) | Range | Nature | Section |
|---|---|---|---|---|---|
/matriarch/mod_wheel |
1 | 0–127 | continuous | ||
/matriarch/mod_rate |
3 | 0–127 | continuous | ||
/matriarch/glide_on_off |
65 | 0–127 | continuous | ||
/matriarch/glide_time |
5 | 0–127 | continuous | ||
/matriarch/glide_type |
85 | 0–127 | continuous | ||
/matriarch/gated_glide_on_off |
86 | 0–127 | continuous | ||
/matriarch/square_lfo_polarity |
90 | 0–127 | continuous | ||
/matriarch/multi_trig_on_off |
95 | 0–127 | continuous | ||
/matriarch/para_voice_mode |
94 | 0–127 | continuous | ||
/matriarch/sustain_pedal_on_off |
64 | 0–127 | continuous | ||
/matriarch/osc2_freq |
16 | 0–127 | continuous | ||
/matriarch/osc3_freq |
17 | 0–127 | continuous | ||
/matriarch/osc4_freq |
18 | 0–127 | continuous | ||
/matriarch/osc1_octave |
74 | 0–127 | continuous | ||
/matriarch/osc2_octave |
75 | 0–127 | continuous | ||
/matriarch/osc3_octave |
76 | 0–127 | continuous | ||
/matriarch/osc4_octave |
77 | 0–127 | continuous | ||
/matriarch/hard_sync_on_off |
80 | 0–127 | continuous | ||
/matriarch/osc2_sync_on_off |
81 | 0–127 | continuous | ||
/matriarch/osc3_sync_on_off |
82 | 0–127 | continuous | ||
/matriarch/osc4_sync_on_off |
83 | 0–127 | continuous | ||
/matriarch/noise_filter_cutoff |
9 | 0–127 | continuous | ||
/matriarch/arp_rate |
8 | 0–127 | continuous | ||
/matriarch/arp_play_on_off |
73 | 0–127 | continuous | ||
/matriarch/arp_latch_on_off |
69 | 0–127 | continuous | ||
/matriarch/arp_swing |
14 | 0–127 | continuous | ||
/matriarch/arp_gate_length |
15 | 0–127 | continuous | ||
/matriarch/arp_mode |
91 | 0–127 | continuous | ||
/matriarch/arp_pattern |
92 | 0–127 | continuous | ||
/matriarch/arp_range_bank |
93 | 0–127 | continuous | ||
/matriarch/delay_time |
12 | 0–127 | continuous | ||
/matriarch/delay_spacing |
13 | 0–127 | continuous | ||
/matriarch/delay_ping_pong |
88 | 0–127 | continuous | ||
/matriarch/delay_sync |
89 | 0–127 | continuous | ||
/matriarch/oct_1 |
74 | 0–127 | continuous | ||
/matriarch/oct_2 |
75 | 0–127 | continuous | ||
/matriarch/oct_3 |
76 | 0–127 | continuous | ||
/matriarch/oct_4 |
77 | 0–127 | continuous | ||
/matriarch/sync_enable |
80 | 0–127 | continuous | ||
/matriarch/sync1 |
81 | 0–127 | continuous | ||
/matriarch/sync2 |
82 | 0–127 | continuous | ||
/matriarch/sync3 |
83 | 0–127 | continuous | ||
/matriarch/multi_trig |
95 | 0–127 | continuous | ||
/matriarch/para_mode |
94 | 0–127 | continuous | ||
/matriarch/hold |
69 | 0–127 | continuous | ||
/matriarch/play |
73 | 0–127 | continuous | ||
/matriarch/mode |
91 | 0–127 | continuous | ||
/matriarch/range |
93 | 0–127 | continuous | ||
/matriarch/pattern |
92 | 0–127 | continuous | ||
/matriarch/rate_div |
8 | 0–127 | continuous | ||
/matriarch/sync_tap |
89 | 0–127 | continuous | ||
/matriarch/ping_pong |
88 | 0–127 | continuous |
SysEx commands (77)¶
| OSC address | Arguments |
|---|---|
/matriarch/key_oct |
val: u7 |
/matriarch/pb_range |
val: u7 |
/matriarch/delay_kbd_oct |
val: u7 |
/matriarch/gated_glide |
val: u7 |
/matriarch/legato_glide |
val: u7 |
/matriarch/glide_type |
val: u7 |
/matriarch/round_robin |
val: u7 |
/matriarch/note_priority |
val: u7 |
/matriarch/para_unisson |
val: u7 |
/matriarch/restore_voices |
val: u7 |
/matriarch/update_unisson |
val: u7 |
/matriarch/key_reset |
val: u7 |
/matriarch/enable |
val: u7 |
/matriarch/osc_2 |
val: u7 |
/matriarch/osc_3 |
val: u7 |
/matriarch/osc_4 |
val: u7 |
/matriarch/filter_cutoff |
val: u7 |
/matriarch/pitch_variance |
val: u7 |
/matriarch/square_wav_pol |
val: u7 |
/matriarch/paraphony_mode |
val: u7 |
/matriarch/paraph_unison |
val: u7 |
/matriarch/multi_trig |
val: u7 |
/matriarch/round_rob_mode |
val: u7 |
/matriarch/restore |
val: u7 |
/matriarch/on_note_off |
val: u7 |
/matriarch/ping_pong |
val: u7 |
/matriarch/sync |
val: u7 |
/matriarch/filter_brightn |
val: u7 |
/matriarch/cv_sync_bend |
val: u7 |
/matriarch/clk_div_persis |
val: u7 |
/matriarch/seq_transpose |
val: u7 |
/matriarch/kbd_control |
val: u7 |
/matriarch/delay_change |
val: u7 |
/matriarch/latch_restart |
val: u7 |
/matriarch/fw_bw_repeats |
val: u7 |
/matriarch/arp_midi_out |
val: u7 |
/matriarch/timing_reset |
val: u7 |
/matriarch/arp_seq_swing |
val: u7 |
/matriarch/clock_in_mode |
val: u7 |
/matriarch/clock_output |
val: u7 |
/matriarch/random_repeats |
val: u7 |
/matriarch/midi_in_ports |
val: u7 |
/matriarch/midi_out_ports |
val: u7 |
/matriarch/echo_usb_in |
val: u7 |
/matriarch/echo_din_in |
val: u7 |
/matriarch/midi_ch_in |
val: u7 |
/matriarch/midi_ch_out |
val: u7 |
/matriarch/filter_keys |
val: u7 |
/matriarch/filter_wheels |
val: u7 |
/matriarch/filter_panel |
val: u7 |
/matriarch/send_14bit_ccs |
val: u7 |
/matriarch/transmit_prgch |
val: u7 |
/matriarch/receive_prgch |
val: u7 |
/matriarch/send_clock |
val: u7 |
/matriarch/send_startstop |
val: u7 |
/matriarch/follow_clock |
val: u7 |
/matriarch/follow_stasto |
val: u7 |
/matriarch/follow_spp |
val: u7 |
/matriarch/input_ppqn |
val: u7 |
/matriarch/output_ppqn |
val: u7 |
/matriarch/local_keys |
val: u7 |
/matriarch/local_wheels |
val: u7 |
/matriarch/local_panel |
val: u7 |
/matriarch/local_arp_seq |
val: u7 |
/matriarch/kb_cv |
val: u7 |
/matriarch/arp_seq_cv |
val: u7 |
/matriarch/kb_vel |
val: u7 |
/matriarch/arp_seq_vel |
val: u7 |
/matriarch/kb_at |
val: u7 |
/matriarch/mod_wheel |
val: u7 |
/matriarch/kb_gate |
val: u7 |
/matriarch/arp_seq_gate |
val: u7 |
/matriarch/kbd_oct_transp |
val: u7 |
/matriarch/dly_kb_oct_tra |
val: u7 |
/matriarch/unit_id |
val: u7 |
/matriarch/tuning_scale |
val: u7 |
/matriarch/knob_mode |
val: u7 |
Performance MIDI¶
Notes, pitch bend and any CC are also available: /matriarch/note/on <note> <velocity>, /matriarch/cc/<number> <value>, /matriarch/pitchbend <0-16383>, /matriarch/program_change <n>.
Limitations¶
CC/NRPN only. SysEx (preset management, display control, bulk dump/load, vendor-proprietary opcodes) is NOT covered by pencilresearch. To extend this device with SysEx, sniff the vendor editor, add `sysex.header/footer` + `commands` blocks, and use `update_device.md` PR template.