open-audiovisual
Search GitHub

Novation

Novation Launchpad Pro MK3

Novation Launchpad Pro MK3 is a MIDI hardware controller by Novation: 64 pads and 41 buttons.

It sends Note and CC on channel 1. The profile cites 2 sources. No control is flagged unverified.

  • Manufacturer docs
  • LED feedback
Kind
hardware device
Maker
Novation
Controls
105 controls
Messages
Note · CC
MIDI channels
1
LED feedback
yes, lights are driven by MIDI
Signals
midi/lppro3/…
Port name matches
/lppromk3/i /launchpad\s*pro\s*(\[?mk\s*3\]?|3\b)/i
LAUNCHPAD PROSetup◀▶Seq▲▼Dup▷○VelArmVolPan

Play Novation Launchpad Pro MK3 on screen Full screen ↗ Raw JSON ↗ All controllers

Drag knobs and faders · tap pads and keys · or plug the real one in and press Connect. Nothing is sent anywhere unless you add a MIDI out.

MIDI implementation

Every control of Novation Launchpad Pro MK3 and the message it sends

Generated from the profile file, so it is the same table the on-screen controller plays. Channels are 1–16; numbers are real MIDI numbers.

MIDI implementation of Novation Launchpad Pro MK3
ControlTypeMessageChNumberSignalLED feedbackVerified
pad1 pad Note · velocity 1 11 · B-1 midi/lppro3/pad1 note 11 · on 37 / off 0 yes
pad2 pad Note · velocity 1 12 · C0 midi/lppro3/pad2 note 12 · on 37 / off 0 yes
pad3 pad Note · velocity 1 13 · C#0 midi/lppro3/pad3 note 13 · on 37 / off 0 yes
pad4 pad Note · velocity 1 14 · D0 midi/lppro3/pad4 note 14 · on 37 / off 0 yes
pad5 pad Note · velocity 1 15 · D#0 midi/lppro3/pad5 note 15 · on 37 / off 0 yes
pad6 pad Note · velocity 1 16 · E0 midi/lppro3/pad6 note 16 · on 37 / off 0 yes
pad7 pad Note · velocity 1 17 · F0 midi/lppro3/pad7 note 17 · on 37 / off 0 yes
pad8 pad Note · velocity 1 18 · F#0 midi/lppro3/pad8 note 18 · on 37 / off 0 yes
pad9 pad Note · velocity 1 21 · A0 midi/lppro3/pad9 note 21 · on 37 / off 0 yes
pad10 pad Note · velocity 1 22 · A#0 midi/lppro3/pad10 note 22 · on 37 / off 0 yes
pad11 pad Note · velocity 1 23 · B0 midi/lppro3/pad11 note 23 · on 37 / off 0 yes
pad12 pad Note · velocity 1 24 · C1 midi/lppro3/pad12 note 24 · on 37 / off 0 yes
pad13 pad Note · velocity 1 25 · C#1 midi/lppro3/pad13 note 25 · on 37 / off 0 yes
pad14 pad Note · velocity 1 26 · D1 midi/lppro3/pad14 note 26 · on 37 / off 0 yes
pad15 pad Note · velocity 1 27 · D#1 midi/lppro3/pad15 note 27 · on 37 / off 0 yes
pad16 pad Note · velocity 1 28 · E1 midi/lppro3/pad16 note 28 · on 37 / off 0 yes
pad17 pad Note · velocity 1 31 · G1 midi/lppro3/pad17 note 31 · on 37 / off 0 yes
pad18 pad Note · velocity 1 32 · G#1 midi/lppro3/pad18 note 32 · on 37 / off 0 yes
pad19 pad Note · velocity 1 33 · A1 midi/lppro3/pad19 note 33 · on 37 / off 0 yes
pad20 pad Note · velocity 1 34 · A#1 midi/lppro3/pad20 note 34 · on 37 / off 0 yes
pad21 pad Note · velocity 1 35 · B1 midi/lppro3/pad21 note 35 · on 37 / off 0 yes
pad22 pad Note · velocity 1 36 · C2 midi/lppro3/pad22 note 36 · on 37 / off 0 yes
pad23 pad Note · velocity 1 37 · C#2 midi/lppro3/pad23 note 37 · on 37 / off 0 yes
pad24 pad Note · velocity 1 38 · D2 midi/lppro3/pad24 note 38 · on 37 / off 0 yes
pad25 pad Note · velocity 1 41 · F2 midi/lppro3/pad25 note 41 · on 37 / off 0 yes
pad26 pad Note · velocity 1 42 · F#2 midi/lppro3/pad26 note 42 · on 37 / off 0 yes
pad27 pad Note · velocity 1 43 · G2 midi/lppro3/pad27 note 43 · on 37 / off 0 yes
pad28 pad Note · velocity 1 44 · G#2 midi/lppro3/pad28 note 44 · on 37 / off 0 yes
pad29 pad Note · velocity 1 45 · A2 midi/lppro3/pad29 note 45 · on 37 / off 0 yes
pad30 pad Note · velocity 1 46 · A#2 midi/lppro3/pad30 note 46 · on 37 / off 0 yes
pad31 pad Note · velocity 1 47 · B2 midi/lppro3/pad31 note 47 · on 37 / off 0 yes
pad32 pad Note · velocity 1 48 · C3 midi/lppro3/pad32 note 48 · on 37 / off 0 yes
pad33 pad Note · velocity 1 51 · D#3 midi/lppro3/pad33 note 51 · on 37 / off 0 yes
pad34 pad Note · velocity 1 52 · E3 midi/lppro3/pad34 note 52 · on 37 / off 0 yes
pad35 pad Note · velocity 1 53 · F3 midi/lppro3/pad35 note 53 · on 37 / off 0 yes
pad36 pad Note · velocity 1 54 · F#3 midi/lppro3/pad36 note 54 · on 37 / off 0 yes
pad37 pad Note · velocity 1 55 · G3 midi/lppro3/pad37 note 55 · on 37 / off 0 yes
pad38 pad Note · velocity 1 56 · G#3 midi/lppro3/pad38 note 56 · on 37 / off 0 yes
pad39 pad Note · velocity 1 57 · A3 midi/lppro3/pad39 note 57 · on 37 / off 0 yes
pad40 pad Note · velocity 1 58 · A#3 midi/lppro3/pad40 note 58 · on 37 / off 0 yes
pad41 pad Note · velocity 1 61 · C#4 midi/lppro3/pad41 note 61 · on 37 / off 0 yes
pad42 pad Note · velocity 1 62 · D4 midi/lppro3/pad42 note 62 · on 37 / off 0 yes
pad43 pad Note · velocity 1 63 · D#4 midi/lppro3/pad43 note 63 · on 37 / off 0 yes
pad44 pad Note · velocity 1 64 · E4 midi/lppro3/pad44 note 64 · on 37 / off 0 yes
pad45 pad Note · velocity 1 65 · F4 midi/lppro3/pad45 note 65 · on 37 / off 0 yes
pad46 pad Note · velocity 1 66 · F#4 midi/lppro3/pad46 note 66 · on 37 / off 0 yes
pad47 pad Note · velocity 1 67 · G4 midi/lppro3/pad47 note 67 · on 37 / off 0 yes
pad48 pad Note · velocity 1 68 · G#4 midi/lppro3/pad48 note 68 · on 37 / off 0 yes
pad49 pad Note · velocity 1 71 · B4 midi/lppro3/pad49 note 71 · on 37 / off 0 yes
pad50 pad Note · velocity 1 72 · C5 midi/lppro3/pad50 note 72 · on 37 / off 0 yes
pad51 pad Note · velocity 1 73 · C#5 midi/lppro3/pad51 note 73 · on 37 / off 0 yes
pad52 pad Note · velocity 1 74 · D5 midi/lppro3/pad52 note 74 · on 37 / off 0 yes
pad53 pad Note · velocity 1 75 · D#5 midi/lppro3/pad53 note 75 · on 37 / off 0 yes
pad54 pad Note · velocity 1 76 · E5 midi/lppro3/pad54 note 76 · on 37 / off 0 yes
pad55 pad Note · velocity 1 77 · F5 midi/lppro3/pad55 note 77 · on 37 / off 0 yes
pad56 pad Note · velocity 1 78 · F#5 midi/lppro3/pad56 note 78 · on 37 / off 0 yes
pad57 pad Note · velocity 1 81 · A5 midi/lppro3/pad57 note 81 · on 37 / off 0 yes
pad58 pad Note · velocity 1 82 · A#5 midi/lppro3/pad58 note 82 · on 37 / off 0 yes
pad59 pad Note · velocity 1 83 · B5 midi/lppro3/pad59 note 83 · on 37 / off 0 yes
pad60 pad Note · velocity 1 84 · C6 midi/lppro3/pad60 note 84 · on 37 / off 0 yes
pad61 pad Note · velocity 1 85 · C#6 midi/lppro3/pad61 note 85 · on 37 / off 0 yes
pad62 pad Note · velocity 1 86 · D6 midi/lppro3/pad62 note 86 · on 37 / off 0 yes
pad63 pad Note · velocity 1 87 · D#6 midi/lppro3/pad63 note 87 · on 37 / off 0 yes
pad64 pad Note · velocity 1 88 · E6 midi/lppro3/pad64 note 88 · on 37 / off 0 yes
Shift shift button CC · momentary 1 90 midi/lppro3/shift CC 90 · on 3 / off 0 yes
◀ prev button CC · momentary 1 91 midi/lppro3/prev CC 91 · on 3 / off 0 yes
▶ next button CC · momentary 1 92 midi/lppro3/next CC 92 · on 3 / off 0 yes
Session session button CC · momentary 1 93 midi/lppro3/session CC 93 · on 3 / off 0 yes
Note notemode button CC · momentary 1 94 midi/lppro3/notemode CC 94 · on 3 / off 0 yes
Chord chord button CC · momentary 1 95 midi/lppro3/chord CC 95 · on 3 / off 0 yes
Custom custom button CC · momentary 1 96 midi/lppro3/custom CC 96 · on 3 / off 0 yes
Seq seq button CC · momentary 1 97 midi/lppro3/seq CC 97 · on 3 / off 0 yes
Projects projects button CC · momentary 1 98 midi/lppro3/projects CC 98 · on 3 / off 0 yes
▲ up button CC · momentary 1 80 midi/lppro3/up CC 80 · on 3 / off 0 yes
▼ down button CC · momentary 1 70 midi/lppro3/down CC 70 · on 3 / off 0 yes
Clear clear button CC · momentary 1 60 midi/lppro3/clear CC 60 · on 3 / off 0 yes
Dup dup button CC · momentary 1 50 midi/lppro3/dup CC 50 · on 3 / off 0 yes
Quant quant button CC · momentary 1 40 midi/lppro3/quant CC 40 · on 3 / off 0 yes
Fixed fixed button CC · momentary 1 30 midi/lppro3/fixed CC 30 · on 3 / off 0 yes
▷ play button CC · momentary 1 20 midi/lppro3/play CC 20 · on 3 / off 0 yes
○ rec button CC · momentary 1 10 midi/lppro3/rec CC 10 · on 3 / off 0 yes
Pattern patterns button CC · momentary 1 89 midi/lppro3/patterns CC 89 · on 3 / off 0 yes
Steps steps button CC · momentary 1 79 midi/lppro3/steps CC 79 · on 3 / off 0 yes
Pat Set patset button CC · momentary 1 69 midi/lppro3/patset CC 69 · on 3 / off 0 yes
Vel velocity button CC · momentary 1 59 midi/lppro3/velocity CC 59 · on 3 / off 0 yes
Prob prob button CC · momentary 1 49 midi/lppro3/prob CC 49 · on 3 / off 0 yes
Mutate mutation button CC · momentary 1 39 midi/lppro3/mutation CC 39 · on 3 / off 0 yes
Micro micro button CC · momentary 1 29 midi/lppro3/micro CC 29 · on 3 / off 0 yes
Print print button CC · momentary 1 19 midi/lppro3/print CC 19 · on 3 / off 0 yes
sel1 button CC · momentary 1 101 midi/lppro3/sel1 CC 101 · on 3 / off 0 yes
sel2 button CC · momentary 1 102 midi/lppro3/sel2 CC 102 · on 3 / off 0 yes
sel3 button CC · momentary 1 103 midi/lppro3/sel3 CC 103 · on 3 / off 0 yes
sel4 button CC · momentary 1 104 midi/lppro3/sel4 CC 104 · on 3 / off 0 yes
sel5 button CC · momentary 1 105 midi/lppro3/sel5 CC 105 · on 3 / off 0 yes
sel6 button CC · momentary 1 106 midi/lppro3/sel6 CC 106 · on 3 / off 0 yes
sel7 button CC · momentary 1 107 midi/lppro3/sel7 CC 107 · on 3 / off 0 yes
sel8 button CC · momentary 1 108 midi/lppro3/sel8 CC 108 · on 3 / off 0 yes
Arm arm button CC · momentary 1 1 midi/lppro3/arm CC 1 · on 3 / off 0 yes
Mute mute button CC · momentary 1 2 midi/lppro3/mute CC 2 · on 3 / off 0 yes
Solo solo button CC · momentary 1 3 midi/lppro3/solo CC 3 · on 3 / off 0 yes
Vol vol button CC · momentary 1 4 midi/lppro3/vol CC 4 · on 3 / off 0 yes
Pan pan button CC · momentary 1 5 midi/lppro3/pan CC 5 · on 3 / off 0 yes
Sends sends button CC · momentary 1 6 midi/lppro3/sends CC 6 · on 3 / off 0 yes
Device device button CC · momentary 1 7 midi/lppro3/device CC 7 · on 3 / off 0 yes
Stop stop button CC · momentary 1 8 midi/lppro3/stop CC 8 · on 3 / off 0 yes

LED feedback is modeled for 105 of its controls: the LED column says which message lights each one.

Sources

  • manufacturer Launchpad Pro [MK3] Programmer's reference manual (Novation)official. 'Programmer mode layout' diagram (p.19): 8×8 pads = notes 11–88, 11 bottom-left, +1 to the right, +10 per row up; top row CC 91–98 (CC 90 top-left, CC 99 the logo); left column CC 80, 70 … 10 (top to bottom); right column CC 89, 79 … 19; the row under the grid CC 101–108, the row under that CC 1–8; 'all buttons and pads accept either Note or Control Change messages. The indicated type is which is sent by the device'. LEDs: note-on or CC on ch 1 = static, ch 2 = flashing, ch 3 = pulsing, velocity / value = palette index (0 off, 3 white, 5 red, 13 yellow, 21 green, 37 turquoise, 45 blue); Live/Programmer toggle F0 00 20 29 02 0E 0E <0|1> F7; three ports LPProMK3 MIDI / DIN / DAW
  • manufacturer Launchpad Pro [MK3] User Guide v1 (Novation)official. §3 Hardware Overview (what is printed on each button: the top row ◀ ▶ Session Note Chord Custom Sequencer Projects, the left column ▲ ▼ Clear Duplicate Quantise Fixed Length Play Record, the right column Patterns … Print to Clip, the Ableton track controls Record Arm … Stop Clip); §10.4 pressure mode off / polyphonic / channel; §10.7 Programmer mode: hold Setup, press the orange Scene Launch button, release Setup; the unit always powers on into Live mode

Notes

Models Programmer mode, the one layout in which every pad and button has a documented message. Live mode (what the unit boots into) is different: Note, Chord, Custom and Session modes each send their own notes. Enter Programmer mode from the unit (hold Setup, press the orange Scene Launch button, release Setup) or with the SysEx F0 00 20 29 02 0E 0E 01 F7 (stays off by default: the element sends no SysEx). Use the first port, "LPProMK3 MIDI" (macOS), not DIN or DAW. The manual gives a channel only for lighting (ch 1 static, 2 flashing, 3 pulsing); channel 1 for what the pads and buttons send is an assumption (the worked examples are all channel 1), not a line of the manual: unconfirmed. Pads send velocity; their pressure (off, polyphonic or channel aftertouch) is a unit setting and is not modelled. The labels on the buttons are what the Live-mode faceplate prints; in Programmer mode they are only positions. CC 99 lights the logo and the Setup button sends nothing: both are drawn only. LED feedback: pads light turquoise (palette 37) while played, buttons white (palette 3).

Port names it recognises

matches
/lppromk3/i /launchpad\s*pro\s*(\[?mk\s*3\]?|3\b)/i
prefers
/midi/i
avoids
/daw/i /\bdin\b/i /midiin[23]/i /midiout[23]/i

Signals

Every control publishes midi/lppro3/<control> (0..1), plus /raw; pads add /hit, encoders /delta, keys /on /off and n<note>; the last control touched is midi/lppro3/last.

Use it

Use Novation Launchpad Pro MK3 in your own work

  1. Embed it with one line

    No import map, no build step. Change layout, add hardware="ask" for a Connect button.

    html
    <script type="module" src="https://openaudiovisual.com/packages/midi/element.js"></script>
    <oav-controller profile="novation-launchpad-pro-mk3" readout></oav-controller>
  2. Or as an iframe

    For places that only take an iframe. Every event arrives as a postMessage.

    html
    <iframe src="https://openaudiovisual.com/embed/controller/?profile=novation-launchpad-pro-mk3&readout"
            width="720" height="728" style="border:0;max-width:100%" allow="midi"
            title="Novation Launchpad Pro MK3"></iframe>
    <script>
      // every control the visitor plays arrives here
      addEventListener('message', (e) => {
        if (e.data?.source !== 'openav' || e.data.type !== 'control') return;
        console.log(e.data.detail.signal, e.data.detail.value);
      });
    </script>
  3. Send it to Ableton, TouchDesigner or Resolume

    What you play on screen leaves as real MIDI on the IAC bus (macOS) or a loopMIDI port (Windows). The steps are on the catalog page.

    html
    <!-- what you play on this controller → the IAC bus (macOS) → Ableton, TouchDesigner, Resolume -->
    <script type="module" src="https://openaudiovisual.com/packages/midi/element.js"></script>
    <oav-controller profile="novation-launchpad-pro-mk3" midi-out="IAC" readout></oav-controller>
    <!-- Windows: midi-out="loopMIDI" · let the visitor pick a port: midi-out="ask" -->

    macOS: Audio MIDI Setup → MIDI Studio → IAC Driver → “Device is online”. Windows 11: the built-in Windows MIDI Services have a loopback (not tested by us); older Windows: install loopMIDI, add a port and use midi-out="loopMIDI".

In p5.js, with one line

The one-line injection names knobs, faders and pads by their order in this profile, the order of the table above. Add ?profile=novation-launchpad-pro-mk3 to make the on-screen controller this one; a real Novation Launchpad Pro MK3 is recognised by its port name.

javascript
document.head.prepend(Object.assign(document.createElement('script'), { src: 'https://openaudiovisual.com/p5/oav-p5.js?profile=novation-launchpad-pro-mk3' }));
In your sketchControlMessage
pad1pad1Note 11 · B-1 · Ch 1
pad2pad2Note 12 · C0 · Ch 1
pad3pad3Note 13 · C#0 · Ch 1
pad4pad4Note 14 · D0 · Ch 1
pad5pad5Note 15 · D#0 · Ch 1
pad6pad6Note 16 · E0 · Ch 1
pad7pad7Note 17 · F0 · Ch 1
pad8pad8Note 18 · F#0 · Ch 1
pad9pad9Note 21 · A0 · Ch 1
pad10pad10Note 22 · A#0 · Ch 1
pad11pad11Note 23 · B0 · Ch 1
pad12pad12Note 24 · C1 · Ch 1
pad13pad13Note 25 · C#1 · Ch 1
pad14pad14Note 26 · D1 · Ch 1
pad15pad15Note 27 · D#1 · Ch 1
pad16pad16Note 28 · E1 · Ch 1
… and 48 more, up to pad(64), in the same order
p5.js sketch
function draw() {
  background(20);
}

function padPressed(n, velocity) {      // n = 1…64, as in the table
  circle(random(width), random(height), velocity * 100);
}

Encoders, buttons, wheels and strips are not numbered: read them as midi.cc[number] in the table above, or react in controlChange(cc, value, ch).

The whole p5.js page →

Missing

Is your controller not here?

Open an issue with the brand and model, whether you have the unit and a link to the manual. Or write the profile yourself: it is one JSON file.

GitHub

Is something in this data wrong?

Every number on this page comes from one JSON file. If it disagrees with your unit or the manual, tell us which firmware you checked and we fix the file.