This is a brief quick-start guide for first time users:
- x64 Windows or Linux OS
- OpenGL 2.x GPU (or better)
- a MIDI synth
- alternatively, use a virtual instrument host (e.g. a DAW) via MIDI loopback
- Windows: install loopMIDI
$ sudo modprobe snd-virmidi
- recommended: a MIDI keyboard
3 Preparation (directories)
synergy_data/ folder (including the
projects/ sub directories) to a place where you usually keep your work data.
On Windows, this could be something like
On Linux, this could be
These directories will store your personal data so make sure to include them in your backups.
4 Program Start
On Windows, run
synergy.exe to start the application.
On Linux, run
LINUX: In case some of the keys (e.g.
` (us) /
^ (de)) are not working, make sure that a keyboard layout other than "system default" (in XFCE) is selected.
5 Directory configuration
Once the application is running, click
Prefs in the top-left window corner.
Project dir so it matches the location of your
synergy_data/projects/ work directory.
6 Device Setup
The first order of business is to setup the MIDI input and output devices you want to use.
Go to the
MIDI Devices page (click
Devs in the top left corner of the window).
The page will list all available input and output devices.
For each device you want to use, tick the
Double click a device row to edit the device details.
It is highly recommended to assign an alias name to each device.
For example, if you have a USB synth that provides an input device named
mysynth in, and an output device named
mysynth out, you should assign the alias
mysynth to both the input and output device.
Make sure that in the
mysynth in input device settings,
Out.Device is set to
One important thing to keep in mind is that each MIDI input device must be mapped to an output device to be able to use it.
Echo checkbox is ticked, all incoming events will be forwarded to the corresponding output device (which should then have its "local mode" set to
Channel Profiles are used to
- assign meaningful names to MIDI controllers (e.g. CC#74 = "Flt1 CutOff")
- assign patch editors to MIDI devices (e.g. Korg Radias, Matrix 1000, DSI Prophet 12, Roland MKS 50, ..)
In case there's a profile for your particular synth does not exist, yet, you can create one. Take a look at the text files in the
Last but not least, don't forget to save your new configuration by either pressing "esc", then
Save configuration, or click on
Prefs, then choose
On Linux, the configuration will be saved to
It's a text file which can also be edited manually (if you know what you are doing).
7 Metronome configuration
In case you want to use the builtin metronome feature, go to
Prefs, click on the
Metronome tab, then select the MIDI device, channel, and
Beat notes for the metronome.
The metronome is toggled by pressing
F12, or via the
Stop button hold-click menu (hold-click the bottom-right button).
8 Advanced: MIDIMap configuration
Many of the program's functions can be remote controlled with MIDI devices.
There are two MIDI maps:
- the global MIDI map, which is active on every page of the application
- page / context specific MIDI maps
The global MIDI map is edited by clicking the
MIDIMap(g) button in the the (top) toolbar area.
Page / context specific MIDI maps are edited by first selecting the context (e.g. a
Tracker node), then clicking the
MIDIMap(c) button in the (top) toolbar area.
Keep in mind that the MIDI map feature requires suitable MIDI profiles to be selected for your MIDI controllers (these, among other things, define which controls are buttons, knobs, or rotary controllers).
MIDIMap configurations are stored in the project file, not the global configuration.
If in doubt, skip this step for now.
9 MIDI Scene configuration
Scenes are used for transforming incoming MIDI events to output events.
There are eight scene groups (A..H), each containing 16 scenes (1..16).
Scene A1 has the highest priority, and Scene H16 the lowest. I.e. events consumed by A1 will not be processed by H16.
F9/F10 keys are used to change the active scene for groups A..D.
By holding the left ALT key, the active scene for groups E..H can be changed.
Last but not least, there are 16 "multi-scene" setups which can be used to quickly change the active scenes for all groups (the
lctrl-x NUMPAD 0..9 keyboard shortcuts select one of the first 10).
For example, if you have three synths and one master keyboard, you could create three scenes that map the master keyboard's input events to one of the three synths.
By using one the
Input / Source source filter and
Output / Target transform mode (click on the arrows to expand them), it is possible to transpose the keyboard or create splits where each zone redirects the incoming notes to different devices.
Another use for scenes is to redirect MIDI knobs and faders to specific synth parameters, or program-internal node parameters (via the internal virtual MIDI devices
For reasons of convenience, the
Tracker sequencer node automatically redirects incoming MIDI events (note on/off and common performance controllers like pitchbend, expression, breath control, foot pedal, sustain pedal, sostenuto pedal) to the currently selected tracker instrument.
MIDI Scene configurations are stored in the project file, not the global configuration.
Selecting a scene will cause an RPN MIDI event to be sent to the
<global>). This feature can be used by script nodes (for example) to update their configuration. An example for this is the
Linnstrument Arranger script preset.
10 Pipe and Node basics
Since this is also described in the regular documentation, I'll keep this one short.
A sequencer project consists of an arbitrary number of pipes.
Each pipe contains an arbitrary number of nodes.
Nodes process and / or generate MIDI events.
The very first pipe (usually named master) has a special meaning since
- its output will be sent to all other pipes
- its output will not be sent to actual MIDI outputs (i.e.: don't put a sequencer node in there!)
The first pipe usually contains an
Arranger node, which controls the (sequencer) nodes in the other pipes.
It may also contain additional utility nodes which process incoming MIDI events (e.g. for fixing jittering foot pedals).
Each node has two automation ports (A + B), which can be configured in the node's
Usually the automation port is set to an internal (virtual) MIDI device (
Additionally, when a node's
Show in Arranger checkbox is ticked, the node will show up in the selected arranger(s).
Most of the nodes support common functionality like
pattern select, and
There's a chart in the regular documentation that shows which remote-control features each node type supports.
pattern select is usually controlled via MIDI program changes, most of a node's remote control features are implemented via RPNs (registered parameter name) events.
internal MIDI synth profile (
midi_synth_profiles/internal.msp) should be assigned to all internal / virtual MIDI devices.
Note that certain remote control features are specific to certain node types.
The most advanced sequencer node type is the
Tracker node. Don't let the name fool you, this has nothing to do with fixed-grid trackers from the 80ies. It supports arbitrary timing resolution, multiple notes per track, configurable controller cels, and so on. It basically works like any other real MIDI sequencer, except that it uses a tracker-like UI for displaying / editing the MIDI events.
11 Tips & Tricks (Tracker node)
- The easiest way to initialize / set up a Tracker node is to record the notes and controllers you want to use into a
Monitor node, then creating a new
Tracker node and importing the recorded Monitor pattern into it. This will automatically create the required tracks, instruments, and controller cels. The monitor pattern can be imported by copying it to the clipboard (
lctrl-c), then selecting / creating the tracker node and pressing
lctrl-lshift-f9 (or choosing
Pattern → Import → Import from Monitor (multitrack).
- In a
Tracker node, it is highly recommended to record note durations instead of separate note off events. Make sure that
Record CTL_DURn is selected in the
Events pulldown menu.
- When recording realtime events into a
Tracker node, you will notice that there is no dedicated
pre-count recording feature. Instead, move the cursor to the start of the last bar of the pattern and press
lshift-SPACE to set the play / record offset. Remember to set it back to the first step later on.
- During realtime recording (
rshift shortcut), press
RETURN to undo the last take and restart recording (synchronized to bar start)
- The easiest way to add controllers to a
Tracker instrument / controller cels to a pattern is to go to the instrument editor, right click the
Instrument Parameters table, and pick one of the
Import options (e.g.
Import Performance Ctls (MW,Pitchbend)).
- While each track in a
Tracker node is limited to five note cels, you can simply add another track and tick the
Spread checkbox on the
Play tab. This will automatically distribute recorded notes to multiple tracks.
12 Tips & Tricks (general)
- It is usually recommended to separate note and controller data. For example, while your note pattern may only consist of 16 steps, the associated controller data (e.g. modwheel) may span 8 bars. Simply create another node and assign the same MIDI output. Remember that nodes can be cloned on the
PipeMap page by pressing
lshift-INSERT or choosing
Clone node from the node context menu (RMB click).
- For certain music styles it is useful to separate note and timing data. The
Tracker nodes can be set to external clock mode (
Ext.Clk checkbox on the
Play tab). Make sure the extclk node has an active automation port (e.g.
<Scratch>), then place another sequencer node in front of the extclk node and make it send
Com: Gate and / or
Com: Clock + Gate events to the extclk's node automation port. This can be used to mimic classic configurations like the "TR808 rimshot output into a Juno 60 arpeggiator clock input". It's also possible to use ratcheting via the
Com: Retrig RPN.
- Keep in mind that this application is designed for (very) fast workflows. You should connect a regular, full-size computer keyboard to be able to use all available keyboard shortcuts effectively. Also keep in mind that all node and pipe setups can be saved as presets.
- An active (unmuted)
Monitor node will record everything you play into a (very large) ringbuffer. This can be handy to capture / preserve those "happy accidents" which happen every now and then.
Monitor nodes can be used to save and restore synth-specific SysEx data. It is recommended to use one
Monitor node instance per synth. To backup a synth's patch(es), clear the
Monitor pattern (click
Clear), then initiate a SysEx dump on the synth. To restore a synth's patch(es), e.g. after loading a project, click the
Play button in the
Monitor node to send all SysEx events back to the synth.
- When you create a new project by clicking
New.. on the project page, the application will attempt to load a project template (
project_template.flx). You should spend some time to create a personalized template so you won't have to repeat the pipe/node and MIDI scene + map setup each time you start working on a new song.
13 About file dialogs
The file dialog in this application is a bit unusual.
One important thing to remember is that pressing
DOWN (or clicking the RMB) will open an additional dialog that shows all file entries (regardless of their subdirectory location) which match the current file name string.
You can search for file names, file dates, and even file sizes.
Directories can be changed by typing in the directory name and pressing enter, or by selecting the directory in the DOWN key / RMB dialog.
/ refers to the project root directory, not the system root !
While the replay is not currently running, the application will automatically save backup files to the
projects/autosaves/ folder. The interval can be configured on the
Prefs page (default = 5min).
The files are named
While I have honestly never lost any work so far myself, I would still recommend to keep the autosave feature enabled "just in case".
15 Last but not least
In case you need additional support or want to report a bug, you can reach me on gearslutz.com