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 Little Phatty Stage II MIDI implementation

The MIDI implementation of the Moog Music Little Phatty Stage II: what it answers to, and the 52 controls it offers, on firmware 2.2.

At a glance

Firmware
This page describes firmware 2.2.
MIDI channel
Any one of 1 to 16.
MIDI mode
Receives in 4 (omni off, mono) and sends in 3 (omni off, poly).
Voices
One, so it plays one note at a time.
Note range
Not recorded.
Velocity
Sent and received. Release velocity is ignored.
Aftertouch
None, sent or answered.
Pitch bend
How far it bends is not recorded, and the range can be changed.
Program change
Received and sent, with 100 presets.
MIDI clock
Received.
Start and stop
Received.
Control change
52 controls, in the tables below, 2 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/little_phatty") has loaded them.

Interface panel

Control CC Values
Glide On/Off
glide_on_off
65 0 off, 64 on

Modulation

Control CC Values
LFO Rate
lfo_rate
3 0-127
Modulation Amount
mod_amount
6 0-127
Modulation Source
mod_source
68 0 tri, 16 square, 32 saw, 48 ramp, 64 filt_env, 80 osc_2
Modulation Destination
mod_destination
69 0 pitch, 16 filt, 32 wave, 48 osc_2
LFO Sync Source
lfo_sync_source
102 0 int, 64 midi_clk
LFO Sync Clock Div
lfo_sync_clock_div
103 0 thirty_second_note, 8 dotted_thirty_second_note, 16 sixteenth_note, 24 dotted_sixteenth_note, 32 eighth_note, 40 dotted_eighth_note, 48 quarter_note, 56 dotted_quarter_note, 64 half_note, 72 dotted_half_note, 80 whole_note, 88 whole_plus_quarter, 96 whole_plus_half, 104 whole_plus_dotted_half, 112 whole_plus_whole
Mod Source 5
mod_source_5
104 0 filt, 64 s_and_h
Mod Source 6
mod_source_6
105 0 osc_2, 64 noise
Mod Dest 2
mod_dest_2
106 0 off, 25 pitch, 50 filt, 75 wave, 100 osc_2

Oscillators

Control CC Values
Osc 1 Octave
osc_1_octave
74 0 sixteen_foot, 32 eight_foot, 48 four_foot, 64 two_foot
Osc 1 Wave
osc_1_wave
9 0-127
Osc 1 Level
osc_1_level
15 0-127
Glide Rate
glide_rate
5 0-127
1-2 Sync
sync_1_2
77 0 off, 64 on
Osc 2 Octave
osc_2_octave
75 0 sixteen_foot, 32 eight_foot, 48 four_foot, 64 two_foot
Osc 2 Freq
osc_2_freq
10 0-127
Osc 2 Wave
osc_2_wave
11 0-127
Osc 2 Level
osc_2_level
16 0-127
Pitch Bend Up Amount
pitch_bend_up_amount
107 0-127
Pitch Bend Down Amount
pitch_bend_down_amount
108 0-127

Filter

Control CC Values
Cutoff
cutoff
19
fine 51
0-16383
Resonance
resonance
21 0-127
KB Amount
kb_amount
22 0-127
EG Amount
eg_amount
27 0-127
Overload
overload
18 0-127
Filter Poles
filter_poles
109 0 one, 32 two, 64 three, 96 four
Filter Velocity Sens
filter_velocity_sens
110 0 minus_8, 12 minus_7, 19 minus_6, 26 minus_5, 33 minus_4, 40 minus_3, 47 minus_2, 54 minus_1, 61 zero, 68 plus_1, 75 plus_2, 82 plus_3, 89 plus_4, 96 plus_5, 103 plus_6, 110 plus_7, 117 plus_8

Envelope generator

Control CC Values
Filter EG Attack
filter_eg_attack
23 0-127
Filter EG Decay
filter_eg_decay
24 0-127
Filter EG Sustain
filter_eg_sustain
25 0-127
Filter EG Release
filter_eg_release
26 0-127
Volume EG Attack
volume_eg_attack
28 0-127
Volume EG Decay
volume_eg_decay
29 0-127
Volume EG Sustain
volume_eg_sustain
30 0-127
Volume EG Release
volume_eg_release
31 0-127
EGR Release On/Off
egr_release
111 0 off, 64 on
EGR Legato
egr_legato
112 0 on, 43 off, 86 reset

Arpeggiator

Control CC Values
Arpeggiator Enable
arpeggiator_enable
113 0 off, 64 on
Arp Run/Stop
arp_run_stop
90 0 off, 64 on
Arp Clock Rate (coarse)
arp_clock_rate_coarse
4 0-127
Arp Clock Rate (fine)
arp_clock_rate_fine
36 0-127
Arp Clock Source
arp_clock_source
114 0 int, 43 lfo, 86 midi
Arp Clock Divisions
arp_clock_divisions
115 0 thirty_second_note, 8 dotted_thirty_second_note, 16 sixteenth_note, 24 dotted_sixteenth_note, 32 eighth_note, 40 dotted_eighth_note, 48 quarter_note, 56 dotted_quarter_note, 64 half_note, 72 dotted_half_note, 80 whole_note, 88 whole_plus_quarter, 96 whole_plus_half, 104 whole_plus_dotted_half, 112 whole_plus_whole
Arp Range (Octaves)
arp_range
116 0 minus_3, 19 minus_2, 38 minus_1, 57 zero, 71 plus_1, 90 plus_2, 109 plus_3
Arp Pattern
arp_pattern
117 0 up, 43 down, 86 order
Arp Mode
arp_mode
118 0 loop, 43 back_forth, 86 once
Arp Latch Enable
arp_latch_enable
119 0 off, 64 on
Arp Latch/Unlatch
arp_latch_unlatch
91 0 off, 64 on

Output

Control CC Values
Volume
volume
7 0-127

Keybd

Control CC Values
Keyboard Note Priority
keyboard_note_priority
88 0 glob, 32 low, 64 high, 96 last

Left-hand controller

Control CC Values
Mod Wheel
mod_wheel
1
fine 33
0-16383

Where these facts come from

Source documents

How they were read

The LP Stage II User's Manual, 77 sheets: the presets at p. 6, the keyboard and wheels at p. 19, the Master menus at pp. 26 to 34, the LFO's sync among them at p. 27, the pitch bend and Pot Mapping menus at pp. 36 to 38, the arpeggiator's menu at pp. 39 to 41, the SysEx menus at pp. 41 to 43, the MIDI chapter at p. 54, the control change table at pp. 55 and 56 with its two value tables at p. 57, the clock appendices at pp. 59 and 60, the MIDI Implementation Chart at p. 68, and the specifications at p. 72.

IT IS THE STAGE II EDITION'S MANUAL, AND THE ONLY ONE MOOG SERVES. Moog's downloads list has one entry for the product, "Little Phatty Manual" (downloads_list), and no firmware. The file's contents page is headed "Stage II Edition" (manual p. 3) and its chart is for the "Little Phatty Stage II Analog Synthesizer" (manual p. 68). The Stage II has a USB connection beside its MIDI sockets (manual p. 59). What the Tribute or the Stage edition answers to is not in any document Moog serves, so nothing here is claimed of either.

EVERY CONTROLLER NUMBER AND VALUE BELOW IS THE TABLE'S OR ITS VALUE TABLES'. The table is captioned "LP Stage II MIDI CC messages" (manual pp. 55-56) under each of its halves and gives each row a section, a parameter, a function, a controller number and a value column. The chart agrees with it about every number but one: it lists 53 where the table gives cutoff's fine half as 51 (manual pp. 55 and 68). 51 is recorded, because it is the cutoff's 19 plus 32, as the modulation wheel's fine half is its 1 plus 32, which is how the MIDI specification pairs them. moog/slim_phatty's manual has the same 53 in its chart.

PART OF THIS FILE'S TEXT IS NOT WHAT ITS PAGES SHOW, SO THE TABLE WAS READ BY EYE AS WELL. Lines set in certain embedded fonts come out of the text layer shifted, as runs of capitals and punctuation: the fine half of the arpeggiator's rate, printed 36 (fine) beside 4 (coarse) (manual p. 56), is one, and so is every function cell with the word filter in it (manual pp. 55-56). The pages are sound. Notes/4952_read_little_phatty.py reads the table by where each cell sits and puts the shift back, a second reader read every row from renders of the pages, and no quotation here is taken from a shifted line.

STEPPED SETTINGS ARE EXACT VALUES, NOT BANDS, because that is how the table prints them: "0 (TRI), 16 (SQUARE)" (manual p. 55) and so on, a value and its name. They are recorded as choices, as moog/slim_phatty records them. Three rows, two on p. 55 and one on p. 56, send the reader to a table on another page: "See table for list of values" (manual p. 55). Those tables give fifteen clock divisions and seventeen velocity sensitivities, value by value (manual p. 57). The two pitch bend depths are the exception: the table prints them as 0 to 127, and the menu that sets the same depths offers seven steps each way (manual pp. 36 and 55).

THE SIX ROWS WITHOUT A NUMBER are the two mode switches, the cursor, the enter button and the two octave switches (manual p. 55). The panel's Octave Up/Down setting moves the notes the keyboard sends and is kept with the sound, "The Octave settings are stored individually for each preset." (manual p. 22), and the table gives it no controller; 74 and 75 are the oscillators' own octaves.

THE CONTROLS GO BOTH WAYS. "When you adjust any one of the LP's four analog edit controls, MIDI Continuous Controller (CC) messages are generated and transmitted on the MIDI Out connector." (manual p. 54), and "MIDI CC messages are also generated when you adjust Preset parameter values in the menus; this gives you total control of all LP sound parameters via MIDI." (manual p. 54). So no control below states a direction.

TWO CONTROLS ARE FOURTEEN BITS, AND TWO MORE SPLIT ONE SETTING. "The LP sends and receives 7-bit MIDI CC messages for all parameters except for the Modulation Wheel and Filter Cutoff, which send and receive high-resolution," (manual p. 54) fourteen-bit messages, by the line that follows, which is one of the shifted ones: 1 with 33, and 19 with 51. The table's own value cell for each of the two still reads 0 – 127 (manual pp. 55-56), and a sender of seven bits may "use the MSB channel number by itself for these two parameters." (manual p. 54). The arpeggiator's rate is one row and two controllers of a different kind, 4 for the coarse rate in steps of 3 BPM over 21 to 320 BPM and 36 for the fine in tenths of one (manual pp. 54 and 56), figures that are on shifted lines and that 128 steps of 3 do not square with, and the manual works an example: "For CC#04 = 40 and CC#36 = 17, the LP's display will show '121.7 BPM'." (manual p. 54). So 36 is recorded as a control of its own and not as 4's lower half, although its number is 4 plus 32.

CONTROLLER 6 IS THE MODULATION AMOUNT, NOT DATA ENTRY, AND A CEILING RATHER THAN A LEVEL. The table gives "Adjusts the modulation amount" (manual p. 55) against 6, and no page names a registered or non-registered parameter for data entry to set, so 6 is carried as this instrument's own control. The panel's AMOUNT "is used to adjust the maximum amount of modulation sent to the Mod Wheel." (manual p. 17), and "when the Mod Wheel is all the way forward the Mod Source passes to the Mod Destination at the level set by the Mod Amount." (manual p. 7). So 6 sets how far 1 can take the modulation. That it does nothing audible with the wheel at rest is a reading of those two sentences, which no page states.

THE FOUR KNOBS CAN BE GIVEN OTHER NUMBERS. "The Pot Mapping menu allows you to make arbitrary MIDI Continuous Controller (CC) assignments to each of the four Analog Edit knobs on the front panel (MOD, OSC, FILT, and EGR)." (manual p. 37), to any of OFF, 0-127, acting on the instrument, on MIDI or on both (manual p. 38), and "The MIDI CC assignments shown for each section are over-ridden when Pot Mapping is enabled in that section." (manual p. 54). The table is the map with Pot Mapping off. The mapping is one of the Advanced Preset menus, whose "parameters are stored individually for each preset." (manual p. 35), and it is engaged at the panel: "Once programmed, Pot Mapping is enabled in a section by selecting the active parameter in that section." (manual p. 38). So whether the table holds for a knob depends on the preset loaded and on a button, and no row of the table switches it.

THE KEYBOARD SENDS MORE NOTES THAN THE INSTRUMENT SOUNDS. "The keyboard produces velocity control voltages and transmits MIDI Note On and Note Off messages polyphonically." (manual p. 19), from 37 keys and octave switches that reach two octaves each way (manual p. 22): "The transmitted note numbers follow the OCTAVE switch setting, providing a total range of seven octaves. With no octave transposition, the transmitted range is 48 – 84 (C3-C6)" (manual p. 68), 24 to 108 in all. The instrument itself is "Programmable monophonic analog synthesizer w/100 presets" (manual p. 72), and plays one of the notes held, by the keyboard priority. A setting lets several Moogs share the notes of a chord between them over MIDI, each still playing one (manual p. 33).

WHAT LATER SYSTEMS ADDED, AND WHY NONE OF IT IS BELOW. On Moog's forum a member posting as Amos announced a pre-release beta of 3.1 under the title "New Firmware v3.1 for Slim Phatty, LP Stage and Tribute" (forum_post), with an "OS2 to 3.1 Update for Stage / Stage II Editions" (forum_post). A reply in the thread gives the surname, "Amos Gaynes for President 2012!" (forum_post), which is a name the manual's foreword has in the team that made the instrument (manual p. 4). The post lists per-preset settings for legato glide, an LFO reset and volume velocity sensitivity; four choices of what MIDI output carries, the default being "Transmit All MIDI CCs from the LP (default behavior)" (forum_post); "Significantly improved Polyphonic note-allocation algorithm." (forum_post); "Significantly improved incoming MIDI CC and note handling." (forum_post); and "Arpeggiator if internal clock can now send MIDI Start, MIDI Clock, and MIDI Stop messages when running." (forum_post). No page of the manual carries any of these, and Moog serves no firmware or notes for the Little Phatty, so this file describes the system the manual describes. moog/slim_phatty records what 3.2 added for the rack, by the notes in Moog's 3.21 package, with a controller 87; those notes are the Slim Phatty's, and are not cited here.

THE CONTROLLER NUMBERS ARE SHARED WITH THE VOYAGER, BY THIS MANUAL'S ACCOUNT. Where it describes stacking several Moogs it says their numbers "(MIDI CC's) are consistent between the Voyager and Little Phatty" (manual p. 33). Nothing here rests on that.

LOCAL CONTROL IS A SETTING HERE, NOT A MESSAGE. The MIDI Setup menu turns local control of the sound on and off, which it gives as the keyboard, the wheels and any panel control that can also receive MIDI: "Values: ON, OFF; the default is ON" (manual p. 31), and "It does not disable any MIDI transmitting or receiving." (manual p. 31). The chart crosses Local Off both ways (manual p. 68), so no MIDI message reaches the setting. All Notes Off is circled both ways, and the same menu sends it: "This command is the equivalent of a MIDI panic button to silence stuck notes." (manual p. 31).

MIDI ARRIVES AND LEAVES BY DIN, BY USB OR BY BOTH, AND CAN BE MERGED THROUGH. The input and the output are each a setting, "Values: NONE, DIN, USB, DIN/USB; the default is DIN/USB" (manual p. 31), and a Merge setting for each input echoes what arrives to an output, off by default: "This allows you to pass MIDI data thru the LP, even though the LP has no dedicated MIDI Thru connector." (manual p. 32).

THE MANUAL GIVES THE ARPEGGIATOR'S RATE TWO NUMBERS, AND THE TABLE'S IS FOLLOWED. Two pages say the rate is changed "by issuing a MIDI CC#90 command" (manual p. 39) and "by sending a MIDI CC#90 command with a value in the range 0-127" (manual p. 60), where the table gives 90 to Arp Run/Stop and the rate to 4 and 36, with the worked example. moog/slim_phatty quotes the same two phrases from its own manual.

NOT RECORDED: the note range. The chart's Note Number row gives 0 to 127 received with no True Voice row beneath it (manual p. 68), and no page says directly which notes sound; the nearest is the note calibration's default range, MIDI notes 12 to 116 (manual p. 47).

NOT RECORDED EITHER: the pitch bend depth, which is set for each preset.