This page is read from MIDI Instrument Definitions, a Python library used in the author's other projects, in which every number is traced to a document its maker published. Its source is on GitHub.
Moog Music Matriarch MIDI implementation
The MIDI implementation of the Moog Music Matriarch: what it answers to, and the 37 controls it offers, on firmware 1.3.0.
At a glance
- Firmware
- This page describes firmware 1.3.0.
- MIDI channel
- Any one of 1 to 16.
- Voices
- 1, 2, or 4, as set on the instrument, and it can play paraphonically.
- Note range
- 0 to 127: C-1 to G9, counting middle C as C4.
- Velocity
- Sent and received. Release velocity is ignored.
- Aftertouch
- Channel pressure, one value for every key. It sends aftertouch too.
- Pitch bend
- How far it bends is not recorded, and the range can be changed.
- Program change
- Received, with 12 presets.
- MIDI clock
- Sent and received.
- Start and stop
- Sent and received.
- Control change
- 37 controls, in the tables below, 12 of them with a fine half on a second controller number.
- NRPN
- None.
- System exclusive
- Supported.
Controls
In the order the definition gives them, by group. Under each control is the name a program calls it by, once pymidiinstrumentdefs.load("moog/matriarch") has loaded them.
Modulation
| Control | CC | Values |
|---|---|---|
Mod Wheelmod_wheel |
1 fine 33 |
0-16383 |
Mod Ratemod_rate |
3 fine 35 |
0-16383 |
Square LFO Polaritysquare_lfo_polarity |
90 | 0-63 unipolar, 64-127 bipolar |
Glide
| Control | CC | Values |
|---|---|---|
Glide Timeglide_time |
5 fine 37 |
0-16383 |
Glide Onglide_on |
65 | 0-63 off, 64-127 on |
Gated Glidegated_glide |
86 | 0-63 off, 64-127 on |
Legato Glidelegato_glide |
87 | 0-63 off, 64-127 on |
Glide Typeglide_type |
85 | 0-42 lcr, 43-84 lct, 85-127 exp |
Arp / seq
| Control | CC | Values |
|---|---|---|
Arp Ratearp_rate |
8 fine 40 |
0-16383 |
Arp Swingarp_swing |
14 fine 46 |
0-16383 |
Arp Gate Lengtharp_gate_length |
15 fine 47 |
0-16383 |
Arp Latcharp_latch |
69 | 0-63 off, 64-127 on |
Arp Playarp_play |
73 | 0-63 off, 64-127 onReceived, never sent |
Arp/Sequencer Gate Lengtharp_seq_gate_length |
106 | 0-127; default 64 |
Arp Modearp_mode |
91 | 0-42 arp, 43-84 seq, 85-127 rec |
Arp Patternarp_pattern |
92 | 0-42 order, 43-84 fw_bw, 85-127 random |
Arp Range / Bankarp_range |
93 | 0-42 one, 43-84 two, 85-127 three |
Noise
| Control | CC | Values |
|---|---|---|
Noise Filter Cutoffnoise_filter_cutoff |
9 fine 41 |
0-16383 |
Stereo delay
| Control | CC | Values |
|---|---|---|
Delay Timedelay_time |
12 fine 44 |
0-16383 |
Delay Spacingdelay_spacing |
13 fine 45 |
0-16383 |
Delay Ping Pongdelay_ping_pong |
88 | 0-63 off, 64-127 on |
Delay Syncdelay_sync |
89 | 0-63 off, 64-127 on |
Oscillators
| Control | CC | Values |
|---|---|---|
Osc 2 Frequencyosc_2_frequency |
16 fine 48 |
0-16383 |
Osc 3 Frequencyosc_3_frequency |
17 fine 49 |
0-16383 |
Osc 4 Frequencyosc_4_frequency |
18 fine 50 |
0-16383 |
Hard Sync Enablehard_sync_enable |
80 | 0-63 off, 64-127 on |
Osc 2 Syncosc_2_sync |
81 | 0-63 off, 64-127 on |
Osc 3 Syncosc_3_sync |
82 | 0-63 off, 64-127 on |
Osc 4 Syncosc_4_sync |
83 | 0-63 off, 64-127 on |
Osc 1 Octaveosc_1_octave |
74 | 0-31 sixteen_foot, 32-63 eight_foot, 64-95 four_foot, 96-127 two_foot |
Osc 2 Octaveosc_2_octave |
75 | 0-31 sixteen_foot, 32-63 eight_foot, 64-95 four_foot, 96-127 two_foot |
Osc 3 Octaveosc_3_octave |
76 | 0-31 sixteen_foot, 32-63 eight_foot, 64-95 four_foot, 96-127 two_foot |
Osc 4 Octaveosc_4_octave |
77 | 0-31 sixteen_foot, 32-63 eight_foot, 64-95 four_foot, 96-127 two_foot |
Keyboard
| Control | CC | Values |
|---|---|---|
Sustain Pedalsustain_pedal |
64 | 0-63 off, 64-127 on |
Multi Trigmulti_trig |
95 | 0-63 off, 64-127 on |
KB Octavekb_octave |
105 | 0-25 minus_2, 26-50 minus_1, 51-76 zero, 77-101 plus_1, 102-127 plus_2 |
Paraphony
| Control | CC | Values |
|---|---|---|
Paraphony Voice Modeparaphony_voice_mode |
94 | 0-42 one_voice, 43-84 two_voice, 85-127 four_voice |
Where these facts come from
Source documents
- Matriarch Manual, its user manual, read on 13 September 2026 (the file read).
- Matriarch Firmware Update V1.3.0, V1.3.0, dated December 2022, its release notes, read on 1 October 2026 (the file read).
How they were read
User manual (88pp), pp. 5, 9-10, 31-32, 50-51, 54, 57-59, and the MMA v2 MIDI implementation chart at pp. 70-74. The control-change map is the manual's own table at pp. 73-74, whose columns are Parameter | CC Number (MSB) | CC Number (LSB) | Values. Band boundaries below are quoted from that table.
AND THE FIRMWARE v1.3.0 UPDATE DOCUMENT, five pages, published inside the firmware package rather than beside it, cited for the firmware this definition describes and for two numbers the manual does not settle: CC 106 IS IN NEITHER THE CHART NOR THE MANUAL. The notes say "Arp/Sequencer Gate Length can be adjusted using MIDI CC 106. Value 64 = 50% gate length (default)" (release_notes p. 3), under CHANGES SINCE V1.2.0 on the notes' own p. 3, where the manual's chart gives Arp Gate Length as CC 15 with a fine half at CC 47. Two of the maker's own documents give two numbers for what reads as one parameter, and both are recorded, each saying what the other says.
CC 73 IS RECEIVED AND NOT SENT, which the chart does not distinguish: "Arp/Seq PLAY button does not output MIDI CC 73 (can still respond to it if necessary)" (release_notes p. 3), under the same section, with the reason "Improves compatibility with other Grandmother/Matriarchs" (release_notes p. 3).
READ THOSE NOTES' HEADINGS CAREFULLY. Every change list in them is headed by the version it is changes SINCE - "CHANGES SINCE V1.2.3" (release_notes p. 2), "CHANGES SINCE V1.2.0" (release_notes p. 3) - and never by the version it shipped in, and the document names no v1.2.1 at all. So only two things in it can be attributed outright: the first list, which is 1.3.0's because these are 1.3.0's notes, and the known issues, whose heading says "AS OF V1.3.0" (release_notes p. 5). Everything cited here gives the heading it sits under rather than a version it arrived in, CC 106 and CC 73 included. Also in those notes, and recorded against the fields they touch rather than as controls: the clock's pulses-per-quarter-note default changed from 2 to 4; the MIDI clock output default changed to off; and the instrument "no longer outputs unexpected streams of MIDI CC/NRPN data" (release_notes p. 3), which is a fault in firmware before this one rather than a feature of it. That line is also the only place either document mentions NRPN, and it gives no NRPN number.
ONE PROMISE THOSE NOTES DO NOT KEEP: "Can now edit global settings via MIDI SysEx messages (documented below)" (release_notes p. 3), and nothing below documents one. Their remaining pages describe reaching the global settings from the keyboard, and no system exclusive message, byte or template appears anywhere in them. So sysex: true below still rests on the manual, as it always did, and this instrument's SysEx interface is documented somewhere Moog has not published here.
AND ONE KNOWN ISSUE WORTH A READER'S TIME: the notes' KNOWN OUTSTANDING ISSUES AS OF V1.3.0 include "Send Program Change - Seems to have no effect" (release_notes p. 5). This definition records program change as received and says nothing about sending, which agrees with that.
NOT RECORDED, and marked in place: the power-on default for the voice mode switch.