Novation
Novation Launchkey Mini MK3
Novation Launchkey Mini MK3 is a MIDI hardware controller by Novation: 16 pads, 25 keys, 8 knobs and 2 touch strips.
It sends Pitch bend, CC and Note on channels 1, 10. The profile cites 6 sources. 34 of its controls are marked unverified: the number is our best reading, and Learn rebinds it in one move.
- Manufacturer docs
- Community notes
- 34 unverified
- Kind
- hardware device
- Maker
- Novation
- Controls
- 51 controls
- Messages
- Pitch bend · CC · Note
- MIDI channels
- 1, 10
- LED feedback
- none sent
- Signals
midi/lkmini3/…- Port name matches
/launchkey\s*mini\s*(mk\s*3|mkiii)/i
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 Launchkey Mini 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.
| Control | Type | Message | Ch | Number | Signal | LED feedback | Verified |
|---|---|---|---|---|---|---|---|
Pitch pitch |
touch strip | Pitch bend · springs to centre | 1 | 0–16383 · centre 8192 | midi/lkmini3/pitch |
— | yes |
Mod mod |
touch strip | CC | 1 | 1 | midi/lkmini3/mod |
— | unverified |
1 k1 |
knob | CC | 1 | 21 | midi/lkmini3/k1 |
— | unverified |
2 k2 |
knob | CC | 1 | 22 | midi/lkmini3/k2 |
— | unverified |
3 k3 |
knob | CC | 1 | 23 | midi/lkmini3/k3 |
— | unverified |
4 k4 |
knob | CC | 1 | 24 | midi/lkmini3/k4 |
— | unverified |
5 k5 |
knob | CC | 1 | 25 | midi/lkmini3/k5 |
— | unverified |
6 k6 |
knob | CC | 1 | 26 | midi/lkmini3/k6 |
— | unverified |
7 k7 |
knob | CC | 1 | 27 | midi/lkmini3/k7 |
— | unverified |
8 k8 |
knob | CC | 1 | 28 | midi/lkmini3/k8 |
— | unverified |
pad1 |
pad | Note · velocity | 10 | 36 · C2 | midi/lkmini3/pad1 |
— | yes |
pad2 |
pad | Note · velocity | 10 | 37 · C#2 | midi/lkmini3/pad2 |
— | yes |
pad3 |
pad | Note · velocity | 10 | 38 · D2 | midi/lkmini3/pad3 |
— | yes |
pad4 |
pad | Note · velocity | 10 | 39 · D#2 | midi/lkmini3/pad4 |
— | yes |
pad5 |
pad | Note · velocity | 10 | 44 · G#2 | midi/lkmini3/pad5 |
— | yes |
pad6 |
pad | Note · velocity | 10 | 45 · A2 | midi/lkmini3/pad6 |
— | yes |
pad7 |
pad | Note · velocity | 10 | 46 · A#2 | midi/lkmini3/pad7 |
— | yes |
pad8 |
pad | Note · velocity | 10 | 47 · B2 | midi/lkmini3/pad8 |
— | yes |
pad9 |
pad | Note · velocity | 10 | 40 · E2 | midi/lkmini3/pad9 |
— | yes |
pad10 |
pad | Note · velocity | 10 | 41 · F2 | midi/lkmini3/pad10 |
— | yes |
pad11 |
pad | Note · velocity | 10 | 42 · F#2 | midi/lkmini3/pad11 |
— | yes |
pad12 |
pad | Note · velocity | 10 | 43 · G2 | midi/lkmini3/pad12 |
— | yes |
pad13 |
pad | Note · velocity | 10 | 48 · C3 | midi/lkmini3/pad13 |
— | yes |
pad14 |
pad | Note · velocity | 10 | 49 · C#3 | midi/lkmini3/pad14 |
— | yes |
pad15 |
pad | Note · velocity | 10 | 50 · D3 | midi/lkmini3/pad15 |
— | yes |
pad16 |
pad | Note · velocity | 10 | 51 · D#3 | midi/lkmini3/pad16 |
— | yes |
Keys keys |
keys | Note · velocity | 1 | 48–72 (C3–C5) | midi/lkmini3/keys/on · midi/lkmini3/keys/off · midi/lkmini3/n48…n72 |
— | unverified |
LED feedback is not modeled for this one yet, so OAV does not light its LEDs. Every control still plays and sends its message.
Notes on single controls
modNovation only calls it the Modulation strip; CC 1 is the MIDI modulation controller but no Novation document prints the number. 學習 rebinds it.k1Factory Custom pot mode sends CC 21–28 (Spectrasonics); its MIDI channel is not documented — channel 1 assumed. Select Custom: hold Shift, press the top-right pad.k2Factory Custom pot mode sends CC 21–28 (Spectrasonics); its MIDI channel is not documented — channel 1 assumed. Select Custom: hold Shift, press the top-right pad.k3Factory Custom pot mode sends CC 21–28 (Spectrasonics); its MIDI channel is not documented — channel 1 assumed. Select Custom: hold Shift, press the top-right pad.k4Factory Custom pot mode sends CC 21–28 (Spectrasonics); its MIDI channel is not documented — channel 1 assumed. Select Custom: hold Shift, press the top-right pad.k5Factory Custom pot mode sends CC 21–28 (Spectrasonics); its MIDI channel is not documented — channel 1 assumed. Select Custom: hold Shift, press the top-right pad.k6Factory Custom pot mode sends CC 21–28 (Spectrasonics); its MIDI channel is not documented — channel 1 assumed. Select Custom: hold Shift, press the top-right pad.k7Factory Custom pot mode sends CC 21–28 (Spectrasonics); its MIDI channel is not documented — channel 1 assumed. Select Custom: hold Shift, press the top-right pad.k8Factory Custom pot mode sends CC 21–28 (Spectrasonics); its MIDI channel is not documented — channel 1 assumed. Select Custom: hold Shift, press the top-right pad.keysLowest key at octave 0 is not printed in the docs; C2 = 48 (Novation names middle C C3) is assumed. Keys follow any note on channel 1, so octave shifts just scroll.
Sources
- manufacturer Launchkey Mini [MK3] User Guide 1.1 (Novation)pitch and modulation touch strips; 8 knobs; 16 pads with Session / Drum / Custom pad modes (hold Shift, press a top-row pad: Session, Drum, Custom left; Device, Volume, Pan, Sends, Custom pot modes right); custom modes send notes (pads) and CCs (knobs), edited in Novation Components; Shift + Transpose picks the keyboard MIDI channel; ports "Launchkey Mini MK3 (DAW Port)" on Mac, "MIDI IN2" on Windows for the DAW. No note or CC numbers are printed.
- manufacturer Launchkey [MK3] Programmer's Reference Guide v1 (Novation; the full-size MK3 family)the family powers into Standalone mode; keys, pitch/mod wheels, sustain and the Drum layout of the pads stay on the MIDI port, the rest of the surface talks only to a DAW on the DAW port; note-off = note-on velocity 0; mentions script compatibility with the Launchkey Mini [MK3]
- community Ableton Live 12 MIDI Remote Script novation/launchkey_elements.py (used by Launchkey_Mini_MK3; decompiled, non-official)drum pads notes 36–51 on channel 10 (DRUM_CHANNEL = 9); in DAW mode the pots are CC 21–28 on channel 16
- community DrivenByMoss LaunchkeyPadGrid.java, Launchkey Mini MK3 (Bitwig; non-official)Drum layout on the 2 × 8 pads, channel 10: bottom row 36 37 38 39 44 45 46 47, top row 40 41 42 43 48 49 50 51; Windows ports "Launchkey Mini MK3" and "MIDIIN2 (Launchkey Mini MK3)"
- community giezu/LaunchkeyMiniMK3 — reverse-engineered MIDI implementation (non-official)Drum-mode pads send notes on channel 10; keys, custom-mode knobs and pads, pitch bend and modulation arrive on "Launchkey Mini MK3 MIDI 1", DAW traffic on "MIDI 2" (Linux names)
- community Spectrasonics — Setting up the Launchkey Mini mk3 (non-official)relies on the factory Custom pot mode: knobs 1–8 = CC 21–28 (hold Shift, press the Custom pad on the top row)
Notes
Standalone, MIDI port: pads in Drum mode (hold Shift, press the 2nd top-row pad), knobs in Custom pot mode (hold Shift, press the top-right pad). Novation publishes no programmer's reference for the Mini, so: the pad notes and channel 10 are confirmed by Ableton's and DrivenByMoss's scripts (the 2 × 8 arrangement by DrivenByMoss); the knob CCs 21–28 come from Spectrasonics only and their channel is assumed — knobs, the Mod strip and the key range are marked unverified (學習 rebinds them). Session mode and the Device/Volume/Pan/Sends pot modes need a DAW and talk on the DAW port, not modelled. Shift, Transpose, Octave, >, Stop·Solo·Mute, Arp, Fixed Chord, Play and Record send nothing on the MIDI port in standalone use. No LED feedback.
Port names it recognises
- matches
/launchkey\s*mini\s*(mk\s*3|mkiii)/i- prefers
/midi\s*port/i/midi\s*1/i- avoids
/daw/i/midiin2/i/midi\s*2/i
Signals
Every control publishes midi/lkmini3/<control> (0..1), plus /raw; pads add /hit, encoders /delta, keys /on /off and n<note>; the last control touched is midi/lkmini3/last.
Use it
Use Novation Launchkey Mini MK3 in your own work
Embed it with one line
No import map, no build step. Change
layout, addhardware="ask"for a Connect button.<script type="module" src="https://openaudiovisual.com/packages/midi/element.js"></script> <oav-controller profile="novation-launchkey-mini-mk3" readout></oav-controller>Or as an iframe
For places that only take an iframe. Every event arrives as a
postMessage.<iframe src="https://openaudiovisual.com/embed/controller/?profile=novation-launchkey-mini-mk3&readout" width="720" height="418" style="border:0;max-width:100%" allow="midi" title="Novation Launchkey Mini 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>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.
<!-- 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-launchkey-mini-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-launchkey-mini-mk3 to make the on-screen controller this one; a real Novation Launchkey Mini MK3 is recognised by its port name.
document.head.prepend(Object.assign(document.createElement('script'), { src: 'https://openaudiovisual.com/p5/oav-p5.js?profile=novation-launchkey-mini-mk3' }));| In your sketch | Control | Message |
|---|---|---|
knob1 | 1 k1 | CC 21 · Ch 1 |
knob2 | 2 k2 | CC 22 · Ch 1 |
knob3 | 3 k3 | CC 23 · Ch 1 |
knob4 | 4 k4 | CC 24 · Ch 1 |
knob5 | 5 k5 | CC 25 · Ch 1 |
knob6 | 6 k6 | CC 26 · Ch 1 |
knob7 | 7 k7 | CC 27 · Ch 1 |
knob8 | 8 k8 | CC 28 · Ch 1 |
pad1 | pad1 | Note 36 · C2 · Ch 10 |
pad2 | pad2 | Note 37 · C#2 · Ch 10 |
pad3 | pad3 | Note 38 · D2 · Ch 10 |
pad4 | pad4 | Note 39 · D#2 · Ch 10 |
pad5 | pad5 | Note 44 · G#2 · Ch 10 |
pad6 | pad6 | Note 45 · A2 · Ch 10 |
pad7 | pad7 | Note 46 · A#2 · Ch 10 |
pad8 | pad8 | Note 47 · B2 · Ch 10 |
pad9 | pad9 | Note 40 · E2 · Ch 10 |
pad10 | pad10 | Note 41 · F2 · Ch 10 |
pad11 | pad11 | Note 42 · F#2 · Ch 10 |
pad12 | pad12 | Note 43 · G2 · Ch 10 |
pad13 | pad13 | Note 48 · C3 · Ch 10 |
pad14 | pad14 | Note 49 · C#3 · Ch 10 |
pad15 | pad15 | Note 50 · D3 · Ch 10 |
pad16 | pad16 | Note 51 · D#3 · Ch 10 |
notePressed(note, velocity) | 48–72 (C3–C5) | a key goes down |
function draw() {
background(knob1 * 255); // 1 · CC 21
circle(width / 2, height / 2, 50 + knob2 * 300); // 2 · CC 22
}
function padPressed(n, velocity) { // n = 1…16, as in the table
circle(random(width), random(height), velocity * 100);
}
function notePressed(note, velocity) { // a key goes down
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).
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.