Synergy is a semi-modular MIDI sequencer.
In a nutshell, its main features are:
-
MIDI event routing, transformation, and monitoring
-
Polymetric and polyrhythmic sequencing
-
Multi-instantiable sequencer / processing "nodes"
-
e.g. a "tracker" style sequence editor (features pattern zooming and freely configurable column layouts)
-
Dedicated drum and automation editors
-
Timeline / clip editor (arranger)
-
-
Advanced preset system for single nodes or complex multi-node setups
-
Standard MIDI file import and export
-
Page-oriented UI that requires very little "mousing"
-
Very few dialog windows to minimize "attention context switching"
-
Fast workflow: Keyboard shortcuts for almost everything
-
Many UI and replay functions can be mapped to MIDI controllers (remote control)
-
Concept and Feature Overview
The main concepts and features of this software are:
-
A hierarchical "node"-based MIDI event flow
-
Nodes are grouped into "pipes"
-
Master pipe output is sent to all pipes
-
Each pipe processes MIDI input/output events separately
-
The output of devices marked as "global" will be available in subsequent nodes
-
-
The output of all pipes is merged before it is being sent out via MIDI
-
-
Multi-instancing of nodes
-
Polyrhythmic and polymetric sequencing
-
Node organization / grouping (e.g. drums / bass / lead / chords)
-
Synchronized pattern changes during editing and / or replay
-
e.g. automation node linked to tracker node
-
lctrl-x HOME or END to show dialog and send out program change on auto device A (HOME) or B (END) to all pipes
-
-
-
Each node can store up to 127 patterns
-
-
Nodes can be sequenced by other nodes (A+B "auto devices")
-
Via sequencer-internal MIDI messages (program change, RPN)
-
Common control features:
-
Change patterns
-
Change play offset
-
Mute / unmute tracks
-
Velocity scaling and offset
-
Note duration scaling and offset
-
Note transposition
-
Restart / Reset / Seek
-
Time scaling (speed up / slow down)
-
Clock+Gate signals
-
-
+ other node-specific remote control options
-
Example applications:
-
Create complex rhythms without resorting to sliced sample loops
-
Trigger automation sequence fragments
-
Decouple note and timing information
-
-
-
Export standard MIDI files
-
For further processing in other sequencers / DAWs
-
-
Full (N)RPN support
-
Polyphonic key pressure (aftertouch) support
-
SysEx support
-
Page oriented UI (very few dialog windows)
-
Keyboard-friendly UI
-
Lots of shortcuts
-
Large parts of the application can be used without touching a mouse
-
-
Mouse-friendly UI
-
e.g. most number edit fields can be used like dials and support undo
-
-
MIDI input monitor (view RAW input events)
-
MIDI input mapper / transformer ("morph scenes")
-
Redirect and / or transform MIDI controller input to other MIDI devices
-
4 parallel "scene" slots with 16 entries each
-
Incoming events are first processed by scene A. The remaining events are then processed by scenes B, C, D.
-
-
-
MIDI map contexts
-
Remote-control the application via MIDI
-
Global map context
-
Can be forced by pressing 'g' or by MIDI controller events assigned to the MMC_FORCE_GLOBAL map target
-
-
Per-page / node map contexts
-
-
Some nodes support Ableton Push (e.g. for arranging node clips)
-
Device name aliases (can load projects on other machines or if the MIDI device names have changed)
-
Device profiles (e.g. for controller names and hardware input type definitions (e.g. buttons))
-
Sequencer-internal virtual MIDI devices (e.g. "play_a", "play_b", ..)
-
Per-project controller aliases
-
MIDI timing clock (configurable per device)
-
MIDI transport control (MMC) (configurable per device)
-
Comment editor (per node and pipe)
-
Autosave (with configurable interval / number of files)
-
OpenGL based user interface (reduced CPU load, especially at higher resolutions)
-
Windowed or fullscreen mode
-
x1..x4 scaling modes
-
Post processing effects (e.g. scanlines, colorization)
-
V-Sync
-
FPS limiter
-
Transparency effects
-
-
SysEx manager for Elektron Analog Rytm (AnalogRytm node)
-
SysEx editor for Roland Alpha Juno / MKS-50
-
SysEx editor for Oberheim Matrix 1000 (works with early 1988 "black" models)
-
SysEx editor for DSI Prophet 12 synthesizer
Node Overview
The following (multi-instantiable) sequencer nodes are currently available.
Tracker
This is the most complex, and most versatile sequencer node in this application.
Main features:
-
Undo / redo (with configurable history size)
-
Arbitrary pattern length
-
Arbitrary number of tracks per pattern
-
Arbitrary step resolution / pattern zooming / microtiming
-
32bit floating point precision for all controller values
-
Instrument-based MIDI device+channel selection (any instrument can play on any track)
-
Instrument selection can optionally trigger MIDI program change and / or bank select
-
-
Multiple note / velocity / duration / pressure controllers per track (for chords)
-
Customizable track / cel layouts and colors
-
Cels can be displayed as hex, letter (0..9, A..Z, a..z), 2 or 3 digit pattern number, 4/8/16/32 char wide bars (to visualize envelopes), or colored rectangles (for orientation)
-
Auto-colorization (via lctrl-x k, preserves custom cel colors)
-
-
User definable controller cels (CTL_USR[1..16])
-
CC, (N)RPN, Program Change
-
(Optional) controller reset values (automatically sent when instrument is selected)
-
Can send controller events to MIDI devices/channels other than the one selected in the instrument
-
MIDI learn function
-
-
Auto-note-off mode
-
Note duration is scaled by current "Duration" (see Play tab)
-
-
Recording of MIDI controller input and / or output from previous nodes (can be filtered and quantized)
-
Loop or oneshot pattern mode
-
Arpeggiator mode
-
External clock sync mode (clock, gate)
-
Controller / track / pattern block editing modes
-
Mini-hex editing mode
-
lshift + 0..9,A..F to enter values without moving the cursor down to the next step
-
also works with bar-style cels
-
-
Slide effect (uses MIDI pitchbend)
-
A CTL_INSTR event > 0 will force the note to be retriggered
-
-
Track delay effect
-
Note repeat effect
-
Break / seek effect (continue replay at step 'x' or stop pattern replay)
-
Seek time is scaled by current "Off / Len" (see Play tab)
-
-
Controller injection via auto device RPNs
-
Temporarily replace parts of a pattern by data sent from other nodes
-
-
PolyStep play
-
Trigger arbitrary pattern steps by other nodes (via RPN auto device messages)
-
The TrigSeq node has a dedicated "SingleTrack Polystep" output mode for this
-
-
Chord-clear-step mode
-
Auto-clear step note events when new chord is recorded via MIDI
-
-
Chord-advance mode
-
Move cursor to next step not until all chord notes have been released
-
-
Tap mode
-
Timed recording of steps from other pattern
-
Default source pattern is the last pattern copied to the clipboard (lctrl-c)
-
Notes >= C-4 select / record source pattern step #n, < C-4 advances source pointer to next step (and records it)
-
-
Background recording mode
-
Recording continues even when the tracker node is not currently being edited
-
-
Overdub and raster recording modes
-
Raster recording mode clears the current recording steps unless no event has been recorded since the last pattern loop
-
-
"KeyJazz" (play/enter notes with PC keyboard) (a MIDI keyboard is highly recommended, though)
-
Can be locked to a specific node and track (useful for editing controller patterns/tracks)
-
-
Import Elektron Analog Rytm drum machine patterns
-
Import drum patterns from TrigSeq node
-
Import standard MIDI files
-
e.g. for ReCycle
.mid
output
-
-
Graphical envelope editor
-
Freedraw, line, and cubic bezier spline editing modes
-
Replace-mode restricts editing to already existing events
-
Arranger
This node is used for arranging patterns / clips of other nodes on a timeline.
It can also be used for the live-arrangement of patterns via an Ableton Push controller.
Main features:
-
Graphical, DAW-like timeline editor
-
Editing tools: Select, Draw, Erase, Razor, Mute
-
Multi-clip editing
-
Insert snapshot of currently playing patterns
-
Undo / redo (with configurable history size)
-
-
Nodes can be assigned to specific arranger nodes
-
Change / start node patterns
-
Configurable play offsets OR free-running pattern changes
-
-
Ableton Push clip-matrix support
-
Auto-create arranger setup by scanning available node patterns
-
TrigSeq
This node is tailored towards percussion / drum sequences.
Main features:
-
Up to 16 tracks
-
Individual track lengths and speeds (step note durations)
-
Micro timing (LMB drag step in upper area or via lshift-cursor)
-
Per step
-
Per track offset
-
-
Mini undo / redo
-
Non-destructive quantization
-
Swing / shuffle (per track)
-
Shift / Reverse / Randomize functions
-
Various output modes (e.g. notes, program change+offset, temporary mutes, polystep, clock+gate, ..)
-
Output mode dependent step replay arguments:
-
Arg1: Usually the velocity index (0..3) (visualized by step color)
-
Arg2: Optional per-step argument in the range 1..n (LMB drag step in lower area or via lctrl-x cursor)
-
Arg3: Per-track argument that can be offset for all tracks (see Pattern tab)
-
-
-
MIDI step recording
-
Via the "auto device" MIDI port
-
Default base note is C-3 (36)
-
Roll note is F-4 (53)
-
-
Note repeat (roll)
-
Note length can be configured per track
-
Repeat can be enabled globally per pattern, per track, and / or per step
-
-
Euclidean pattern generator
-
External clock sync mode (clock, gate)
-
Foldable tracks
ModMatrix
This node is the swiss army knife for transforming and combining MIDI events.
Main features:
-
User definable presets
-
Transform and even generate MIDI events in various ways
-
Copy, test, add, mix, mul, blend, scale, logic ops (and, or, ..), clamp, wrap, select, ..
-
Scale filters (phrygian, lydian, ..)
-
-
Graphical mini programming language that allows for very complex modulations
-
No typing required
-
Modulation setups can also be generated from text-based script files
-
Text-based scripts can be generated from modulation setups (e.g. for sharing on web forums)
-
-
Arbitrary number of modulation entries
-
Up to 4 macro controls that can be referenced in modulation entries
-
Can generate (smoothed) random values
-
Persistent internal registers for advanced use (e.g. LFOs)
-
(Quantized) Sample&Hold of input values
-
Value range conversion modifiers (e.g. 7bit ⇒ -1..1)
-
Graphical input / output monitoring
-
MIDI learn function
Monitor
This node is meant to be used as MIDI monitor and "tape"-like scratchpad recorder.
-
Capture MIDI controller input or output from previous nodes
-
Input can be filtered
-
Record incoming events to a ringbuffer
-
Can be used as a scratchpad MIDI recorder
-
Let it run in the background to capture any "lucky accident" melody / chord progressions
-
-
-
Basic editing functions (e.g. merge or delete frames)
-
Ringbuffer replay can be controlled by other nodes
-
Seek absolute, seek relative, play frame, ..
-
-
Ringbuffer replay can be transformed to other MIDI device+channel
CtlMorph
This node can blend between user definable controller sets, e.g. for patch morphing.
Main features:
-
Supports all regular MIDI controller message types (CC / (N)RPN)
-
Up to 8 controller groups per pattern
-
Arbitrary number of controllers per group
-
Min / Max / Center values per controller
-
Master input controller to control min..max blending (per group)
-
Symmetric and asymmetric blending (configurable per controller)
-
Various utility functions to create morphs between controller sets
-
Can copy current MIDI output state to controller set
-
Controller rate limiter and temporal distribution
-
MIDI learn function
-
Cyclic Multi-Morph
-
Pattern Offset, Range, and morph position
-
The node can be configured to send an initial morph position when it is being reset
-
All parameters can be overridden by sending RPNs to the auto device MIDI port(s)
-
![]() |
For the "Copy MIDI output state to center values" (lctrl-o) Tools menu function to work as expected, the synth must be set to local off and a MIDI morph scene must be created that routes events from the synth’s input device to the synth’s output device (software echo). |
Auto
This node is dedicated to controller automation envelopes.
Main features:
-
Arbitrary number of controller tracks
-
Arbitrary number of lanes per track
-
Multiple curves can be stacked and combined via various operators
-
similar to layers in a graphics editor like Photoshop
-
-
MIDI learn function
KeyMap
This is a utility node for mapping note on/off input events to various output events.
Main features:
-
Input events can be mapped to output note / polyphonic key pressure / pitchbend / modwheel / expression / breathcontrol / program change events
-
For example, this node can be used to select patterns via MIDI keys, or create keyboard splits
-
Different kinds of velocity curves can be applied to outgoing note events
MonoPoly
This node distributes incoming note and controller events to multiple output devices.
Main features:
-
Unison, Round Robin, Random, Newest, Oldest, Highest, Lowest, .. trigger modes
-
Can mirror output events to another device (for layering)
-
Originally developed for use with a Vermona Perfourmer synthesizer
-
..but can be used with any other MIDI synth, too
-
![]() |
The easiest way to copy all events within a pipe from one MIDI port to another is to use a MonoPoly node with the trigger mode set to "Unison" |
Buffer
This node records incoming events and replays them using up to four play heads (fugue-like).
Main features:
-
Play heads can be transposed and filtered by various scales (major, minor, pentatonic, ..)
-
Play heads can cycle through different parts of the recording buffer
-
Configurable recording raster sizes (1/64 .. 1/1)
-
Hold mode
-
Double-buffer mode
-
Arpeggiator mode
AnalogRytm
This is a utility node that was especially designed for Elektron’s Analog Rytm drum computer / synthesizer.
-
Receive, send, manage patterns, kits, mute and performance controller states
-
Map Analog Rytm hardware interface controls to arbitrary MIDI events or actions (e.g. load kit/mute state)
Delay
This node delays incoming MIDI events.
Main features:
-
Input device and channel filter
-
Configure delay time as ticks or 16ths
-
Automate delay time
-
Hold automated delay time for "n" ticks (or indefinitely)
-
-
Applications:
-
MIDI echoes
-
"Swing"
-
Proxy
The proxy node acts as a link to synth-specific editors.
It is currently supported by the builtin Prophet 12 editor and has the following features:
-
Temporary parameter changes via NRPN
-
The NRPNs are received on the MIDI port configured as "Input"
-
The MIDI port should be set to the "Prophet 12" synth profile in the device configuration
-
-
When the replay starts, the patch automatically reverts to its original configuration
-
The patch can be reset at any time by sending the "Com: Reset" RPN to the "Auto Device"
-
-
-
Virtual program changes and bank selects
-
Received as RPNs on the MIDI port configured as "Auto Device"
-
The MIDI port should be set to the "internal" synth profile in the device configuration
-
-
The program is changed by sending the differences to the current patch via NRPN
-
-
Realtime morphing between patches
-
Either by setting the src / dest program and bank and the blend amount via multiple RPNs
-
Or by using the multi-morph position RPN to morph between patches in the project-specific bank P17
-
A single RPN message will configure the src / dest / blend amount settings in this case
-
RPN value 0 = first patch, 16383 = last patch in the morph range
-
-
The morph program offset and range is configured in the UI and it can be overridden via RPNs
-
The node can be configured to send an initial morph position when it is reset
-
-
The morph settings are received as RPNs on the MIDI port configured as "Auto Device" (A and / or B)
-
AutoDevice MIDI Implementation
The following table shows which nodes react to which "auto device" MIDI events (see node "Play" tabs).
Please notice that some nodes support node-specific events which are not listed in this table. Please refer to the application tooltips (RPN selection) or the "midi_synth_profiles/internal.msp" text file for further info.
Some nodes (e.g. AnalogRytm, Auto, Buffer, ModMatrix, MonoPoly, Proxy) also use additional input devices that support additional MIDI events.
Event | AnalogRytm |
Arranger |
Auto |
Buffer |
CtlMorph |
Delay |
Keymap |
ModMatrix |
Monitor |
MonoPoly |
Proxy |
Tracker |
TrigSeq |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Note |
- |
- |
- |
- |
- |
- |
- |
- |
- |
||||
PrgChg |
- |
- |
- |
||||||||||
RPN Com: Reset |
- |
- |
- |
- |
- |
- |
|||||||
RPN Com: Run |
- |
- |
- |
- |
- |
- |
- |
- |
- |
||||
RPN Com: Clock + Gate |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
||
RPN Com: Clock |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
||
RPN Com: Gate |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
|||
RPN Com: Gatetime |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
||
RPN Com: Gatetime Mul |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
||
RPN Com: Gatetime Div |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
||
RPN Com: Retrig |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
|
RPN Com: Restart |
- |
- |
- |
- |
- |
- |
- |
- |
- |
||||
RPN Com: Mute |
|||||||||||||
RPN Com: Transpose |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
|||
RPN Com: Mute Temp |
|||||||||||||
RPN Com: Mute Toggle |
|||||||||||||
RPN Com: Mute Temp Toggle |
|||||||||||||
RPN Com: UI Node Mute |
|||||||||||||
RPN Com: UI Node Solo |
|||||||||||||
RPN Com: UI Pipe Mute |
|||||||||||||
RPN Com: UI Pipe Solo |
|||||||||||||
RPN Com: UI Node PrgChg |
- |
- |
|||||||||||
RPN Com: Off/Len Scale |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
||
RPN Com: Off/Len Multiplier |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
||
RPN Com: Off/Len Divisor |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
||
RPN Com: Offset |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
|||
RPN Com: Length |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
||
RPN Com: Seek Offset |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
|||
RPN Com: Seek Relative (Pre) |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
||
RPN Com: Seek Relative (Post) |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
||
RPN Com: Offset Add |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
||
RPN Com: Offset Queued |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
|
RPN Com: Length Queued |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
|
RPN Com: Sig Beats |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
|
RPN Com: Sig NoteLen |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
|
RPN Com: Speed |
- |
- |
- |
- |
- |
- |
- |
- |
- |
||||
RPN Com: Position Scale |
- |
- |
- |
- |
- |
- |
- |
- |
- |
||||
RPN Com: Vel Scale |
- |
- |
- |
- |
- |
- |
- |
- |
- |
||||
RPN Com: Vel Offset |
- |
- |
- |
- |
- |
- |
- |
- |
- |
||||
RPN Com: Dur Scale |
- |
- |
- |
- |
- |
- |
- |
- |
- |
||||
RPN Com: Dur Offset |
- |
- |
- |
- |
- |
- |
- |
- |
- |
||||
RPN Com: PolyStep * |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
Keyboard Shortcuts
![]() |
These lists assume a US keyboard layout. On a german keyboard for example, swap 'z' for 'y', ']' for '*', '`’ for '^', and so on. |
Global
Key Sequence |
Description |
F3 |
Select previous MIDI morph scene "A" |
F4 |
Select next MIDI morph scene "A" |
F5 |
Select previous MIDI morph scene "B" |
F6 |
Select next MIDI morph scene "B" |
F7 |
Select previous MIDI morph scene "C" |
F8 |
Select next MIDI morph scene "C" |
F9 |
Select previous MIDI morph scene "D" |
F10 |
Select next MIDI morph scene "D" |
F12 |
Toggle metronome click |
(NUMPAD) ENTER |
Start/stop replay |
(NUMPAD) lshift - ENTER |
Start/stop replay and send/don’t send MMC record event(s) |
(NUMPAD) 1 |
Transport: Go to previous bar |
(NUMPAD) 2 |
Transport: Go to next bar |
(NUMPAD) 3 |
Transport: Toggle cycle/loop |
(NUMPAD) 4 |
Transport: Go to previous marker |
(NUMPAD) 6 |
Transport: Go to next marker |
(NUMPAD) 7 |
Transport: Go to previous beat |
(NUMPAD) 9 |
Transport: Go to next beat |
(NUMPAD) / |
Transport: Decrease cycle length |
(NUMPAD) * |
Transport: Increase cycle length |
(NUMPAD) . |
Transport: Save scratch marker |
(NUMPAD) 0 |
Transport: Load scratch marker |
(NUMPAD) 5 |
Transport: Load marker (key 0..9 follows) |
(NUMPAD) 8 |
Transport: Save marker (key 0..9 follows) |
(NUMPAD) - |
Decrease BPM (beats per minute) |
(NUMPAD) lshift - - |
Half BPM (beats per minute) |
(NUMPAD) + |
Increase BPM (beats per minute) |
(NUMPAD) lshift - + |
Double BPM (beats per minute) |
(NUMPAD) lctrl - 1 |
Show pipemap page |
(NUMPAD) lctrl - 2 |
Show preferences page |
(NUMPAD) lctrl - 3 |
Show current node editor page |
(NUMPAD) lctrl - 4 |
Show MIDI devices setup page |
(NUMPAD) lctrl - 5 |
Show project page |
(NUMPAD) lctrl - 6 |
Show MIDI map page |
(NUMPAD) lctrl - 0 |
Show SysEx page |
(NUMPAD) lctrl - ENTER |
Show MIDI input monitor page |
(NUMPAD) lctrl - + |
Show MIDI output monitor page |
(NUMPAD) lctrl - x 0 |
Select sub-song 0 |
(NUMPAD) lctrl - x 1 |
Select sub-song 1 |
(NUMPAD) lctrl - x 2 |
Select sub-song 2 |
(NUMPAD) lctrl - x 3 |
Select sub-song 3 |
(NUMPAD) lctrl - x 4 |
Select sub-song 4 |
(NUMPAD) lctrl - x 5 |
Select sub-song 5 |
(NUMPAD) lctrl - x 6 |
Select sub-song 6 |
(NUMPAD) lctrl - x 7 |
Select sub-song 7 |
(NUMPAD) lctrl - x 8 |
Select sub-song 8 |
(NUMPAD) lctrl - x 9 |
Select sub-song 9 |
b |
Go to previous page (back) |
n |
Go to next page (forward) |
q |
Go to previous or parent page |
g |
Force global MIDI map context (as long as key is held down) |
m |
Edit current MIDI map context |
p |
Start/stop replay |
lctrl - s |
Toggle pipe solo |
lctrl - d |
Toggle node solo |
lctrl - lshift - d |
Toggle node mute |
right menu key |
Toggle keyboard focus selection mode |
`: (once) |
Edit controller aliases |
`: (twice) |
Edit current MIDI morph scene |
RIGHT MENU KEY |
Toggle keyboard focus selection mode |
ESC |
Go to previous or parent page / cancel dialog |
lshift - q |
Quit application (dialog) |
PipeMap
Key Sequence |
Description |
UP |
Select previous pipe |
DOWN |
Select next pipe |
LEFT |
Select previous pipe or node |
RIGHT |
Select next pipe or node |
lshift - HOME |
Select first node |
lshift - END |
Select last node |
PAGEUP |
Select next action |
PAGEDOWN |
Select previous action |
1 |
Select 'EXEC' action |
2 |
Select 'EDIT' action |
3 |
Select 'MUTE' action |
4 |
Select 'SOLO' action |
5 |
Select 'MOVE' action |
r |
Show pipe root |
a |
Show pipe or node context menu |
s |
Toggle pipe or node solo |
lctrl - s |
Toggle pipe solo |
d |
Toggle pipe or node mute |
lctrl - d |
Toggle pipe mute |
INSERT |
Insert new pipe or node |
lshift - INSERT |
Clone pipe or node |
DELETE |
Delete pipe or node |
lshift - LEFT |
Move node to the left |
lshift - RIGHT |
Move node to the right |
lshift - UP |
Move pipe up |
lshift - DOWN |
Move pipe down |
f |
Select next arranger node |
lctrl - lshift - c |
Edit node comment |
HOME |
Select next used node pattern |
END |
Select previous used node pattern |
(NUMPAD) lshift - 1 |
Select used node pattern #1 |
(NUMPAD) lshift - 2 |
Select used node pattern #2 |
(NUMPAD) lshift - 3 |
Select used node pattern #3 |
(NUMPAD) lshift - 4 |
Select used node pattern #4 |
(NUMPAD) lshift - 5 |
Select used node pattern #5 |
(NUMPAD) lshift - 6 |
Select used node pattern #6 |
(NUMPAD) lshift - 7 |
Select used node pattern #7 |
(NUMPAD) lshift - 8 |
Select used node pattern #8 |
(NUMPAD) lshift - 9 |
Select used node pattern #9 |
(NUMPAD) lshift - 0 |
Select empty pattern (--/) |
Node (common)
Key Sequence |
Description |
lctrl - lshift - LEFT |
Select previous node |
lctrl - lshift - RIGHT |
Select next node |
lctrl - lshift - UP |
Select previous pipe |
lctrl - lshift - DOWN |
Select next pipe |
HOME |
Select next edit+play pattern (+1) |
lctrl - HOME |
Select next edit+play pattern group (+4) |
END |
Select previous edit+play pattern (-1) |
lctrl - END |
Select previous edit+play pattern group (-4) |
lctrl - x 1 |
Set pipenode 'A' |
lctrl - x 2 |
Set pipenode 'B' |
lctrl - x z |
Jump between pipenodes 'A' / 'B' ('y' on german keyboards) |
lctrl - x HOME |
Global program change (master pipe, auto dev+ch A) |
lctrl - x END |
Global program change (master pipe, auto dev+ch B) |
lctrl - lshift - c |
Edit node comment |
lctrl - c |
Copy pattern to clipboard |
lctrl - w |
Cut pattern to clipboard |
lctrl - v |
Paste pattern clipboard |
lctrl - r |
Clone pattern (4) |
lctrl - lshift - r |
Clone pattern (1) |
lctrl - x F3 |
Delete pattern |
lctrl - s |
Solo pipe |
lctrl - d |
Solo node (within pipe) |
lctrl - lshift - s |
Mute pipe |
lctrl - lshift - d |
Mute node |
(NUMPAD) lshift - 1 |
Select used node pattern #1 |
(NUMPAD) lshift - 2 |
Select used node pattern #2 |
(NUMPAD) lshift - 3 |
Select used node pattern #3 |
(NUMPAD) lshift - 4 |
Select used node pattern #4 |
(NUMPAD) lshift - 5 |
Select used node pattern #5 |
(NUMPAD) lshift - 6 |
Select used node pattern #6 |
(NUMPAD) lshift - 7 |
Select used node pattern #7 |
(NUMPAD) lshift - 8 |
Select used node pattern #8 |
(NUMPAD) lshift - 9 |
Select used node pattern #9 |
(NUMPAD) lshift - 0 |
Select empty pattern (--/) |
Arranger
Global
Key Sequence |
Description |
1 |
Select 'Scene' tab |
2 |
Select 'Pattern' tab |
3 |
Select 'Timeline' tab |
4 |
Select 'Play' tab |
Timeline | Tool Selection
Key Sequence |
Description |
q |
Select 'Select' / 'Move' tool |
w |
Select 'Draw' tool |
e |
Select 'Erase' tool |
r |
Select 'Razor' tool |
t |
Select 'Mute' tool |
Timeline | Common
Key Sequence |
Description |
CURSOR keys |
Select clips (+shift to add to selection, +lctrl to select on all tracks) |
INSERT |
Insert silence |
lshift - INSERT |
Insert silence (all tracks) |
DELETE |
Delete selected clips |
lshift - DELETE |
Delete selected clips and move |
lctrl - DELETE |
Delete selected clips (muted only) |
lctrl - lshift - DELETE |
Delete selected clips and move (muted only) |
lctrl - a |
Select all track clips (when clip is selected), then all clips, then none |
c |
Loop selected clip(s) |
d |
Center display to replay offset |
lshift - d |
Toggle center display to replay offset lock |
f |
Toggle zoom to selected clip(s) |
lshift - f |
Toggle show-all |
g |
Choose pattern for selected clip(s) (popup) |
h |
Toggle track lock (last selected clip track) |
lshift - h |
Invert track locks |
lctrl - h |
Clear track locks |
l |
Align selected clips to grid |
s |
Toggle snap-to-grid |
v |
Insert silence (all tracks) |
lshift - v |
Insert snapshot of all currently playing pattern (all tracks) |
HOME |
Go to start (offset 0) |
END |
Go to loop start |
SPACE |
Start / stop replay |
lctrl - SPACE |
Stop replay and don’t rewind to start offset |
RCTRL |
Toggle clip mute+patternr state recording |
lshift - RCTRL |
Copy clip mute+patternnr state from arranger (at edit offset) |
Tracker
Edit
Key Sequence |
Description |
lalt - e |
Open Edit pulldown menu |
rctrl |
Toggle edit mode |
backspace |
Toggle relative shift mode |
lshift - ] |
Zoom in |
lshift - [ |
Zoom out |
lshift - a |
Enter step resolution / zoom (focus widget) |
lshift - d |
Enter default note duration (focus widget) |
lctrl - 0 |
Set step advance to 0 steps |
lctrl - 1 |
Set step advance to 1 step |
lctrl - 2 |
Set step advance to 2 steps |
lctrl - 3 |
Set step advance to 3 steps |
lctrl - 4 |
Set step advance to 4 steps |
lctrl - 5 |
Set step advance to 5 steps |
lctrl - 6 |
Set step advance to 6 steps |
lctrl - 7 |
Set step advance to 7 steps |
lctrl - 8 |
Set step advance to 8 steps |
lctrl - 9 |
Advance to next event after editing a step |
lctrl - lshift - 0 |
Set micro-shift to 96 ticks |
lctrl - lshift - 1 |
Set micro-shift to 1 tick |
lctrl - lshift - 2 |
Set micro-shift to 2 ticks |
lctrl - lshift - 3 |
Set micro-shift to 3 ticks |
lctrl - lshift - 4 |
Set micro-shift to 4 ticks |
lctrl - lshift - 5 |
Set micro-shift to 6 ticks |
lctrl - lshift - 6 |
Set micro-shift to 8 ticks |
lctrl - lshift - 7 |
Set micro-shift to 12 ticks |
lctrl - lshift - 8 |
Set micro-shift to 24 ticks |
lctrl - lshift - 9 |
Set micro-shift to 48 ticks |
lctrl - x o |
Toggle chord clear-step mode |
lctrl - x t |
Start / stop tap mode |
lctrl - f |
Detail-edit value |
lctrl - z |
Toggle note on / off or detail-edit value |
lctrl - y |
Undo |
lctrl - lshift - y |
Redo |
lctrl - lshift - TAB |
Toggle envelope view |
lctrl - x x |
Toggle pattern / play / arp views |
Cursor
Key Sequence |
Description |
lalt - c |
Open Cursor pulldown menu |
lctrl - x q |
Toggle autoscroll mode |
lctrl - x r |
Toggle wrap-around mode |
lshift - TAB |
Move cursor to previous track |
TAB |
Move cursor to next track |
lctrl - LEFT |
Move cursor to first cel or previous track |
lctrl - RIGHT |
Move cursor to next cel or next track |
UP |
Move cursor to previous row |
PAGEUP |
Move cursor "n" rows up and align |
lctrl - UP |
Move cursor "n" rows up |
DOWN |
Move cursor to next row |
PAGEDOWN |
Move cursor "n" rows down and align |
lctrl - DOWN |
Move cursor "n" rows down |
lshift - HOME |
Move cursor to first row |
lshift - END |
Move cursor to last row |
LEFT |
Move cursor to previous cel |
RIGHT |
Move cursor to next cel |
lctrl - lalt - LEFT |
Move cursor to previous column group |
lctrl - lalt - RIGHT |
Move cursor to next column group |
lctrl - PAGEUP |
Move cursor to previous event |
lctrl - PAGEDOWN |
Move cursor to next event |
lctrl - x SPACE |
Show cel select / edit / add / delete dialog |
Replay
Key Sequence |
Description |
lalt - r |
Open Replay pulldown menu |
lctrl - RETURN |
Set replay pattern |
RETURN |
Play step |
SPACE |
Start / stop pattern replay |
lctrl - SPACE |
Start / stop pattern replay from current row |
lctrl - x w |
Toggle stop-and-goto-bookmark mode |
lshift - SPACE |
Set (editor) pattern replay start offset |
lctrl - x g |
Toggle freerun-loop mode |
RSHIFT |
Start recording (press RETURN to undo+restart) |
Track
Key Sequence |
Description |
lalt - t |
Open Track pulldown menu |
lctrl - x s |
Edit track layout |
lctrl - x i |
Add cel |
lctrl - x n |
Add note cel |
lshift - e |
Reverse track |
lshift - o |
Rotate track up |
lshift - p |
Rotate track down |
lctrl - x l |
Lock keyjazz to current track and node |
lctrl - x k |
Auto-colorize cels (preserves custom cel colors) |
Pattern
Key Sequence |
Description |
lalt - p |
Open Pattern pulldown menu |
lctrl - n |
Create new pattern |
lctrl - lshift - n |
Create new pattern (sub) |
lctrl - r |
Clone pattern |
lctrl - lshift - r |
Clone pattern (sub) |
lctrl - x F3 |
Free pattern |
lshift - BACKSPACE |
Clear pattern |
lctrl - x c |
Copy pattern to clipboard |
lctrl - x v |
Paste pattern clipboard |
lshift - F7 |
Import pattern from AnalogRytm node (pattern clipboard) |
lshift - F8 |
Import pattern from TrigSeq node (current play pattern) |
lshift - F9 |
Import pattern from Monitor node (pattern clipboard) |
lctrl - lshift - F9 |
Import pattern from Monitor node (pattern clipboard). Temporarily enable Play→"Filter"+"All") |
END |
Edit previous pattern (-1) |
lctrl - END |
Edit previous pattern (-4) |
HOME |
Edit next pattern (+1) |
lctrl - HOME |
Edit next pattern (+4) |
lctrl - g |
Edit pattern number |
lctrl - l |
Edit pattern length |
lshift - n |
Edit pattern name (focus widget) |
lctrl - o |
Double pattern length |
lctrl - lshift - o |
Double pattern length (duplicate events) |
lctrl - x e |
Reverse pattern |
lctrl - x PAGEUP |
Rotate pattern up |
lctrl - x PAGEDOWN |
Rotate pattern down |
Events
Key Sequence |
Description |
lalt - v |
Open Events pulldown menu |
lctrl - BACKSPACE |
Delete cel envelope |
DELETE |
Delete step (current ctl) or block |
lctrl - DELETE |
Delete tick (current ctl) or block |
lshift - DELETE |
Delete step (all ctls) |
lctrl - lshift - DELETE |
Delete tick (all ctls) |
\ |
Clear event or clear block (when there is a selection) |
lshift - \ |
Clear event(s) (all ctls) |
INSERT |
Insert step (current ctl) |
lctrl - INSERT |
Insert tick (current ctl) |
lshift - INSERT |
Insert step (all ctls) |
lctrl - lshift - INSERT |
Insert tick (all ctls) |
lctrl - x m |
Show Multiply delta times by constant dialog |
lctrl - x f |
Calc delay ticks (microshift to CTL_DELAY) |
lctrl - x RSHIFT |
Toggle note-off recording |
lctrl - x RCTRL |
Toggle CTL_DUR recording |
lctrl - x RETURN |
Toggle quantized recording |
lctrl - x h |
Toggle audio latency compensated recording (see prefs) |
lctrl - x UP |
Increase step or block controller value(s) (coarse) |
lctrl - x DOWN |
Decrease step or block controller value(s) (coarse) |
lctrl - x RIGHT |
Increase step or block controller value(s) (fine) |
lctrl - x LEFT |
Decrease step or block controller value(s) (fine) |
Block
Key Sequence |
Description |
lalt - b |
Open Block pulldown menu |
lctrl - x b |
Cycle through block modes |
lctrl - b |
Set block start |
lctrl - e |
Set block end |
lctrl - a |
Select entire pattern or none |
lshift - <CURSOR> |
Set selection |
lctrl - c |
Copy block or pattern (when there is no selection) |
lctrl - v |
Paste block (replace) or paste pattern (when there is no selection) |
lctrl - lshift - v |
Paste block (insert) or paste pattern (when there is no selection) |
lshift - F2 |
Transpose block up |
lshift - F1 |
Transpose block down |
lshift - F3 |
Free envelope(s) (depends on block mode) |
lctrl - lshift - UP |
Move block up one step |
lctrl - lshift - LEFT |
Move block up one tick |
lctrl - lshift - DOWN |
Move block down one step |
lctrl - lshift - RIGHT |
Move block down one tick |
lctrl - lshift - a |
Quantize block or pattern (when there is no selection) |
lctrl - i |
Interpolate controller values (current ctl) |
Instrument
Key Sequence |
Description |
lalt - i |
Open Instrument pulldown menu |
lctrl - TAB |
Toggle pattern / instrument views |
F1 |
KeyJazz octave up |
F2 |
KeyJazz octave down |
lshift - s |
Enter default velocity (focus widget) |
lctrl - [ |
Select previous instrument |
lctrl - ] |
Select next instrument |
lshift - f |
Enter instrument nr (focus widget) |
lctrl - F12 |
Toggle keyjazz mode |
lctrl - x a |
Select keyjazz instrument from current step |
TrigSeq
General
Key Sequence |
Description |
a |
Show context menu |
f |
Fold / unfold tracks |
t |
Show track setup dialog |
e |
Show euclidean rhythm dialog |
RCTRL |
Toggle MIDI live recording |
u |
Undo / Redo |
Track
Key Sequence |
Description |
lshift - BACKSPACE |
Clear track |
lctrl - BACKSPACE |
Clear track args+repeats |
r |
Reverse track trigs |
j |
Randomize track trigs |
lctrl - j |
Randomize repeats |
lshift - j |
Randomize arg1 (velocity) |
o |
Rotate track left |
p |
Rotate track right |
INSERT |
Insert step |
DELETE |
Delete step |
s |
Solo track |
d |
Mute track |
lctrl - l |
Focus track length widget |
lctrl - g |
Focus swing amount widget |
lctrl - t |
Focus note length widget |
lshift - x |
Cut to track clipboard |
lshift - c |
Copy to track clipboard |
lshift - v |
Paste track clipboard |
Pattern
Key Sequence |
Description |
lctrl - lshift - BACKSPACE |
Clear pattern |
lshift - r |
Reverse pattern |
lshift - o |
Rotate pattern left |
lshift - p |
Rotate pattern right |
lshift - INSERT |
Insert step on all tracks |
lshift - DELETE |
Delete step on all tracks |
lctrl - w |
Cut pattern to clipboard |
lctrl - c |
Copy pattern to clipboard |
lctrl - v |
Paste pattern clipboard |
lctrl - r |
Clone pattern |
lctrl - lshift - r |
Clone pattern (sub) |
Step
Key Sequence |
Description |
LEFT |
Move cursor left |
RIGHT |
Move cursor right |
UP |
Move cursor up |
DOWN |
Move cursor down |
lctrl - LEFT |
Move step left |
lctrl - RIGHT |
Move step right |
lctrl - UP |
Move step up |
lctrl - DOWN |
Move step down |
SPACE |
Toggle trig |
lctrl - SPACE |
Toggle repeat |
RETURN |
Play step (all tracks) |
w |
Play track trigger |
lshift - w |
Play step (current track, and even if track is muted) |
x |
Cut step to clipboard |
c |
Copy step to clipboard |
v |
Paste step clipboard |
1 |
Set step arg1 (velocity index) to 0 |
2 |
Set step arg1 (velocity index) to 1 |
3 |
Set step arg1 (velocity index) to 2 |
4 |
Set step arg1 (velocity index) to 3 |
lctrl - x RIGHT |
Increment step arg2 (e.g. note duration) by 1 |
lctrl - x UP |
Increment step arg2 (e.g. note duration) by 4 |
lctrl - x LEFT |
Decrement step arg2 (e.g. note duration) by 1 |
lctrl - x DOWN |
Decrement step arg2 (e.g. note duration) by 4 |
lshift - LEFT |
Microtime-shift step to the left |
lshift - RIGHT |
Microtime-shift step to the right |
h |
Toggle microtime limit (full step or 1/4 step) |
Demo Videos
This video shows the creation of a very simple track: https://vimeo.com/218650191
A demonstration of the CtlMorph node (Moog Sub37 parameter blending): https://vimeo.com/219268566
A demonstration of the Prophet 12 specific virtual program change, temporary parameter update, and patch morphing features: https://vimeo.com/219669148
A demonstration of the Prophet 12 editor multi-edit feature: https://vimeo.com/220633861
A demonstration of the "AudioTool" wav slicer and SXT (Reason NNXT) sample patch generator ("alt" drum slicing): https://vimeo.com/222076715
A demonstration of the "AudioTool" wav slicer and SXT (Reason NNXT) sample patch generator (multisampled Osc): https://vimeo.com/222076984
A demonstration of the "AudioTool" autolooper. This one uses some slightly more difficult material (FM4 patch with 3x unison, i.e. a lot of phasing): https://vimeo.com/222077307
A demonstration of the "AudioTool" autolooper. This one uses some rather difficult material with chorus and delay FX (in stereo): https://vimeo.com/222077607
A demonstration of the "AudioTool" SampleChain and Kit generator and uploader for the Elektron Analog Rytm drum computer: https://vimeo.com/222077897
A demonstration of the "AudioTool" VariChain and Kit generator and uploader for the Elektron Analog Rytm drum computer. The resulting "varichain" sample is about half the size of the "samplechain" version: https://vimeo.com/222078031
License
Even though a tremendous amount of work (10+ years and over half a million lines of code) went into the creation of this software, it is available “free as in beer”, and is likely to become “free as in speech” in the future.
It is not permitted to redistribute this software, though.
If you like this software, you can make a donation ("pay what you want").
Downloads
GNU | Linux
A Linux port exists and will be released in the near future.
Microsoft Windows (2000/XP/7/8/10)
-
[20Aug2017] synergy-miditracker-20Aug2017.7z (latest)
-
[18Jun2017] synergy-miditracker-18Jun2017.7z
-
[07Jun2017] synergy-miditracker-07Jun2017.7z
-
[05Jun2017] synergy-miditracker-05Jun2017.7z
-
[28May2017] synergy-miditracker-28May2017.7z
-
[23May2017] synergy-miditracker-23May2017.7z