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/Offglide_on_off |
65 | 0 off, 64 on |
Modulation
| Control | CC | Values |
|---|---|---|
LFO Ratelfo_rate |
3 | 0-127 |
Modulation Amountmod_amount |
6 | 0-127 |
Modulation Sourcemod_source |
68 | 0 tri, 16 square, 32 saw, 48 ramp, 64 filt_env, 80 osc_2 |
Modulation Destinationmod_destination |
69 | 0 pitch, 16 filt, 32 wave, 48 osc_2 |
LFO Sync Sourcelfo_sync_source |
102 | 0 int, 64 midi_clk |
LFO Sync Clock Divlfo_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 5mod_source_5 |
104 | 0 filt, 64 s_and_h |
Mod Source 6mod_source_6 |
105 | 0 osc_2, 64 noise |
Mod Dest 2mod_dest_2 |
106 | 0 off, 25 pitch, 50 filt, 75 wave, 100 osc_2 |
Oscillators
| Control | CC | Values |
|---|---|---|
Osc 1 Octaveosc_1_octave |
74 | 0 sixteen_foot, 32 eight_foot, 48 four_foot, 64 two_foot |
Osc 1 Waveosc_1_wave |
9 | 0-127 |
Osc 1 Levelosc_1_level |
15 | 0-127 |
Glide Rateglide_rate |
5 | 0-127 |
1-2 Syncsync_1_2 |
77 | 0 off, 64 on |
Osc 2 Octaveosc_2_octave |
75 | 0 sixteen_foot, 32 eight_foot, 48 four_foot, 64 two_foot |
Osc 2 Freqosc_2_freq |
10 | 0-127 |
Osc 2 Waveosc_2_wave |
11 | 0-127 |
Osc 2 Levelosc_2_level |
16 | 0-127 |
Pitch Bend Up Amountpitch_bend_up_amount |
107 | 0-127 |
Pitch Bend Down Amountpitch_bend_down_amount |
108 | 0-127 |
Filter
| Control | CC | Values |
|---|---|---|
Cutoffcutoff |
19 fine 51 |
0-16383 |
Resonanceresonance |
21 | 0-127 |
KB Amountkb_amount |
22 | 0-127 |
EG Amounteg_amount |
27 | 0-127 |
Overloadoverload |
18 | 0-127 |
Filter Polesfilter_poles |
109 | 0 one, 32 two, 64 three, 96 four |
Filter Velocity Sensfilter_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 Attackfilter_eg_attack |
23 | 0-127 |
Filter EG Decayfilter_eg_decay |
24 | 0-127 |
Filter EG Sustainfilter_eg_sustain |
25 | 0-127 |
Filter EG Releasefilter_eg_release |
26 | 0-127 |
Volume EG Attackvolume_eg_attack |
28 | 0-127 |
Volume EG Decayvolume_eg_decay |
29 | 0-127 |
Volume EG Sustainvolume_eg_sustain |
30 | 0-127 |
Volume EG Releasevolume_eg_release |
31 | 0-127 |
EGR Release On/Offegr_release |
111 | 0 off, 64 on |
EGR Legatoegr_legato |
112 | 0 on, 43 off, 86 reset |
Arpeggiator
| Control | CC | Values |
|---|---|---|
Arpeggiator Enablearpeggiator_enable |
113 | 0 off, 64 on |
Arp Run/Stoparp_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 Sourcearp_clock_source |
114 | 0 int, 43 lfo, 86 midi |
Arp Clock Divisionsarp_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 Patternarp_pattern |
117 | 0 up, 43 down, 86 order |
Arp Modearp_mode |
118 | 0 loop, 43 back_forth, 86 once |
Arp Latch Enablearp_latch_enable |
119 | 0 off, 64 on |
Arp Latch/Unlatcharp_latch_unlatch |
91 | 0 off, 64 on |
Output
| Control | CC | Values |
|---|---|---|
Volumevolume |
7 | 0-127 |
Keybd
| Control | CC | Values |
|---|---|---|
Keyboard Note Prioritykeyboard_note_priority |
88 | 0 glob, 32 low, 64 high, 96 last |
Left-hand controller
| Control | CC | Values |
|---|---|---|
Mod Wheelmod_wheel |
1 fine 33 |
0-16383 |
Where these facts come from
Source documents
- LP Stage II User's Manual, its user manual, read on 11 October 2026 (the file read).
- New Firmware v3.1 for Slim Phatty, LP Stage and Tribute - Little Phatty & Slim Phatty Forum - Moog Forum, dated 7 May 2011, a web page, read on 9 October 2026 (the file read).
- Downloads | Moog Music, dated 1 October 2026, a web page, read on 11 October 2026 (the file read).
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.