Serato
Keyboard Shortcuts
See also https://serato.com/latest/blog/17257/pro-tips-serato-dj-keyboard-shortcuts
Deck 1 / LEFT
Basically first row of letters plus half of the numeric keys.
| KEY | Action | + alt
| --- | --- | --- | --- | ---
| Left | | | Load Track
| Q | Reverse | Prev Track
| W | Play/Pause | Next Track
| E / R | Pitch Adjust | RWD / FF
| T / Y | Pitch Bend
| U | Censor
| I | TEMP-CUE
| O | LOOP-IN | Prev Loop
| P | LOOP-OUT | Next Loop
| [ | LOOP-ON/OFF | Reloop
| 1 | CUE 1 | Auto Loop
| 2 | CUE 2 | Auto Loop
| 3 | CUE 3 | Auto Loop
| 4 | CUE 4 | Auto Loop
| 5 | CUE 5
Deck 2 / RIGHT
Second row of letters plus second half of the numeric keys.
| KEY | Action | + alt
| --- | --- | --- | ---
| Right | | | Load Track
| A | Reverse | Prev Track
| S | Play/Pause | Next Track
| D / F | Pitch Adjust | RWD / FF
| G / H | Pitch Bend
| J | Censor
| K | TEMP-CUE
| L | LOOP-IN | Prev Loop
| ; | LOOP-OUT | Next Loop
| ' | LOOP-ON/OFF | Reloop
| 6 | CUE 1 | Auto Loop
| 7 | CUE 2 | Auto Loop
| 8 | CUE 3 | Auto Loop
| 9 | CUE 4 | Auto
| 0 | CUE 5
Sampler
Third row of letters.
| KEY | Action |
|---|---|
Z |
Sample 1 |
X |
Sample 2 |
C |
Sample 3 |
V |
Sample 4 |
B |
Sample 5 |
N |
Sample 6 |
M |
Sample 7 |
, |
Sample 8 |
Add alt modifier to stop a Sample.
Add alt + cmd modifiers to load a Sample from Library.
Others
| KEY | Action |
|---|---|
alt + Up/Down |
(While editing BPM) Double/Halve PBM |
alt + Spacebar |
Beatgrid Edit Mode |
/ |
Swap Tracks |
cmd + shift + Left/Right |
Instant Double TODO: check that |
cmd + Backspace |
Remove Track from Library |
cmd + shift + Backspace |
Remove It Also from Disk |
cmd + Z |
Undo Track Load |
cmd + P |
Add track(s) to prepare panel |
cmd + L |
Locate last loaded track (press again for other deck) |
cmd + R |
Reveal track in Explorer (PC) or Finder (Mac) |
MIDI Mapping
Example mapping play button on both decks
<midi app=" 1.9.10.5170">
<control channel="1" event_type="Note On" control="28">
<userio event="click">
<play deck_set="Default" deck_id="1" slot_id="0">
<translation action_on="press" behaviour="toggle"/>
</play>
</userio>
<userio event="output">
<play deck_set="Default" deck_id="1" slot_id="0">
<translation action_on="any">
<alias name="on" value="127"/>
<alias name="off" value="0"/>
</translation>
</play>
</userio>
</control>
<control channel="1" event_type="Note On" control="26">
<userio event="click">
<play deck_set="Default" deck_id="0" slot_id="0">
<translation action_on="press" behaviour="toggle"/>
</play>
</userio>
<userio event="output">
<play deck_set="Default" deck_id="0" slot_id="0">
<translation action_on="any">
<alias name="on" value="127"/>
<alias name="off" value="0"/>
</translation>
</play>
</userio>
</control>
</midi>
There is a top tag calles <midi>. Inside we define our mappings using the <control> tags.
Control Tag
Tag parameters define the MIDI message, like the channel, note or control change.
-
channel- Integer, starting from 1
-
event_type-
"Note On" -
"Control Change" -
"Pitch Wheel"
-
-
data_type:-
"Relative Binary Offset" -
"Relative 2's Complement"- I could pseudo control trim gain knob with a quneo's rotary/jog, jog direction was doing + and - operations on the knob, no control on the knob position
-
"Absolute 7"- I could control trim gain knob with a quneo's vertical slider, including absolute position by pressing somewhere. No LED feedback.
-
-
reversed- set it to
"true"if needed, omit otherwise
- set it to
One message has an incoming action and/or outgoing reaction or feedback. This is defined by the inner tag <userio>, which has a parameter called event that takes 2 values: click for the action and output for the reaction or feedback.
Control.Userio Tag
Control.Userio.SDJCMD Tag
SDJCMD = Serato DJ CoMmanD, defines what Serato app will to when the control message passes