Subsystem Search

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 Wheel
mod_wheel
1
fine 33
0-16383
Mod Rate
mod_rate
3
fine 35
0-16383
Square LFO Polarity
square_lfo_polarity
90 0-63 unipolar, 64-127 bipolar

Glide

Control CC Values
Glide Time
glide_time
5
fine 37
0-16383
Glide On
glide_on
65 0-63 off, 64-127 on
Gated Glide
gated_glide
86 0-63 off, 64-127 on
Legato Glide
legato_glide
87 0-63 off, 64-127 on
Glide Type
glide_type
85 0-42 lcr, 43-84 lct, 85-127 exp

Arp / seq

Control CC Values
Arp Rate
arp_rate
8
fine 40
0-16383
Arp Swing
arp_swing
14
fine 46
0-16383
Arp Gate Length
arp_gate_length
15
fine 47
0-16383
Arp Latch
arp_latch
69 0-63 off, 64-127 on
Arp Play
arp_play
73 0-63 off, 64-127 on
Received, never sent
Arp/Sequencer Gate Length
arp_seq_gate_length
106 0-127; default 64
Arp Mode
arp_mode
91 0-42 arp, 43-84 seq, 85-127 rec
Arp Pattern
arp_pattern
92 0-42 order, 43-84 fw_bw, 85-127 random
Arp Range / Bank
arp_range
93 0-42 one, 43-84 two, 85-127 three

Noise

Control CC Values
Noise Filter Cutoff
noise_filter_cutoff
9
fine 41
0-16383

Stereo delay

Control CC Values
Delay Time
delay_time
12
fine 44
0-16383
Delay Spacing
delay_spacing
13
fine 45
0-16383
Delay Ping Pong
delay_ping_pong
88 0-63 off, 64-127 on
Delay Sync
delay_sync
89 0-63 off, 64-127 on

Oscillators

Control CC Values
Osc 2 Frequency
osc_2_frequency
16
fine 48
0-16383
Osc 3 Frequency
osc_3_frequency
17
fine 49
0-16383
Osc 4 Frequency
osc_4_frequency
18
fine 50
0-16383
Hard Sync Enable
hard_sync_enable
80 0-63 off, 64-127 on
Osc 2 Sync
osc_2_sync
81 0-63 off, 64-127 on
Osc 3 Sync
osc_3_sync
82 0-63 off, 64-127 on
Osc 4 Sync
osc_4_sync
83 0-63 off, 64-127 on
Osc 1 Octave
osc_1_octave
74 0-31 sixteen_foot, 32-63 eight_foot, 64-95 four_foot, 96-127 two_foot
Osc 2 Octave
osc_2_octave
75 0-31 sixteen_foot, 32-63 eight_foot, 64-95 four_foot, 96-127 two_foot
Osc 3 Octave
osc_3_octave
76 0-31 sixteen_foot, 32-63 eight_foot, 64-95 four_foot, 96-127 two_foot
Osc 4 Octave
osc_4_octave
77 0-31 sixteen_foot, 32-63 eight_foot, 64-95 four_foot, 96-127 two_foot

Keyboard

Control CC Values
Sustain Pedal
sustain_pedal
64 0-63 off, 64-127 on
Multi Trig
multi_trig
95 0-63 off, 64-127 on
KB Octave
kb_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 Mode
paraphony_voice_mode
94 0-42 one_voice, 43-84 two_voice, 85-127 four_voice

Where these facts come from

Source documents

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.