Skip to content

MIDI CCs & Events

Robert Hargreaves edited this page Aug 29, 2024 · 20 revisions

Events

The following MIDI events are supported:

  • Note On/Off
  • Pitch Bend (±2st)
  • Program Change (selects FM preset or PSG envelope)
  • Universal SysEx Messages (see Configuration & Advanced Operations)
  • Reset (resets all parameters)

Control Changes (CCs)

These are supported across FM and PSG channels:

CC Description Effect Values
5 Portamento Time Otherwise known as Glide Rate. Constant rate (wider note distances take longer to complete). Initial value is 64. 0: Shortest
127: Longest
7 Channel Volume Output Operator Total Level (FM),
Attenuation (PSG)
0 - 127: Logarithmic
10 Panning Stereo 0 - 31: Left
32 - 95: Centre
96 - 127: Right
65 Portamento On/Off Enables portamento/glide for concurrently played notes (legato style). Only effective for static/monophonic channels. 0 - 63: Off
64 - 127: On
85 Fine Tune Detunes the channel. When notes are mirrored across channels, this can aid in creating unison/chorus effects. 0: -64 cents
64: 0 cents
127: +63 cents
120 All Sounds Off Same as CC 123 Any
121 Reset All Controllers Reset MIDI parameters and dynamic channel mappings (dynamic mode only) Any
123 All Notes Off Key Off (FM),
Max. Attenuation (PSG)
Any

Global FM

Send these to any MIDI channel.

Description CC Range*
LFO Enable 74 2
LFO Frequency 1 8
Ch 3 Special Mode 80 2
Polyphonic Mode 84 2

Range determines how the possible 128 MIDI values are divided to give the respective YM2612 register value, using the formula midiValue / (128 / range) = registerValue (e.g. MIDI value of 32, with a range of 8 translates into to a YM2612 register value of 2)

Per Channel FM

Parameter CC Range
Algorithm (reference) 14 8
Feedback 15 8
Frequency Modulation Level (FMS) 75 8
Amplitude Modulation Level (AMS) 76 4
Stereo 77 4
Show Parameters on UI 83 2
Device Select 86 4

Operators

Parameter Op 1
CC
Op 2
CC
Op 3
CC
Op 4
CC
Range
Total Level (TL) 16 17 18 19 128
Multiple (MUL) 20 21 22 23 16
Detune (DT/DT1) 24 25 26 27 8
Rate Scaling (RS) 39 40 41 42 4
Attack Rate (AR) 43 44 45 46 32
Decay Rate (DR/D1R) 47 48 49 50 32
Sustain Rate (SR/D2R) 51 52 53 54 16
Sustain Level (SL/D1L) 55 56 57 58 16
Release Rate (RR) 59 60 61 62 16
Amplitude Modulation (AM) 70 71 72 73 2
SSG-EG* 90 91 92 93 16

SSG-EG

See the Plutiedev site for a description of the SSG-EG register.

Effect CC Values
Off 0 - 63
Envelope 1 64 - 71
Envelope 2 72 - 79
Envelope 3 80 - 87
Envelope 4 88 - 95
Envelope 5 96 - 103
Envelope 6 104 - 111
Envelope 7 112 - 119
Envelope 8 120 - 127

Warning

GenMDM's behaviour differs from the above. It maps the effects across 0 to 63 instead of 0 to 127.