Novation SLMKII MIDI Manuel utilisateur

SLMKII MIDI Programmer’s Reference
Page 1 of 33
SLMKII MIDI
Programmer’s Reference
Novation DMS
Edition 0.23

SLMKII MIDI Programmer’s Reference
Page 2 of 33
ONTENTS
1. Overview.............................................................................................................................3
2. General.................................................................................................................................4
3. Automap Messages.....................................................................................................6
4. Sysex Headers and ommands .......................................................................................7
5. SLMKII ontrol Events to P ....................................................................................9
6. Miscellaneous SLMKII Events to P .............................................................................12
7. Miscellaneous Automap s to the SLMKII ...............................................................14
8. Button LED ommands to SLMKII...............................................................................16
9. Encoder LED-Ring ommands to SLMKII ...........................................................17
10. Touch Sensor Reports......................................................................................................19
11. Automap Sysex ommand Descriptions .....................................................................20
12. Data-Block Sysex ommand Descriptions...................................................................26
13. Simulation Sysex ommand Descriptions ...................................................................29
Appendix 1 – ZeroMKII Button LED ommands: ............................................................32
Appendix 2 – Hex Byte to Decimal Value Table ................................................................33

SLMKII MIDI Programmer’s Reference
Page 3 of 33
1. Overview
This manual is for anyone who is familiar with MIDI communications, and who wants
to have an understanding of the various Automap MIDI messages used by the SLMKII
Keyboard ontroller – possibly with a view to monitoring or controlling an SLMKII,
or other Novation units which use all or part of the Automap Protocol.
The protocol was originally devised for use with the RemoteSL unit. This was the first
Novation unit which had two large L D displays – which could be set by an
application program.
A major part of the protocol was the ability of the unit to load one of 8 special
configuration tables, called Templates, when an application sent an ONLINE sysex
message. An application program would then receive predetermined MIDI
messages whenever specific RemoteSL controls were operated – and act accordingly.
Originally the RemoteSL had 6 special Templates which it responded to. These
Templates were initially for certain popular DAW programs, such as Reason, Logic,
Ableton Live and a HUI simulation. There was also a general purpose special
Template – which has evolved into the Automap Template.
Most of the special Templates have been absorbed into using the ‘universal’ Automap
Template. The one, currently, remaining exception being Ableton Live.
The Protocol has been extended, at various stages, as new Novation units have been
developed. The following units use part or most of the Automap protocol:
RemoteSL
ompact
SLMKII
Nocturn Keyboard
Most of this document describes Automap operation with respect to the SLMKII
ontroller Keyboard – because it uses most of the Automap protocol- however , the
same principals of operation apply to the other units.
This document describes the various parts and operation of the Automap protocol.
IMPORTANT: In Automap mode, most of the SLMKII control information is normally
handled by a ‘hidden’ USB port – any control information can, however, usually be
sent to one of the other normal ports – and still have the same effect. ontrol
Information emanating from the unit in Automap mode, cannot normally be ‘seen’ by

SLMKII MIDI Programmer’s Reference
Page 4 of 33
host programs; as this is normally transmitted on the hidden port – special steps have
to be taken by any application program in order to ‘see’ control changes etc. The
Ableton Template is an exception to this, in that the hidden-Port is not used, and
control is normally done on Port2.
Most of the control operations described also apply to the Zero units – it’s just that the
Zeros have no Keyboard, no Touchpad, no Pitch-bend, no Mod-wheel, no Row-select
buttons – and the buttons and controls are laid out differently. The ZeroMKII has
additional controls: the ross-fader and the Preview button, which is used in
combination with other controls, to perform certain SLMKII operations such as Row-
Selects etc.
HEX v DE IMAL NOTATION:
Unless otherwise indicated, byte values are in hex – for those of you who think in
decimal there is a Hex to decimal table in the Appendix.
2. General
The SLMKII Keyboard ontroller main functions are:
1. To send ‘tactile’ control changes to DAWs or other MIDI equipment.
2. To display control settings, and other information, on the L D.
3. To have a number of onfigurations, or Templates, customised for specific
equipment or DAWs.
4. To respond to the special Automap Protocol – which is a key feature of the units.
5. To indicate various states or setting by LEDs.
6. To have a number of Global onfiguration settings – ie independent of Templates.
7. As a basic or advanced Ivory Keyboard.
AUTOMAP MODE:
The SLMKII is capable of holding 32 major customisable configuration tables called
Templates – plus a fixed Template – called the Automap Template. Even though the
Automap Template can be altered at the SLMKII, it should NOT be altered as it is used
in conjunction with the Automap Server host program – in order to follow the
established communication protocol between the two.
AUTOMAP PROTO OL:
This protocol uses specific and sysex messages to do the following general things:
1. Report ontrol and Value hanges
2. Allow a Host Program to turn ON/OFF any LED

SLMKII MIDI Programmer’s Reference
Page 5 of 33
3. Allow a Host Program to Set the L D Text
4. Sends Alerts to the Host.
5. Allow the Host to Request and hange Global Data
6. Allow the Host to Request and hange Template Data
7. Perform ertain High-Level Operations
8. Allow a Host Program to Request the current L D Text **
9. Allow a Host Program to Request the State of All the LEDs **
10. Allow the unit to respond to Requests for information from a host application.
*Alerts refers to the SLMKII informing the Automap server that certain changes have
occurred. Such as a change of Octave setting at the unit itself.
** urrently only used for Test purposes.
ABBREVIATIONS USED:
AMS Automap Server
RS Row-Select
LH Left Hand
RH Righ Hand
MS Most-Significant
LS Least-Significant
W lockwise
A W Anti- lockwise
T-Lock Transport-Lock

SLMKII MIDI Programmer’s Reference
Page 6 of 33
3. Automap CC Messages
BF VV
All ( ontinuous- ontroller) MIDI messages used, to and from the unit in
Automap mode follow the above format.
MIDI- HANNEL NUMBER: All Automap messages are sent on MIDI channel #16
ie ‘BF’ (Ableton uses MIDI channel #1 ie ‘B0’.)
ONTROLLER NUMBER: Generally, the number indicates a specific SLMKII
ontrol or , in some cases, a particular control group. numbers range from 00h to
7Fh.
Please note: the protocol control organization, does NOT follow any ‘standard’
MIDI allocations – instead, it is generally a linear allocation of numbers of
particular SLMKII control groups eg all the Pot s are grouped together.
ONTROL VALUE: The value for a particular message varies, depending on the
type of control and the direction of the message – ie to or from the unit. Some
messages have a continuous range of 00-7Fh (eg pots and sliders); some have 00h or
01h, to indicate OFF or ON; some use bit-6 to indicate OFF or ON, or even ‘touched, of
‘untouched’ – some values have single and/or multiple bit fields.
See the individual sections for the exact value usage.
SLMKII PORTS USAGE:
PORT1: This port should be used normally for Keyboard Note/Aftertouch/Pitch-
Bend etc messages. Note: Messages received by the unit can be made to route directly,
across the unit, to the M1-Out Port. (Useful for passing on MIDI-clocks to MIDI
instruments attached to the MIDI port.)
PORT2: This port can be used for MIDI-clock messages to the unit, or to a dedicated
P application – such as Ableton Live
PORT3: Generally, Automap messages are sent and received on this ‘hidden’ port
of the SLMKII . The Automap Template is configured to send control events out on the
hidden port. Some events, such as the Speed-dial, Transport-lock events etc are ‘hard-
coded’ to use the hidden port only.
Automap messages should be sent to the ‘hidden’ port, but in general, can be sent to
one of the exposed MIDI ports of the unit – and have the same effect.

SLMKII MIDI Programmer’s Reference
Page 7 of 33
4. Sysex Headers and Commands
There are three special sysex header groups for controlling and retrieving information
from the SLMII:
1. The Original Automap Sysex Header.
2. The Data-Block hange/Request Sysex Header.
3. The TEST ‘Simulation’ Sysex Header.
The Automap commands are directly associated with special Templates, such as the
Main Automap Template, and the Ableton Template.
The Data-Block commands are three pairs of Request and hange memory block
commands for retrieving and manipulating Global, Template header and ontrol
data.
The Simulation sysex header is primarily concerned with operations for simulating
physical control changes at the SLMKII, mainly for TEST purposes – and is NOT part
of the normal operation of the unit. By sending this header to the unit, with additional
command numbers and values – the unit is made to behave as if a user had actually
operated a physical control. Accompanying these simulation commands are request
commands; for requesting the current L D text, all LED states and memory blocks at
specific addresses.
Data-Block and Simulation commands do NOT require a Special-Template to be
loaded on the unit.
AUTOMAP SYSEX HEADER:
Novation MIDI-Id Automap Versn - Beta Tmpl Spare Data
F0 00 20 29 03 03 VV Bb 02 00 . . . . F7
All Automap sysex messages have the header above.
VERSION-BETA: these two bytes indicate the main and beta version numbers of the
SLMKII when the particular version of the protocol was introduced – currently they
should be set to 12h : 00h – and are expressed in B D form.
(12:00 = New (LEDs) Live Version)
SPE IAL TEMPLATE NUMBER: for Automap specific messages this is set to 02.
Originally there were 8 ‘special’ Templates – eg 04h is the Ableton Template – all
other special Template numbers are now redundant.
DATA: The Data section will have a ommand byte followed by zero or more header
and/or data bytes.

SLMKII MIDI Programmer’s Reference
Page 8 of 33
MAIN AUTOMAP SYSEX OMMANDS:
md
01 Online + Offline ommands
02 L D Text ommands
03 Globals Data Download to RAM
04 Prepare unit for OS Download
05 Tell unit to Upload Globals
06 Globals Data Download to RAM + Flash
07 Tell unit to Upload a Template / All Templates
08 Tell unit to Upload OS
See the Automap Sysex ommands Descriptions section below for details of the
various command operations.
DATA-BLO K + SIMULATION SYSEX HEADER:
Novation MIDI-Id Simulation Versn - Beta Tmpl Spare Data
F0 00 20 29 03 05 VV bb 00 00 . . . . F7
These two sets of commands actually have the same Sysex header – but have a
different range of commands. Note: a Special-Template does NOT have to be loaded
for these commands to operate.
NOTE the 03:05 difference from the Automap sysex header.
VERSION-BETA: these two bytes indicate the main and beta version numbers of the
SLMKII when the particular protocol was introduced – currently they should be set to
12h : 00h.
SPE IAL TEMPLATE NUMBER: urrently this is set to 00h for Data-Block and
Simulation commands.
DATA: The Data section will have a ommand byte followed a Sub- ommand,
followed by zero or more header and/or data bytes.
See the Data-Block and Simulation sections below for descriptions of the individual
sets of commands.

SLMKII MIDI Programmer’s Reference
Page 9 of 33
5. SLMKII Control CC Events to PC
The above diagram indicates the various MIDI numbers used for messages sent by
the SLMKII, on the hidden port3, when the specific controls are operated – when in
Automap mode.
The actual values sent for the different type of control are indicated below:
1.
Encoders BF 78-7Fh 0n / 4nh Bit6: 0= W ; 1=A W ; n = number of clicks
eg 02h / 41h
2.
Pots BF 08-0Fh 0-7Fh Value = 0-127 decimal
3.
Sliders BF 10-17h 0-7Fh Value = 0-127 decimal
4.
Buttons-A BF 18-1Fh 00/01h 00= Button released ; 01 = Button pressed
5.
Buttons-B BF 20-27h 00/01h 00= Button released ; 01 = Button pressed
6.
Buttons- BF 28-2Fh 00/01h 00= Button released ; 01 = Button pressed
7.
Buttons-D BF 30-37h 00/01h T-Lock OFF: 00= Button released ; 01 =
Button pressed
KEYS + AFTERTOUCH
LCD LCD
18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27
78 79 7A 7B 7C 7D 7E 7F
08 09 0A 0B 0C 0D 0E 0F
24* 26* 27* 28* 29* 2A* 2B*
28 29 2A 2B 2C 2D 2E 2F
*30 *31 *32 *33 *34 *35 36 37
10 11 12 13 14 15 16 17
5C 5C 48 49 4A 4B 4C 4D
50
59
58
5B
5A
51
54
53
52
57
56
55
66
M1
IN
M1
OUT
M1
THR
M2
IN
EXP
41
SUS
40
USB
01
E0
44
46
45
47
SLMKII to PC AUTOMAP EVENT CC MIDI MESSAGES
25*
65
MW
PB
02 0 2
4F
24-2Bh* Drumpad Not e Numbers
ZERO MKII: CROSSFADER
44
30-35h* Butt ons-D: sends CC48-4Dh
when T ransport -lock is ON

SLMKII MIDI Programmer’s Reference
Page 10 of 33
8.
Buttons-D * BF 48-4Dh 00/01h T-Lock ON: 00= Button released ; 01 =
Button pressed
9.
Automap
Buttons
BF 48-4Dh 40/41h 00= Button released ; 01 = Button pressed ;
Bit6=0=Buttons-D ; Bit6=1=AM buttons
10.
RowSelects BF 50-54h 00/01h LH RS: 00= Button released ; 01 = Button
pressed
Automatically forces LH L D Display.
11.
RowSelects BF 56-57h 00/01h RH RS: 00= Button released ; 01 = Button
pressed
Automatically forces RH L D Display.
12.
LH Page Up BF 58h 00/01h 00= Button released ; 01 = Button pressed
13.
LH Page Dn BF 59h 00/01h 00= Button released ; 01 = Button pressed
14.
RH Page Up BF 5Ah 00/01h 00= Button released ; 01 = Button pressed
15.
RH Page Dn BF 5Bh 00/01h 00= Button released ; 01 = Button pressed
16.
ModWheel BF 01h 0-7Fh Value = 0-127 decimal
17.
PitchBend E0 0/7Fh 0-7Fh 00:00h - 00:7Fh: + 7F:7Fh for Full scale
Pitchbend is on Port#1
18.
Sustain Pedal BF 40 00/7Fh 00= Pedal released ; 7Fh = Pedal pressed
19.
Expression
Pedal
BF 41 00-7Fh Value = 0-127 decimal
20.
Touchpad X1 BF 44 0-7Fh Value = 0-127 decimal
21.
Touchpad Y1 BF 45 0-7Fh Value = 0-127 decimal
22.
Touchpad X2 BF 46 0-7Fh Value = 0-127 decimal – Disabled control.
23.
Touchpad Y2 BF 47 0-7Fh Value = 0-127 decimal – Disabled control.
24.
rossFader BF 44 0-7Fh Value = 0-127 decimal *ZeroMKII ONLY !
(same as X1)
25.
26.
Alerts BF 5 0-04h ** 00 = MIDI hannel hanged manually
01 = Keyboard Transpose changed.
02 = Octave setting changed
03 = AfterTouch changed.
04 = Velocity urve changed.
27.
Speed-Dial BF 66 0n/4nh Bit6: 0= W ; 1=A W ; n = number of clicks
Table des matières
Autres manuels Novation Contrôleurs



















