Document:Eureka Sampler / DAW
Author:bsp
Date:26-May-2026

1 About

"Eureka" is a sampler, synth, plugin host, and multi-track recorder designed for low latency audio.
It is the audio companion app to the MIDI-only "Synergy" sequencer.

2 Table of Contents

3 Features

4 Prerequisites

Hardware:
Software:
note_s
For building custom STFX plugins from Cycle patches, a C compiler is required (e.g. Clang or GCC).
Please see the "STFX plugin export: compiler command line" section in eureka_config.tks or the Cycle manual for installation details.

5 Installation

  1. install Synergy
  2. open the "stop button" menu and select Start "Eureka" audio host.. to launch the application
  3. in Eureka, open the preferences dialog (Prefs.. button), and configure the audio device, sample rate, paths, .. as required.
    • The settings will be saved to eureka_config_local.tks when the preferences dialog is closed.

5.1 MIDI loopback (deprecated)

tip_s
since v20230803, Synergy and Eureka come with a built-in virtual MIDI driver ("LocalMIDI") so the following MIDI loopback configuration is not necessary anymore.
  1. install MIDI loopback device driver (e.g. loopMIDI on Windows), or use the built-in IAC driver on macOS
  2. add two loopback devices named remote_audio and remote_seq
  3. add four loopback devices named vst_a, vst_b, vst_c, vst_d (optional: also add vst_e..vst_h)
  4. set b_enable_localmidi = false; in both synergy_config.tks and eureka_config.tks
note_s
on macOS, launch the Audio MIDI Setup.app, select Window ⇒ Show MIDI Studio, double click the IAC driver (red), set Device Name to "" (empty string), then add the remote_audio, remote_seq, vst_a, vst_b, vst_c, vst_d, vst_e, vst_f, vst_g, vst_h MIDI ports, and click "Apply".

5.2 Optional

  1. open eureka_config.tks in a text editor
  2. adjust b_minimal_startup variable (false=enable VST/voiceplugin/samplecache scans)
  3. adjust rootpath variable
  4. adjust audiotrack_wav_rootpath variable
  5. adjust exported_samples_wav_rootpath variable
  6. adjust project_samples_wav_rootpath variable
  7. adjust sample_rootpath variable
  8. adjust b_force_single_thread variable (set to false to enable multicore rendering (default on macOS))
  9. adjust clap_paths / vst_paths variables
  10. adjust atrk_rec_skip_num_frames (latency compensation) as required (default=-80)
note_s
on macOS, multi-threaded audio rendering is enabled by default
note_s
on Windows, for best multi-core performance, clone of the SetAffinity_*() functions in eureka_config.tks and adjust it to your CPU (CPU core info is printed to console during startup, look for [dbg] cpuinfo).

5.3 Audio input and output channel aliases

  1. open eureka_config_local.tks in a text editor
  2. edit the audio_in_aliases and / or audio_out_aliases arrays

6 UI

6.1 Windows and dialogs

6.2 FloatParams

note_s
many floatparam widgets use different precisions (decimal places) for mouse drag and text editing (i.e. mouse drag is often less precise)

6.3 Statusbar

6.4 Tables

7 Keyboard Shortcuts

note_s
shortcuts assume a US keyboard layout (unless stated otherwise).

7.1 Global

aopen context menu (e.g. in tables)
lshift - qquit
RCTRLtoggle recording
numpad ENTER
\=
BACKSPACEstop all voices
qtoggle scope
SCROLL-LOCK
h
BACKQUOTE

hold to play 261.63Hz (middle C) reference tone
Global keyboard shortcuts

7.2 "Audio" page

ESCAPE
LMB double-click

show projects page
F1show samples page
nCreate new audio track
SPACEStart / Stop audio track replay
PAGEUPSelect previous audio track
PAGEDOWNSelect next audio track
lalt - iShow sample import dialog
lalt - lLoad sequencer project
lctrl - 2show Project page
lctrl - 3show Track page
lctrl - 1
lctrl - 5

show Samples page
Audio Page keyboard shortcuts

7.3 "Samples" page

ESCAPE
LMB double-click

cancel sample filter, or hide sample browser, or return to previous page
F2edit sample or zone name (when table has keyboard focus)
F9
lctrl - 9

toggle WAV sample browser
F10
lctrl - 0

toggle zone drumpad view
F11show synth dialog (Cycle)
wshow synth dialog (Cycle) OR show FM Stack editor
lctrl - TABtoggle zone table model (show names or velocity/mod ranges)
LEFT
s

Focus previous table
RIGHT
d

Focus next table
lshift - fFocus sample name filter
lctrl - fFocus namespace filter and show selector (UP focuses sample table)
lctrl - lshift - fFocus sample namespace and show selector (UP focuses sample table)
1select all zones
2select previous zone
3select next zone
4edit previous ModSample OR previous sample pad of parent track
5edit next ModSample OR next sample pad of parent track
bshow sample patch browser (add new sample(s))
lshift - bshow sample patch browser (replace sample)
cshow Cycle synth editor + curve editor (if sample is procedural)
lctrl - x dpost-rec re-init drum sample
eselect and zoom to highlighted (loop) area in sample view OR exec default row action (e.g. edit cycle patch)
gshow param editor dialog for currently selected voice plugin
lshift - ncreate new zone from clipboard
lctrl - s
lctrl - x s

save sample as
tedit sample tags
lctrl - tauto-assign (guess) sample tags
lshift - tshow sample tags menu
vedit last edited volume envelope
lshift - vshow volume envelope quick-preset selector
mshow sample mixer dialog
F1show Audio page
lctrl - 1show Audio page
lctrl - 2show Project page
lctrl - 3show Track page
Samples Page keyboard shortcuts
..when samples table has keyboard focus:
F2edit sample name
INSERTcreate new sample
lshift - INSERTclone selected sample
DELETEdelete selected sample
lctrl - DELETEdelete selected sample without confirmation
lctrl - UPmove selected sample up
lctrl - DOWNmove selected sample down
Samples Page Sample Table keyboard shortcuts
..when zone table has keyboard focus:
F2edit zone name
INSERTcreate new zone
lshift - INSERTclone selected zone
lctrl - INSERTclone zone synth (Cycle)
DELETEdelete selected zone
lctrl - DELETEdelete selected zone without confirmation
lctrl - UPmove selected zone up
lctrl - DOWNmove selected zone down
Samples Page Zone Table keyboard shortcuts
..when loops table has keyboard focus:
INSERTadd loop
lshift - INSERTclone loop
DELETEdelete loop
lctrl - UPmove selected loop up
lctrl - DOWNmove selected loop down
Samples Page Loops Table keyboard shortcuts
..when voice plugins table has keyboard focus:
F12rescan+reload voice plugins
DELETEset current plugin slot type to "-"
INSERTset focus to plugin type combobox and show selector
gshow param editor dialog
Samples Page Plugin Table keyboard shortcuts
..in sample zone envelope curve dialog:
ESCAPE
v

hide dialog
1edit attack envelope
2edit sustain envelope
3edit release envelope
4edit last edited freq envelope
5edit last edited volume envelope
6edit last edited pan envelope
7edit last edited aux envelope
Samples Page Plugin Table keyboard shortcuts
note_s
see Cycle curve editor for all bezier editor shortcuts
..in sample modseq curve dialog:
note_s
LMB-click modseq editor panel to set keyboard focus
RMB-click
a
LMB
lshift - LMB
lctrl - LMB
RMB
i
o
f
lshift - f
x
c
v
r
lshift - r
s
lshift - s
e
lshift - e
d
lshift - d
Samples Page ModSeq keyboard shortcuts
..in Cycle synth patch main dialog:
ESC OR F11hide dialog
ashow tools menu
cshow curve editor
lctrl - ccopy patch to clipboard
dforce sample recalc / plugin export
lctrl - dcycle through auto-recalc modes
eshow machine source editor
ffit dialog to #args
lctrl - nadd new sine lane
RALT
lctrl - p

rebuild + reload voice plugin or recalc sample
lctrl - lshift - ptoggle auto-export / auto-recalc
lctrl - TABshow curve editor
lctrl - SPACEshow machine source editor
rrandomize last selected arg group
lshift - rrandomize all arg groups
lctrl - sforce sample recalc / plugin export
lctrl - lshift - ssave machine preset
lctrl - vpaste patch from clipboard
lshift - v
lctrl - w
paste shared patch from clipboard
rebuild + reload voice plugin or recalc sample
lctrl - lshift - wtoggle auto-export / auto-recalc
Cycle source editor keyboard shortcuts
..in Cycle synth patch machine source editor:
ESC
lctrl - SPACE

hide source editor (and save source changes)
lctrl - ffind text (press again to find next occurence)
lctrl - g
edit include file (or template) under cursor (press esc to return to machine source)
lctrl - hcopy include file pathname under cursor to clipboard (e.g. for external editors)
lctrl - iexpand current input under cursor
lctrl - prebuild + reload voice plugin or recalc sample
lctrl - ssave source changes (and auto-rebuild / recalc when enabled)
lctrl - tshow selection dialog and insert inc statements for selected (template-)includes
lctrl - wrebuild + reload voice plugin or recalc sample
TAB

increase indentation of line or block
OR select / edit curve (alt: RMB-click)
OR edit number under cursor (when there is no selection and cursor is placed after first word)
lshift - TABdecrease indentation of line or block
lctrl - TABshow curve editor dialog
lctrl - x TABset keyboard focus to embedded curve editor
lalt - LEFTshow previous patch-buffer
lalt - RIGHTshow next patch-buffer
Cycle source editor keyboard shortcuts