bank select (controller numbers 0 and 32)
/midi/controller [device:(string)a-d] bank value:(int)0-16383
example: /midi/controller a bank 1000 1
modulation wheel (controller numbers 1 and 33)
/midi/controller [device:(string)a-d] modwheel value:(float)0.0-1.0
example: /midi/controller a modwheel 0.5 1
breath controller (controller numbers 2 and 34)
/midi/controller [device:(string)a-d] breath value:(float)0.0-1.0
example: /midi/controller a breath .5 1
foot pedal (controller numbers 4 and 36)
/midi/controller [device:(string)a-d] foot value:(float)0.0-1.0
example: /midi/controller a foot .5 1
portamento time (controller numbers 5 and 37)
/midi/controller [device:(string)a-d] portamento_time value:(float)0.0-1.0
example: /midi/controller a portamento_time .5 1
data entry (controller numbers 6 and 38)
/midi/controller [device:(string)a-d] data value:(int)0-16383
example: /midi/controller a data 1000 1
volume (controller numbers 7 and 39)
/midi/controller [device:(string)a-d] volume value:(float)0.0-1.0
example: /midi/controller a volume .5 1
balance (controller numbers 8 and 40)
/midi/controller [device:(string)a-d] balance value:(float)0.0-1.0
example: /midi/controller a balance .5 1
pan position (controller numbers 10 and 42)
/midi/controller [device:(string)a-d] pan value:(float)0.0-1.0
example: /midi/controller a pan .5 1
expression (controller numbers 11 and 43)
/midi/controller [device:(string)a-d] expression value:(float)0.0-1.0
example: /midi/controller a expression .5 1
effect control 1 (controller numbers 12 and 44)
/midi/controller [device:(string)a-d] effect1 value:(float)0.0-1.0
example: /midi/controller a effect1 .5 1
effect control 2 (controller numbers 13 and 45)
/midi/controller [device:(string)a-d] effect2 value:(float)0.0-1.0
example: /midi/controller a effect2 .5 1
general purpose slider 1 (controller number 16)
/midi/controller [device:(string)a-d] slider1 value:(int)0-127
example: /midi/controller a slider1 127 1
general purpose slider 2 (controller number 17)
/midi/controller [device:(string)a-d] slider2 value:(int)0-127
example: /midi/controller a slider2 127 1
general purpose slider 3 (controller number 18)
/midi/controller [device:(string)a-d] slider3 value:(int)0-127
example: /midi/controller a slider3 127 1
general purpose slider 4 (controller number 19)
/midi/controller [device:(string)a-d] slider4 value:(int)0-127
example: /midi/controller a slider4 127 1
pedals (controller numbers 64 through 69)
there are several standard controllers that are basically just switches that can be either on or off. for these controllers midi values 0 – 63 are treated as off and midi values 64 – 127 are treated as on. for the value field mapd treats a 0 as off (outputting midi value 0) and any non-zero integer as on (outputting midi value 127). so even though for the hold pedal midi value 1 would signal an off, in mapd to signal an on for hold pedal you could write
/midi/controller a hold 1 1
hold pedal (controller number 64)
/midi/controller [device:(string)a-d] hold value:(int)
example: /midi/controller a hold 0 1
portamento (controller number 65)
/midi/controller [device:(string)a-d] portamento value:(int)
example: /midi/controller a portamento 0 1
sustenuto pedal (controller number 66)
/midi/controller [device:(string)a-d] sustenuto value:(int)
example: /midi/controller a sustenuto 0 1
soft pedal (controller number 67)
/midi/controller [device:(string)a-d] soft value:(int)
example: /midi/controller a soft 0 1
legato pedal (controller number 68)
/midi/controller [device:(string)a-d] legato value:(int)
example: /midi/controller a legato 0 1
hold2 pedal (controller number 69)
/midi/controller [device:(string)a-d] hold2 value:(int)
example: /midi/controller a hold2 0 1
sound variation (controller number 70)
/midi/controller [device:(string)a-d] variation value:(int)0-127
example: /midi/controller a variation 127 1
sound timbre (controller number 71)
/midi/controller [device:(string)a-d] timbre value:(int)0-127
example: /midi/controller a timbre 127 1
release time (controller number 72)
/midi/controller [device:(string)a-d] release value:(int)0-127
example: /midi/controller a release 127 1
attack time (controller number 72)
/midi/controller [device:(string)a-d] attack value:(int)0-127
example: /midi/controller a attack 127 1
brightness (controller number 74)
/midi/controller [device:(string)a-d] brightness value:(int)0-127
example: /midi/controller a brightness 127 1
sound control 6 (controller number 75)
/midi/controller [device:(string)a-d] control6 value:(int)0-127
example: /midi/controller a control6 127 1
sound control 7 (controller number 76)
/midi/controller [device:(string)a-d] control7 value:(int)0-127
example: /midi/controller a control7 127 1
sound control 8 (controller number 77)
/midi/controller [device:(string)a-d] control7 value:(int)0-127
example: /midi/controller a control7 127 1
sound control 9 (controller number 78)
/midi/controller [device:(string)a-d] control7 value:(int)0-127
example: /midi/controller a control7 127 1
sound control 10 (controller number 79)
/midi/controller [device:(string)a-d] control10 value:(int)0-127
example: /midi/controller a control10 127 1
h4 general purpose buttons (controller numbers 80 through 83)
the general purpose buttons work like the pedals. a value of 0 is treated as off and midi value 0 is outputted. any non-zero value is treated as on and midi value 127 is outputted.
general purpose button 1 (controller number 80)
/midi/controller [device:(string)a-d] button1 value:(int)0-127
example: /midi/controller a button1 0 1
general purpose button 2 (controller number 81)
/midi/controller [device:(string)a-d] button2 value:(int)
example: /midi/controller a button2 0 1
general purpose button 3 (controller number 82)
/midi/controller [device:(string)a-d] button3 value:(int)
example: /midi/controller a button3 0 1
general purpose button 4 (controller number 83)
/midi/controller [device:(string)a-d] button4 value:(int)
example: /midi/controller a button4 127 1
effects level (controller number 90)
/midi/controller [device:(string)a-d] effects value:(int)0-127
example: /midi/controller a effects 127 1
tremulo level (controller number 91)
/midi/controller [device:(string)a-d] tremulo value:(int)0-127
example: /midi/controller a tremulo 127 1
chorus level (controller number 92)
/midi/controller [device:(string)a-d] chorus value:(int)0-127
example: /midi/controller a chorus 127 1
celeste level (controller number 93)
/midi/controller [device:(string)a-d] celeste value:(int)0-127
example: /midi/controller a celeste 127 1
phaser level (controller number 94)
/midi/controller [device:(string)a-d] phaser value:(int)0-127
example: /midi/controller a phaser 127 1
data buttons (controllers 96 and 97)
data button increment and data button decrement typically cause some registered or non-registered parameter to be either incremented or decremented. the controller value is ignored for these controller numbers.
data button incremenet (controller number 96)
/midi/controller [device:(string)a-d] data_button_inc [channel:(int)1-16]
example: /midi/controller a data_button_inc 1
data button decrement (controller number 97)
/midi/controller [device:(string)a-d] data_button_dec [channel:(int)1-16]
example: /midi/controller a data_button_dec 1
non-registered parameter (controller numbers 98 and 99)
/midi/controller [device:(string)a-d] nrp value:(int)0-16383
example: /midi/controller a nrp 1000 1
all sound off (controller number 120)
all sound off midi messages ignore the controller value, so it’s not used in the address pattern value string
/midi/controller [device:(string)a-d] all_sound_off [channel:(int)1-16]
example: /midi/controller a all_sound_off 1
all controls off (controller number 121)
all controls off midi messages ignore the controller value, so it’s not used in the address pattern value string
/midi/controller [device:(string)a-d] all_controls_off [channel:(int)1-16]
example: /midi/controller a all_controls_off 1
local keyboard on/off (controller number 122)
works like foot pedal.
/midi/controller [device:(string)a-d] local_keyboard value:(int)
all notes off (controller number 121)
all notes off midi messages ignore the controller value, so it’s not used in the address pattern value string
/midi/controller [device:(string)a-d] all_notes_off [channel:(int)1-16]
example: /midi/controller a all_notes_off 1
omni mode off (controller number 124)
all notes off midi messages ignore the controller value, so it’s not used in the address pattern value string
/midi/controller [device:(string)a-d] omni_off [channel:(int)1-16]
example: /midi/controller a omni_off 1
omni mode on (controller number 125) omni mode on midi messages ignore the controller value, so it’s not used in the address pattern value string
/midi/controller [device:(string)a-d] omni_on [channel:(int)1-16]
example: /midi/controller a omni_on 1
mono operation (controller number 126)
/midi/controller [device:(string)a-d] mono value:(int)0-127
example: /midi/controller a mono 127 1
poly operation (controller number 126)
/midi/controller [device:(string)a-d] poly value:(int)0-127
example: /midi/controller a poly 127 1
program change
/midi/program device:(string)a-d [channel:(int)1-16]
example: /midi/program a 64 1
channel pressure
/midi/channel_pressure device:(string)a-d [channel:(int)1-16]
example: /midi/channel_pressure a 64 1
pitch wheel
/midi/pitch_wheel device:(string)a-d [channel:(int)1-16]
song position pointer
/midi/song_position device:(string)a-d
example: /midi/song_position a 1000
song select
/midi/song_select device:(string)a-d
tune request
/midi/tune_request [device:(string)a-d]
example: /midi/tune_request a
midi clock
/midi/clock [device:(string)a-d]
midi tick
/midi/tick [device:(string)a-d]
midi start
/midi/start [device:(string)a-d]
midi stop
/midi/stop [device:(string)a-d]
midi continue
/midi/continue [device:(string)a-d]
midi active sense
/midi/activesense [device:(string)a-d]
midi reset
/midi/reset [device:(string)a-d]
alternate forms of the midi realtime messages
midi clock
/midi/realtime [device:(string)a-d] clock
midi tick
/midi/realtime [device:(string)a-d] tick
midi start
/midi/realtime [device:(string)a-d] start
midi stop
/midi/realtime [device:(string)a-d] stop
midi continue
/midi/realtime [device:(string)a-d] continue
midi active sense
/midi/realtime [device:(string)a-d] activesense
midi reset
/midi/realtime [device:(string)a-d] reset