Surge XT Manual
Surge XT Manual
Getting Started
Thank you for using Surge XT!
This first section is intended to give you a brief overview of some concepts that are
specific to this synthesizer and an introduction on how to navigate, manipulate, and use
Surge XT to its full potential.
For detailed information regarding the synthesis engine and other advanced technical
specifications and options of this synthesizer, there is a second section dedicated to
Technical Reference.
Note that most of the images and descriptions in this manual are made with the Classic
skin in mind, as it's the default skin used when first loading Surge XT.
Finally, for more tips and tricks, tutorials, and to download additional content, you can
also take a look at Surge's wiki.
Windows
On the Windows platform, Surge XT is delivered as both a 32 or 64-bit VST3 and CLAP
plug-in instrument.
The file name for the VST3 is Surge XT.vst3. For CLAP, it is Surge XT.clap
System Requirements:
Windows 7 or newer
A reasonably fast CPU (Pentium 4/Athlon 64 or above)
At least 4GB of RAM
VST-compatible host application
In addition, to use the 64-bit version on Windows you need the following:
2
An application capable of hosting 64-bit VST plug-ins
Both the VST3 and CLAP versions of the plug-in should be automatically installed in their
default plug-in location and should be found by your host application, as long as it
supports VST3 or CLAP. However, the Windows version also comes with a portable
mode:
Portable Mode allows you to store assets in the same directory as the Surge XT
VST3 or CLAP.
If Surge XT is installed in a folder and in that same folder there is a directory called
SurgeXTData, Surge XT will use that for factory data rather than
%PROGRAMDATA%\Surge XT.
If in that same folder there is a directory called SurgeXTUserData, Surge XT will use
that for user data rather than %DOCUMENTS%\Surge XT.
Either none, one, or both of those folders can be there. Surge XT will fall back to
the defaults if they are not present. You can always see your data paths in the
About screen.
macOS
On Mac, Surge XT is delivered as a 64-bit Plug-in Instrument for the Audio Unit (AU),
VST3, and CLAP plug-in interfaces.
System Requirements:
To install, run the packaged installer. You will be given the option of automatically
installing the AU Surge XT.component and the VST3 or CLAP to their correct locations. The
factory patches and wavetables will also be automatically installed.
Running the packaged installer will install Surge for all of the users of your Mac.
Linux
On Linux, Surge is available as a 64-bit VST3 and CLAP in the form of a deb and RPM
package.
The system requirements can be hard to determine, as there are a lot of distributions out
there and other factors. However, the following information might be good to know:
The installation package on Surge XT's website is in the form of a Debian package
The distribution package is built on Ubuntu 18.04
The packages required are listed in the source and in the deb file
Note: Some actions in Surge XT are done by doing Alt + Drag or scroll wheel. On certain
Linux distributions, those shortcuts and gestures may cause conflicts between Surge and
the desktop environment. We decided we couldn't give up alt-drag for all platforms
3
because one window manager in one distribution used it by default. Therefore, it's often
possible to disable that global gesture in desktop environments, and would be the easiest
way to solve that possible issue.
Locations
Windows
The patch library and wavetables are at C:ProgramData\Surge XT. The user patches are at
C:\Users\your username\My Documents\Surge XT.
macOS
The patch library and wavetables are at /Library/Application Support/Surge XT. The user patches
are at ~/Documents/Surge XT.
Linux
The plugin itself, patch library and wavetables are at /usr/share/surge-xt with a standard
install. The user patches are at ~/Documents/Surge XT. This directory will be created once
you store a patch or change the user default settings for the first time.
Note: These locations can be changed in Surge's menu (see Data Folders).
If you put user content in the factory folder or otherwise change it, future installers will
erase it. Surge XT's installers never touch anything in the user area.
So, if you want to install a custom skin, set of patches, or otherwise add things to Surge,
put them in your user data folder instead of here, or risk losing them when you upgrade.
4
User Interface Basics
The user-interface of Surge XT is divided into four main sections:
Header
Scene controls
Modulation/Routing
Effects
Keeping this structure in mind will make it easier to understand the layout.
5
The Scene Concept
Every patch in Surge XT contains two scenes (A & B) and an effect-section. Both scenes
and all effect settings are stored in every patch. A scene is similar to a traditional
synthesizer patch as it stores all the information used to synthesize a voice. Since there
are two scenes in each patch, it's possible to have layered or split sounds stored within a
single patch. (see Scene Select and Scene Mode).
Audio Outputs
When loaded into a DAW, each instance of Surge XT has 3 audio outputs:
Stereo Out
Scene A Out
Scene B Out
Depending on the host, those outputs can be used and routed to be processed
separately.
6
Sliders and Controls
The most common user-interface control in Surge XT is the slider. They come in both
horizontal and vertical orientations but their functionality is otherwise identical.
Sliders are always dragged, there is no jump if you click on the slider tray instead of the
slider head, it enters dragging mode nonetheless.
Slider interactions:
Other than sliders, some of Surge XT's parameters are also displayed as number and
value fields, buttons and button rows.
7
Undo and Redo
Below the Patch Browser, you will find curved arrow buttons just to the left of the Save
button. Clicking on these will allow you to undo and redo the latest changes. You can
also use keyboard shortcuts (by default, Ctrl+Z and Ctrl+Y) to undo and redo
respectively.
Clicking on this first option will open this user manual to the correct section explaining
8
the parameter in question. Alternatively, you can simply hover over the control in
question and press F1.
Edit Value
This option allows you to type in the desired value of a parameter. Once the value popup
appears, its text will already be highlighted, and you can start typing the value right away.
When you are done, simply press Enter to confirm the change. To cancel and close this
popup, simply press the Escape key or move any other parameter.
Note that for any value type-in windows in Surge XT, there is no need to type in the unit
of the entered value.
For discrete parameters (Unison Voices, or a button row for instance), instead of a type-
in field, all the possible values will be displayed right in the menu so they can be accessed
directly.
9
Extend Range
Some parameters can have their range extended. The option Extend range will appear in
the context menu if they do. Pitch, for instance, is one of those parameters.
Tempo Sync
Some parameters can be synchronized to the host tempo. The option Tempo sync will
appear in the context menu if they do.
Once tempo-synced, when using the Surge XT Classic skin, the slider will show a "TS"
symbol on their handles to indicate that state, like so:
Enabled
Modulations
This section of the menu will appear if the right-clicked slider is being modulated by
some modulation source(s) (if it has a blue tint). See Routing for more information.
Red X icon - Clicking on this icon to the left of a modulation source will clear that
modulation routing.
Speaker icon - Clicking on this will allow you to mute (bypass) a modulation source
in the list. Simply click that icon again to unmute that source.
Pencil icon - This will bring up the modulation amount type-in window. Simply
type-in the desired amount of modulation you want to apply to that parameter. See
Edit Value for more information.
As its name suggests, this menu entry allows you to directly link a modulator to the
right-clicked control. All the available modulation sources are sorted in different
categories so you can find the desired one easier. Once a modulation source is chosen, a
type-in window will appear, allowing you to enter the modulation amount you want to
apply.
This option allows to assign the right-clicked parameter to any MIDI CC.
MIDI Learn
10
This is where you assign a MIDI controller to the desired slider. To abort MIDI learning
on that parameter, simply right-click again and the option will now become Abort
Parameter MIDI Learn.
This option will be available if the selected parameter has already been MIDI learned. It
allows you to clear that link (the existing link MIDI CC number will be shown in
parentheses).
VST3 Options
Finally, the VST3 version of Surge XT supports VST3 context menu items. Depending on
the host, there may be more or less options regarding automation, MIDI, or parameter
values.
11
Header
There are two setups of all controls within the Scene section of the user interface. The
Scene Select buttons [A|B] determine which one is selected for editing. Right-clicking on
these buttons brings up a context menu that allows you to copy/paste scene content.
Depending on the Scene Mode, these two buttons could also be used to choose which
scene will be played. Indeed, whether a scene will generate a voice when a key is pressed
is determined by the Scene Mode setting:
In both Key Split and Dual mode, if MPE is disabled, the system also supports MIDI
channel routing where Channel 2 plays only Scene A and channel 3 plays only Scene B.
MIDI channel 1 and all other channels higher than 3 play the Split/Dual mode.
Poly shows the number of voices currently playing and allows you to set an upper limit
to the number of voices allowed to play at the same time by dragging horizontally on the
value. The voice-limiter will kill off excess voices gently to avoid audible artifacts, thus
it's not uncommon for the voice count to exceed the limit.
12
Patch Browser
Navigation
Cycling through sounds in Surge XT is easy: just press the arrow buttons until you find
something you like. If you left-click the patch-name field (anywhere in the white area), a
menu will list all available patches arranged into categories. A right-click will bring up a
menu with just the patches of the current category.
These categories are also grouped into three sections depending on who created them:
3rd party patches - Patches created by users and 3rd parties. Categorized by
creators.
User Patches - Your own patches will be stored here. How you categorize them is
entirely up to you. At the top of this section is where your favorites patches will
show up.
You can also directly load patches (.fxp) by dragging and dropping them anywhere over
the Surge XT interface.
There is also an option in the patch menu to set the current patch as the default one to
be loaded when opening a new instance of Surge XT.
Finally, the patch menu allows you to rename or delete a patch. Those options will only
appear if you have a non-factory patch loaded in the synth.
Searching Patches
To search patches by name, simply click on the magnifier glass icon to the left of the
patch name area. You may see Surge XT first update the patch database before being
able to type in your search query.
You can also search for patches by author or category by typing "AUTHOR=" or
13
"CATEGORY=", followed by your search query.
If the Retain patch search results after loading option is enabled in the Workflow
category found in the main menu, holding Ctrl while selecting your desired search result
with your mouse or while pressing enter will close the search results.
Clicking the Save button of the patch browser opens the save dialog. This is where you
name your new patch and choose which category it should belong in. You can also
create a new category manually here as well. The patches you save will end up in the
user section at the bottom of the patch menu. The save dialog also provides text fields
for the name of the patch creator and comments.
Note: You can display the comments of a particular patch by hovering over the patch
name area with your mouse.
Favoriting Patches
Adding a patch to your favorites list is as easy as pressing the heart icon to the right of
the patch name area. Right-clicking on that same icon will allow you to access the
favorite patches list.
14
Status Area
This area is meant to be a quick access to some of Surge XT's features that are also
present in the Menu. (see Main Menu)
Right-clicking on one of these buttons will reveal more options which are also present in
sub-menus under the Menu button as well.
For instance, the first time you press the Tune button if no custom tuning is loaded, it
will open the same menu as if you would have right-clicked on that button. Once a
custom tuning is loaded however, left-clicking on it will turn the loaded tuning on or off.
See Microtuning for more information.
Alternatively, .scl and .kbm files can also be dragged and dropped anywhere on the
interface to apply custom tuning.
FX Bypass lets you quickly hear what a patch sounds like without the effect-units. (see
Effects)
Character controls the amount of high-frequency content present in most of Surge XT's
oscillator algorithms. Available choices are Warm, Neutral and Bright.
Global Volume controls the last gain stage before the output. The VU meter above it
shows the output level and will become red if it goes above 0 dBFS. You can choose to
hard clip the global output either at +18 dBFS (default) or 0 dBFS.
15
Scene Controls
The UI of the scene section can also be further divided into two parts:
Sound generation
Sound shaping
The sound is generated and mixed in the sound generation section. After that, it goes
through the sound shaping section.
16
Sound Generation
This is where the sound is born. The oscillators generate waveforms according to the
notes played. They are then summed up in the mixer.
Oscillators
1/2/3-buttons – Chooses the active oscillator for editing. You can right-click on one of
them and a context menu with the name, Copy and Copy (with modulation) options will
show up.
Display – Shows the active waveform. When the Wavetable or Window oscillator is
17
used, it will also work as wavetable selector by clicking on the orange bar or on the
straight arrow buttons to cycle through them.
Type – Oscillator type. Chooses which algorithm is used for the oscillator. Available
options are:
Classic
Modern
Wavetable
Window
Sine
FM2
FM3
String
Twist
Alias
S&H Noise
Audio Input.
Pitch & Octave – Controls the pitch for this particular oscillator. Its context menu can be
used to extend its range, or to set the pitch to Absolute mode, which makes the pitch
shift in absolute frequency as opposed to relative to the note that is being played.
Keytrack – When disabled, the oscillator will play the same pitch regardless of the key
pressed. This button can be right-clicked to toggle its state across all oscillators in the
scene.
Retrigger – If active, the oscillator and all its unison voices will always start immediately
at the same phase position. This is useful for snappy sounds where you want the attack
to sound exactly the same each note. This button can be right-clicked to set its state
across all oscillators in the scene.
Other - The rest of the sliders from the oscillator editor are specific to each oscillator
type. See Oscillators in the Technical Reference section for more information.
Mixer
Mixer Channels
Excluding the Pre-filter Gain (slider on the right), the Mixer has 6 channels (sources) from
left to right:
Oscillators 1, 2, 3
Ring Modulation of 1x2, 2x3 – The source of these two channels is digital ring
modulation from the oscillators. This type of RM is a bit different from the
traditional carrier-modulator style ring modulation. Digital ring modulation is simply
the result of multiplying the output of oscillators 1 and 2, or 2 and 3.
18
Noise Oscillator
Channel Parameters
M – Mute. You can of course have multiple channels muted at the same time, but
you can also keep only the channel you mute muted by holding down Ctrl / Cmd
and clicking on the desired mute switch.
S – Solo (only play channels that have solo active). You can have multiple channels
in solo at the same time, or only one at a time by holding down Ctrl / Cmd and
clicking on the desired solo switch.
Triple Orange Box (Filter routing) – Chooses which filter the channel is routed to.
The left position routes the channel output to filter 1, the right position routes it to
filter 2, while the middle position, which is selected by default, routes it to both.
However, this setting will only route the channel output to filter 1 if a serial filter
block configuration is used, since the audio will then go through the second one in
the filter block anyways. If any other configuration than serial is used, the audio will
then be routed to both filters, as expected.
Portamento – Portamento is when a new note will slide in pitch from the pitch of the last
played note. This setting determines how long the slide will be. A setting of 0 disables
Portamento. This parameter can be tempo-synced.
Constant rate - If this option is enabled, the time to cover one octave is defined by
the Portamento slider value. From there on, gliding between 2 octaves for instance
will take twice as long, and so on. By default, this option is disabled, so the glide
rate is proportional to the distance between the two keys, making it so that it
always takes the same time to glide between any two keys.
Glissando - If this option is enabled, the pitch slide will be quantized to the scale
degrees.
Retrigger at scale degrees - If this option is enabled, the FEG and AEG (see
Envelope Generators) will be triggered each time the portamento slide crosses a
scale degree.
Curve options - You can choose between a Logarithmic, Linear or Exponential
portamento curve. By default, the portamento slide follows a linear curve.
Osc Drift – Applies a small amount of instability to the pitch of all oscillators, making
them subtly detuned. Although the parameter is shared, the randomness of the
19
instability effect is independent for all oscillators and all the unison voices of each
oscillator. By right-clicking on this control, you can choose to also randomize the pitch at
the very start of the note by enabling the Randomize initial drift phase option.
Noise Color – Affects the frequency spectrum of the noise generator. The middle
position results in white noise. Moving the slider to the left emphasizes low frequencies
while moving it to the right emphasizes high frequencies.
Bend Depth – Pitch Bend Depth Up/Down. Controls the range of the pitch bend wheel,
in semitones.
This control can be extended with the dedicated option in its context menu. It enables
type-ins of fractions and cents for configuring microtonal pitch-bends of arbitrary size
within the range of 24 semitones.
Play Mode – Chooses how multiple notes are handled. Poly will allow multiple notes to
be played simultaneously, while Mono will only let the last note play. Latch will
continuously play the last played note (mono).
Single Trigger EG (ST) means that the two envelope generators are not restarted
when sliding between two notes (two notes that overlap in time)
Fingered Portamento (FP) means that portamento is only applied when sliding
between notes and not when there is time between the played notes.
When Play Mode is set to one of the Poly modes, the context menu of that button list
will display additional options related to the voice allocation for a key:
Stack Multiple - Selected by default. Surge XT will play the replayed note on a new
voice, in a cyclic manner known as round-robin.
Reuse Single - Selecting this option will make Surge XT allocate the replayed note
to the same voice with which that note was previously played.
When Play Mode is set to one of the Mono modes, the context menu of that button list
will display additional options related to mono notes:
Note Priority
Last note priority - Will play the latest note when multiple notes are played
together
High note priority - Will play the highest note when multiple notes are played
together
Low note priority - Will play the lowest note when multiple notes are played
together
Legacy note priority - When multiple notes are played together, it will play
the latest note once hit and play the highest remaining note once released.
20
Envelope Retrigger Behavior
Sustain pedal holds all notes (no note off retrigger) - If sustain is engaged and
multiple notes are hit then held one after the other, Surge XT will stay on the
latest note when releasing that note instead of switching to the previous
note.
Sustain pedal allows note off retrigger - If sustain is engaged and multiple
notes are hit then held one after the other, Surge XT will switch to the
previous note when the latest note is released.
21
Sound Shaping
Filter Controls
Filter Block Configuration – Chooses how the filters, waveshaper and the gain stage are
connected together. Note that only the Stereo and Wide configurations will output a
stereo signal.
Serial 1 - The signal from the Mixer goes into Filter 1, then into the Waveshaper,
then into Filter 2, then the Amplifier which contains the Amplifier Envelope
Generator (AEG), before going through the Scene Highpass and to the final Scene
Output section.
Serial 2 - The signal path is the same as with Serial 1, with the addition of a
feedback path going from the output of the Amplifier back into Filter 1.
Serial 3 - The signal path is the same as with Serial 2, but Filter 2 is in the feedback
loop, which is after the signal is being tapped from the Amplifier instead of before.
Dual 1 - The signal from the Mixer is sent to both Filter 1 and Filter 2 in parallel.
The outputs from both filters are then summed, then sent to the Waveshaper, then
into the Amplifier, and finally in the Scene Highpass before the Scene Output
section. Feedback is again tapped at the output of the Amplifier and goes back into
both filters (it is summed with the output from the Mixer).
22
Dual 2 - The signal path is the same as with Dual 1, except that the Waveshaper is
only applied to Filter 1 before its output is summed with the output from Filter 2.
Stereo - The signal path is the same as with Dual 1, except that Filter 1 is always on
the left channel and Filter 2 is always on the right channel.
Ring - The signal path is the same as with Dual 1, except that the outputs from
Filter 1 and 2 are multiplied (ring modulated) together instead of being summed
before continuing onwards to the Waveshaper.
Wide - The signal path is the same as with Serial 2, except it is being doubled for a
full stereo signal path.
Feedback – Controls the amount (and polarity) of output that's fed back into the input of
the filter block. It has no effect when using filter block configurations without a feedback
path.
Note: Be careful with your monitoring volume when using feedback. It's easy to make
really loud high-pitched noises by mistake if you're not familiar with how the synth
reacts to feedback.
Don't let this scare you though. There's a lot to be gained from proper and creative use
of feedback. Changing the character of filters, making filters interact together, making
basic physical models, making sounds that are just about to break apart. It is these things
that make Surge XT truly special.
Filter Balance – Controls how the two filters are mixed. The behavior depends on the
filter block configuration.
Type – Selects the type of the filter. There are numerous types available. You can disable
the filter in question here by unchecking the Enabled option below the different filter
type categories.
Subtype – Selects variations of each filter type. The difference can vary from subtle to
radical depending on how the filter is used. See Filters in the Technical Reference section
for information regarding subtypes of each filter type. It is displayed as a number next to
the filter type (when available).
Cutoff – Controls the cutoff frequency of the filter. When tweaked, while its tooltip will
show frequency in Hz, it will also show its approximate MIDI note value, very useful
when using the filter for melodic and tuning purposes. You can also right-click on this
control and choose the option Reset cutoff to keytrack root which makes it very easy to
tune filters when using filter keytracking. Finally, the Apply SCL/KBM tuning to filter
cutoff option can be accessed when the Apply tuning after modulation option is enabled
in the Tuning menu. See the Microtuning section for more information.
Filter Analysis – To open the Filter Analysis window, simply click on the small button
above the filter balance control. It will display the current filter response according to the
current type, subtype, cutoff and resonance settings. You can switch to the other filter
by using the corresponding buttons.
23
Filter 2 Offset Button (small "+" button to the right of the filter parameters) – When
active, the cutoff frequency will be set relative to filter 1. This includes any modulations
(including the hardwired FEG depth & keytracking). Filter 2's cutoff frequency slider
becomes an offset setting relative to filter 1's cutoff frequency.
Resonance Link Button (small button, filter 2 only) – Makes the slider follow filter 1's
resonance slider setting.
Keytrack > F1/F2 – Controls how much the pitch of a note affects the cutoff frequency
of the filter. A setting of 100% means the filter frequency will follow the pitch
harmonically.
Envelope Generators
There are two envelope generators connected to the filter block.
On the left is the Filter Envelope Generator (Filter EG). It is hardwired to the two filters,
whose depth is set by the >F1 and >F2 sliders.
On the right is the Amplifier Envelope Generator (Amp EG). This one is hardwired to the
gain stage of the filter block.
24
The ADSR envelope structure
The envelope generators are of the 4-stage ADSR type. This is the most common form of
EG used in synthesizers and it is named after its four stages Attack, Decay, Sustain and
Release. If you're new to synthesizer programming the illustration should give you a
good idea how they work. The thing you need to remember is that after going through
the attack & decay stages the envelope will stick in the sustain stage until the key is
released.
Attack, Decay and Release are time-based parameters and can be tempo-synced by
right-clicking on one of those sliders. You will also find an option to tempo-sync those
three controls at once for each envelope generator.
Above the envelope stage controls is a graphic representation of the ADSR structure.
If the envelope mode is set to Digital, there will be small adjustable orange fields on the
graphic. Dragging them horizontally allows you to choose the curvature of the different
stages of the envelope.
If the envelope mode is set to Analog, the curvature of the different stages will
automatically be set to a shape that tries to emulate analog behavior.
Waveshaper
The waveshaper module now features 43 waveforms and is an integral part of Surge's
audio path.
25
Waveshaper selector - Menu allowing you to change the type of the non-linear wave-
shaping. Alternatively, you can also use the arrow buttons, left-click and drag, or scroll
with the mouse wheel over the waveshaper display to cycle through the different
shapes.
Waveshaper drive – The vertical slider to the right of the waveshaper display. Sets the
drive amount of the waveshaper. This control can be extended.
Waveshaper Analysis window - This panel can be opened by clicking on the small icon at
the bottom of the waveshaper module. It allows you to visually preview the output of the
waveshaper at different input levels, which can be controlled with the waveshaper's
Drive control.
Keytrack amount sliders - Sets the amount of filter keytracking applied to each filter.
26
HP – Controls the scene high-pass filter (scene parameter). This parameter can be
disabled, which will remove it from the audio path. You also have a choice for filter slope
between 12, 24, 36, 48 dB/Octave.
Amp Vel. - Controls how the Amp Gain scales with velocity. This is neutral at the
maximum position. Other settings provide attenuation at lower velocities, thus this
setting will never increase the Amp Gain parameter by velocity.
Amp Gain – Controls the gain element inside the filter block.
Scene Output
The output stage is located after the filter block in the audio-path. As it's outside the
filter block-structure changing the gain here doesn't have any affect on the timbre of the
voice (unlike the previous gain-control which may affect how the feedback and wave-
shaping acts), but it can still change the timbre of the effect section if non-linear effects
(like distortion) are used.
Volume – Scene volume control. You can choose to hard clip the scene output at +18
dBFS (default), 0 dBFS , or to disable hard clipping by right-clicking this control and
choosing the desired option.
Width – The amount of stereo spread (only present for the Stereo and Wide filter block
configurations)
Send FX 1/2 or 3/4 Level – Send levels to send slot 1 to 4 (scene parameters). To display
the send 3/4 levels, simply select one of those send FX units in the unit selector (see
Effect Unit Selector).
27
Modulation/Routing
The modulation section is different from the sound generation and shaping sections as
no audio data is passed through it. Instead it allows you to control the parameters in the
other sections from various sources.
Routing
Modulation routing in Surge XT is a bit different compared to most synthesizers, but it's
actually very intuitive and extremely powerful, thanks to the routing bar.
28
2. Engage routing mode with a second click on the source. It will become bright
green, and sliders that can be modulated with that source will display a blue
modulation depth slider on top of their normal sliders.
3. Drag the desired modulation slider (blue slider) to the position you want the
parameter to be at when fully modulated (at the top peak of a Sine LFO, or after
the attack stage of an envelope for example). The modulation's full range will then
be shown with the corresponding range bar indicator on the slider.
Alternatively, routing mode can also be engaged or disengaged by pressing the middle
mouse buttons anywhere over the interface, or by pressing TAB on the keyboard if this
option is enabled (see Workflow section in the menu).
You can also directly access the numerical modulation amount dialog (explained here) by
dragging the desired modulation source over a modulatable parameter.
Note that modulation range is always relative to the base value represented by the gray
slider, meaning that moving its position will then shift the whole modulation range up or
down. This also means that if a modulation slider's value is smaller than the base value,
the modulation polarity will be inverted.
29
Modulating a Modulator
When clicking on one of the LFO buttons in the routing bar, both the LFO source
selection and the LFO editor will be selected. However, the two actions can be
separated, as you can choose which button is selected as the modulation routing source,
and at the same time edit parameters from a different LFO than the source.
To do that, select the source normally, and then click on the mini-button on another LFO
(the small orange arrow):
Alternatively, you can also left-click on a modulation source while holding Ctrl / Cmd to
display it in the LFO editor as well.
This effectively lets you modulate the parameters of one LFO with any other mod
source(s). However, as an example, note that logistically, an S-LFO can modulate
parameters of an LFO, but an LFO cannot modulate parameters of an S-LFO (see Voice
vs Scene Modulators).
Remember that you can also see which LFO is currently being displayed in the editor by
looking at what's written vertically to the left of the editor.
Modulated Sliders
Once a slider is routed to a modulation source, the shade of blue on its tray indicates
whether the parameter is modulated and by which source.
30
3. Parameter is modulated by the currently selected modulation source (bright-blue)
Moreover, if you hover your mouse pointer over any modulated slider, the source(s) it's
being modulated from will be highlighted in the routing bar. This makes it easier to see
what modulation source(s) are linked to a parameter.
Some modulation source selectors in the routing bar have a hamburger menu. This
serves as an indicator that different types of that modulation source are available. You
can access them directly by clicking on that hamburger menu, by right-clicking and going
into the Switch to... submenu, or simply by scrolling with the mouse wheel over the
modulation source selector in question.
Clearing Modulation
After right-clicking on a modulated slider, you will see an option to easily clear the
modulation and un-link it from its source.
31
Alternatively, you can also reset its modulation slider (blue slider) to 0 by double-clicking
on it when routing mode is engaged, or entering 0 in the type-in editor (see Edit Value).
32
Modulation List
Surge XT has a detailed modulation list that can be displayed by clicking on the vertical
rectangular button at the left of the routing bar:
This panel will display the modulation routings and their amounts from both scenes in
the current patch. Different display options are available to the left of its interface:
Sort by - Allows you to choose whether the list of modulations is grouped according to
the source they are coming from or to the target they are routed to.
Filter By... - This option allows you to only display certain modulation routings by hiding
those that aren't included in the desired source or target in this list.
Add Modulation - These two menus allow you to directly add a new modulation routing
directly from the modulation list panel. Simply select a modulation source and a
modulation target to link a modulator to a parameter.
Value Display - Allows you to choose between 4 different display options regarding the
modulation values displayed in the sliders section, ranging from None to Values, Depths
and Ranges.
Finally, in the sliders section, you can both adjust the different modulation amounts, but
also directly mute or remove a modulation routing entirely.
33
Modulators
Surge XT has four main types of modulation sources :
LFOs
Internal modulators
Voice and note properties
Macros
All of these modulation sources are located in the routing bar (see Routing) :
One one hand, a voice modulator has separate modulation paths for each voice, meaning
it can control voice-level parameters (like filter cutoff) but cannot control scene level
parameters (like FX levels or scene pitch).
On the other hand, a scene modulator has one identical modulation path for the whole
scene, so it can control both scene level parameters and voice level parameters.
On top, three voice LFOs. On the bottom, three Scene LFOs, "S-" meaning Scene.
To demonstrate this distinction, let's say an sine wave LFO is modulating the cutoff of a
filter. Now, if 3 notes are being hit with a small delay between each of them, the phase
of the LFO will be delayed between the notes accordingly.
You will indeed clearly hear the cutoff of the filter moving independently for each note,
which gives the impression that there are three LFOs and three filters (which there
actually is!). The same principle applies for envelopes.
34
However, unlike the first demonstration, this time, if an S-LFO is modulating a certain
parameter, hitting more notes will not "add" an LFO for each voice, which gives the
impression that there is a single LFO modulating the cutoff frequency of the filter instead
of many.
See Modulation Routing Details in the Technical Reference section for more information.
LFOs
Compared to some other synthesizers, Surge XT does not have dedicated LFO,
Envelope, Step sequencer or MSEG modulation sources. Instead, those are integrated
within every LFO. This effectively enables the flexibility of having up to 12 LFOs,
envelopes, step sequencers or MSEGs, and everything in between simply by changing
their shape.
Surge XT's LFOs are very flexible and come with a built in DAHDSR-envelope which can
either work as a dedicated envelope generator or shape the amplitude of other
modulation types over time.
See Voice vs. Scene for an explanation about the difference LFOs and S-LFOs.
35
Shapes
On the left, the different shapes and their explanation. On the right, the way that the Deform
parameter affects the waveform.
36
Depending on the selected shape for a particular LFO, its name in the routing bar will
change. When using the first 6 waveforms, it will be called LFO. However, when using
the envelope shape, ENV will be displayed, SEQ will be displayed when the step-
sequencer is used, and for the MSEG, MSEG will be displayed. Scene LFOs have their
equivalent labels as well:
Parameters
Rate – Controls the modulation rate. When the type is set to Step Seq, one step equals
the whole cycle. This slider can be tempo-synced and disabled from its context menu.
Deactivating the rate effectively freezes the LFO to a certain constant value depending
on the Phase/Shuffle parameter. This can be useful for manually scrubbing in a
waveform cycle of an LFO for instance, and can also be used in the same way in the
sequencer. This feature can also be used to make the modulation source act as a
randomizer in tandem with the "Random" trigger mode. A simpler Random (see Internal
Modulators) modulation source can however also be used for that purpose. Furthermore,
modulation can even be applied to the Phase/Shuffle parameter with another
modulation source which opens up a lot of possibilities, such as effectively using the
frozen LFO as a mod mapper.
Note: In the LFO editor, when right-clicking parameters that can be tempo-synced, there
will also be an option to Tempo sync all the LFO parameters at once.
Phase/Shuffle - Controls the starting phase of the modulation waveform. As with any
parameter, it can be modulated. However, in this case, its modulated value will not
change after the modulation is triggered (for instance, it's not possible to shift an LFO's
phase while a note is pressed). Only starting phase is taken into account. This control can
also be extended, allowing for bipolar shuffle, useful for adding swing in the step
sequencer.
Amplitude – Controls the amplitude of the modulation. This is the parameter you should
use if you want to control the depth of an LFO with a controller (like controlling vibrato
depth with the modulation wheel, for instance). This control can also be extended form
its context menu, which allows you to reach a negative amplitude range (-100 to 100%
instead of 0 to 100%).
Deform – Deform the modulation shape in various ways. The effect varies depending on
the selected shape. Different deform types are available for the Sine, Triangle, Sawtooth,
S&H, Envelope and Step Seq shapes, and can be accessed by right-clicking on the
Deform slider.
Trigger mode – Chooses how the LFO is triggered when a new note is played:
37
Freerun – The LFO's starting phase is synchronized with the host's song position to
make it continuously running in the background. The modulation will be trigged at
its starting phase when playback position is either at the beginning position and the
song starts playing, or when playback position goes back at the beginning of a loop
for instance. Freerun behaves the same on voice LFOs or scene LFOs.
Keytrigger – The LFO's starting phase is triggered when a new note is pressed. If
the synth is set to "Poly", each new voice gets its own LFO triggered with it when
using a voice LFO. However, when using an scene LFO, the first voice sets the
LFO's position, then the other ones will follow it.
Random – The LFO's starting phase is set to a random point in its cycle. If the synth
is set to "Poly", each new voice gets its own LFO triggered with it when using an
voice LFO. However, when using an scene LFO, the first voice sets the LFO's
position, then the other ones will follow it.
Unipolar - If active, the modulation will be in the [0 .. 1] range (unipolar). If not, it will be
in the [-1 .. 1] range (bipolar).
The modulation range on a parameter is represented by a green bar when routing mode
is engaged (see Routing).
The Envelope Generators are of the 6-stage DAHDSR type that are multiplied with the
waveform generator, no matter what the selected LFO shape is. This means that if the
LFO shape is set to Envelope, the output will simply be 100%, and can then be shaped by
the LFO EG.
Also, note that when using the Envelope shape, the envelope will always trigger on key
trigger, no matter what the trigger mode is set to.
The LFO envelope generator can be completely disabled by right-clicking on one of its
controls and unchecking the Enabled option.
38
6-stage DAHDSR envelope
Step Sequencer
The Step Seq shape houses a step sequencing editor where the LFO display would be. It
allows you to draw the output waveform with up to 16 steps.
The two blue markers define loop-points in which the sequence will repeat once it gets
into the loop. The left mouse button is used for drawing while the right one can be used
to clear the values to zero.
To quickly reset a step to 0, either double-click on a step, or hold down Ctrl/Cmd and
click or drag with the mouse over the desired step(s).
Right-clicking and dragging over steps allows you to draw a straight line over the desired
steps, thus creating a perfectly linear staircase pattern.
39
Holding down Shift while drawing will quantize the values to the scale degrees (1/12th in
case of standard tuning, or possibly other for custom tuning) spanning the range of one
octave. Furthermore, holding down Shift + Alt makes two times more values available,
hence useful when modulating pitch by two octaves instead.
For more information on microtonal pitch modulation using the step sequencer, you can
read this article on Surge's wiki.
The step sequencers inside voice LFOs have an extra lane at the top of the step editor
allowing to re-trigger the two regular voice envelopes (The Amplifier and Filter Envelope
Generators) when the small rectangle is filled at that particular step.
However, shift-clicking or right-clicking those rectangles allows the specified step in the
sequencer to only trigger one of the two envelopes. When the step is half-filled on the
left, only the filter envelope will be triggered. When filled on the right, only the amplifier
envelope will be triggered.
The Deform parameter gives the Step Seq waveform a lot of flexibility. A value of 0%
will output the steps just as they look on the editor. Negative values will give an
40
increasingly spiky waveform while positive values will make the output smoother.
Negative
deform
Positive
deform
41
Multi-Segment Envelope Generator
Surge XT's Multi-Segment Envelope Generator (MSEG) is powerful and fully editable
with a large number of curve types and various editing options. It can be used to create
more complicated LFO waveforms or envelopes compared to the previously mentioned
modulation shapes. With the combination of various settings in the editing window and
the usual parameters from the LFO editor, you can practically create any modulation
shape you could think of.
To open this MSEG editing window, you can either click on the little pencil button next
to the wave display (1), click on the wave display itself (2), or double-click on the MSEG
icon in the modulation type selector (3):
Once opened, you will see a shape working as an envelope if you're using a voice LFO, or
a triangle wave working as an LFO if you're using a scene LFO. In any case, you can
either build upon these shapes if they suit your needs, or you can reset them to a simple
straight line by right-clicking anywhere in the edit window, then choosing Create ->
Minimal MSEG. More information on those menu entries can be found below.
42
Zooming and panning
In the MSEG editor, you can pan the view left or right by either left-clicking or middle-
clicking, then drag on the background left or right.
You can also zoom in and out by either scrolling with the mouse wheel or left-clicking
then dragging your mouse up or down. Alternatively, you can again middle-click and drag
if you prefer.
Moving nodes
To move a node, simply left-click and drag it. To do the same with multiple nodes at the
same time, you can Shift+left-click and drag, which makes a selection.
In Surge XT's MSEG, a segment is comprised of its starting node (point) and the segment
itself. A "segment's end node" is actually the next segment's starting node. To add a new
node, simply double-click where you want it to be added. To remove a node and its
43
following segment, simply double-click on the node you want to remove. Note that you
can only remove nodes if there are more than two nodes remaining in the shape.
Control points
In addition, you will also often find a control point in the middle of a segment. This one
can be dragged vertically (and also sometimes horizontally) to alter the segment's
curvature or other properties depending on the line type. To reset a control point to its
default position, simply double-click on it.
At the bottom of the editor are a couple of options to configure editing modes and
general behavior of the MSEG:
Edit Mode - Configures the MSEG editor to work in Envelope or LFO mode.
Loop Mode
Off - Don't loop when in Envelope mode, turn off draggable loop points.
On - Loop forever in the loop region (between the loop points). Subsequent
segments, if any, will never be reached.
Gate - Loop until the note is released, then immediately transition to the
segments following the loop region.
Snap To Grid
Horizontal - Enables horizontal snapping to the grid. The number field to the
right corresponds to the horizontal grid resolution. You can also temporarily
enable horizontal snapping by holding down the Ctrl/Cmd key while
dragging.
Vertical - Enables vertical snapping to the grid. The number field to the right
corresponds to the vertical grid resolution. You can also temporarily enable
vertical snapping by holding down the Alt key while dragging.
Segment options
44
Each segment has options in a context menu which can be accessed with a right-click in
the area of that segment. Some of them are only applied to the right-clicked segment,
while others are applied to the whole shape:
Actions
Split - Splits the segment into two by adding a new node in its center
Delete - Remove the segment and its starting node
Double duration - Doubles the total duration of the whole shape
Half duration - Halves the total duration of the whole shape
Flip vertically - Flips the whole shape vertically
Flip horizontally - Flips the whole shape horizontally
Quantize notes to snap division - Quantizes the nodes in the whole shape to
the nearest horizontal grid position. Available in Envelope edit mode only.
Quantize notes to whole units - Quantizes the nodes in the whole shape
horizontally to the nearest whole time units. Available in Envelope edit mode
only.
Distribute nodes evenly - Distributes the existing nodes from the whole
shape evenly in the horizontal axis between the first and last node.
Create
Trigger
Settings
Link start and end nodes - Links the value of the start and end nodes (useful
for seamless looping for example).
Deform applied to segment - Sets if the selected segment is affected by the
Deform parameter found in the LFO editor or not (see deform parameter).
Invert deform value - Inverts the deform polarity applied to the selected
segment.
45
Segment types - List of line types from which a segment can be. The control point,
if present, will have a different effect depending on the type used.
Hold - Holds the value of the previous node up to the segment's end node.
No control point available.
Linear - Single line. The control point controls the curvature of the segment.
Bezier - Single line. The control point can freely bend the segment.
S-curve - Curved line. The control point determines how abrupt the S-shape
is and its direction.
Bump - Single line. The control point can be moved up or down to create a
"bump" in the segment.
Sine, sawtooth, triangle, square - Sine, sawtooth, triangle or square waves.
The control point determines how many wave cycles there are between the
segment's beginning and end node.
Stairs, smooth stairs - Stair or smooth stairs line types. The control point
determines how many steps there are between the segment's beginning and
end node.
Brownian bridge - Random between the beginning and end node every time
it's being triggered. Moving the control point down adjusts the number of
steps while quantizing them up to 24 equidistant steps (useful for random
scales, for instance). Moving the control point up also adjusts the number of
steps, but this time without any quantization. The horizontal value of the
control point adjusts correlation.
46
Formula
Surge XT comes with a series of tutorials for the formula modulator available in the patch
browser, each of them explaining different aspects and ideas you can re-create in the
formula editor:
These tutorials are definitely worth consulting, but here are some basic principles that
may help you get started with the formula modulator.
Every formula modulator instance must contain at least a process function. This is where
the modulator output will be set or calculated.
Different variables can be accessed (and some modified), allowing you to create the
desired modulation behavior:
output - Output value of the formula modulator itself (ranges from -1 to 1).
phase -
Continuous value representing the real-time phase position of the
modulator output.
intphase - Integer value set to the number of cycles that have been executed.
47
songpos - Host song position
You can access or modify those values by using the following syntax:
modstate["variable-name"]
To see a list of values corresponding to those variables, you can open the integrated
Debugger by clicking on the Show button at the right of the interface. This debugger also
allows you to initialize the modulator by clicking on Init, and to step through the code
using the Step button.
After entering code or modifying existing code, press the Apply button for changes to
take effect. You will see the output display update with the new shape.
Finally, you can switch to the Prelude view of the code by clicking on the corresponding
button. The Surge prelude is loaded in each surge session and provides a set of built in
utilities we've found handy in writing modulators.
LFO Presets
To the left of the Rate parameter, a small menu icon can be found. Clicking on it will
reveal options to save the selected LFO state, open previously saved states, and finally
rescan presets to update the list. Presets will be categorized by modulation shape.
Each LFO is comprised of three distinct modulation outputs: the full LFO, the raw
waveform, and the envelope generator only.
While the full LFO output (default) will send the resulting LFO shape modulated with the
integrated envelope generator, switching to Raw Waveform from the modulation source
context-menu will bypass the envelope, and Envelope Generator Only will set aside the
LFO shape itself and only produce an output from the envelope generator. Those three
outputs are treated as three separate modulation sources.
Copy/Paste Options
Finally, after setting up an LFO, its settings with or without its targets can be copied and
pasted to another LFO. To do this, simply right-click on the source LFO in the routing bar
and use the desired Copy option, depending on what you want to replicate on the new
modulation source. Then, use the Paste option to paste it.
48
Renaming
LFOs and S-LFOs can be renamed to be more representative of their role and to help the
user keep track of what each modulation source is doing in a patch. To do this, simply
right-click on the LFO or SLFO in question, select Rename Modulator... and enter the
desired name.
For more information on LFO algorithms, see LFOs in the Technical Reference section.
Internal Modulators
Filter EG
The Filter Envelope Generator modulation source, which is labeled "Filter EG", is simply a
modulation source corresponding to the output of the Filter EG, which as its name
suggests is already hardwired to the filter modules. Other parameters can also be
modulated by the Filter EG by various amounts, simply by routing them to this source.
Amp EG
The Amp EG modulation source, which is labeled "Amp EG", is simply a modulation
source corresponding to the output of the Amp EG, which as its name suggests is already
hardwired to the output amp module. Other parameters can also be modulated by the
Amp EG by various amounts, simply by routing them to this source.
Random
This modulation source operates at voice level. It will generate a single random value
inside the modulation range for each voice every time a voice is played.
By default, this modulation source is bipolar and its value distribution is uniform.
However, you can switch to a unipolar and normal versions of it by right-clicking on it
and selecting Switch to..., and then choosing the desired type from the list. All of those
can be used at the same time, so they can be considered independent modulation
sources.
Note that multiple parameters routed to that modulation source will all receive the same
value (in percentage). To send different randomized values to different parameters,
multiple LFOs can be configured in a way to do this and with greater control. See the
explanation of the Rate parameter.
Alternate
This modulation operates at the voice level. It will generate alternating values between
the two modulation range's extremums.
By default, this modulation source is bipolar. However, you can switch to a unipolar
version of it by right-clicking on it and selecting Switch to -> Alternate Unipolar. The two
can also be used at the same time, so they can be considered two independent
modulation sources.
49
Voice and Note Properties
Like other synthesizers, Surge XT receives MIDI data to determine what note(s) to play.
However, it can also use MIDI CC data to modulate any routable parameter.
There are 14 of those voice and note properties in the routing bar:
Voice
Velocity Per note velocity amount Unipolar
modulator
Polyphonic
Per note polyphonic Voice
Aftertouch (labeled Unipolar
aftertouch modulator
Poly AT)
Scene
Channel Aftertouch modulator,
Monophonic aftertouch if
(labeled Channel Voice Unipolar
MPE is disabled
AT) modulator in
MPE mode
Scene
Pitch Bend Pitch bend wheel value Bipolar
modulator
Scene
Modwheel Modulation wheel value Unipolar
modulator
Scene
Breath Breath controller signal Unipolar
modulator
50
Voice
Keytrack Per note keytrack value Bipolar
modulator
Keytrack value
Scene
Lowest Key corresponding to the lowest Bipolar
modulator
note played
Keytrack value
Scene
Highest Key corresponding to the Bipolar
modulator
highest note played
Keytrack value
Scene
Latest Key corresponding to the latest Bipolar
modulator
note played
Note that only scene-level modulation sources can be routed to FX sends and
parameters. For instance, you can use Latest Key instead of Keytrack to modulate FX
parameters, as Keytrack is a voice-level modulation. See Voice vs. Scene modulators for
more details.
Macros
There are 8 macros, and by default, they are blank.
What separates these assignable controllers from the rest is that with a right-click, they
can be assigned to a MIDI controller or any MIDI CC signal, and their value can be edited
on-screen with the blue digital slider below their names.
By default, the macros are assigned to midi CC 41-48, which is often mapped by default
to knobs or slider banks for a lot of midi controllers.
See MIDI CC Information in the Technical Reference section for more information.
The right-click context menu also allows you to rename the controller. There is also the
typical routing and clearing options, (see Routing) and you can choose if their modulation
is bipolar (both positive and negative with 0 in the middle) or unipolar (just positive).
Macros can also be dragged and dropped over other macros to make them switch place.
To do so, simply left-click + drag over the desired macro slot location.
Finally, note that macros are considered global modulators, meaning they are shared
51
between and act on both scenes A and B. This is useful in case you would want to
quickly control certain parameters from both scenes in a single place.
52
Effects
The FX Section controls the 8 effect units of the effect block stored in every patch.
53
Effect Unit Selector
The effect unit selector can be found towards the top of the FX section. It also
represents the signal path of the effects block. Here it is in more detail:
A left-click on a particular unit in the effect unit selector brings that unit in the editor. A
double-click on a unit disables/enables it. This state is stored within patches, unlike the
global FX bypass setting. A right-click on a unit displays the effect and preset picker
specifically for that unit, allowing you to directly add or swap an effect on that unit.
Moreover, you can drag-and-drop units over other units to make them switch places.
Holding down Ctrl/Cmd and dragging allows you to duplicate (copy) units on other units
instead, and holding Shift allows to simply replace (overwrite) the target unit with the
source one.
Finally, you can right-click on either the A or B icons in the diagram to bring up output
hard clipping options, which are the same as explained earlier in the Scene Output and
Global Volume sections.
You can also save your own effect presets which will be stored globally with the synth.
Finally, at the bottom of this menu, there are Copy and Paste options, which allows you
to copy an effect and its parameters and paste it on another unit. You can also use drag-
and-drop gestures to accomplish this (see Effect Unit Selector).
Effect Editor
This is where every effect parameter can be edited. Like with the oscillator editor, the
parameter of each slider will change depending on the loaded effect.
54
Here's a list of the available effects:
EQ
Exciter
Graphic EQ
Resonator
CHOW
Distortion
Neuron
Tape
Waveshaper
Combulator
Frequency Shifter
Nimbus
Ring Modulator
Treemonster
Vocoder
Chorus
Ensemble
Flanger
Phaser
Rotary Speaker
Delay
Reverb 1
Reverb 2
Spring Reverb
Airwindows
Conditioner
Mid-Side Tool
See Effects in the Technical Reference section for more information about each effect.
Note: remember that FX parameters are scene controls . This means that only scene-
level modulation sources can modulate them.
55
Microtuning
Surge is becoming well known for its extensive microtuning options, and Surge XT
features full keyboard microtuning support using the complete Scala SCL and KBM
format, as well as integration with ODDSound MTS-ESP.
When utilizing either of these microtuning modes, the musical intonation related features
of Surge XT contextually switch accordingly for the Tune and Filter Cutoff menus.
Current tuning - Scala SCL (scale) tuning tables may be loaded into Surge XT using
drag-and-drop onto its UI, from the Factory Tuning Library, or the integrated
Tuning Editor. Once an SCL file has been loaded, the file name of the tuning will
appear here, otherwise, with no SCL file loaded, this option will not be visible in the
Tuning menu.
56
Current keyboard mapping - Scala KBM (keyboard mapping) files may also be
loaded into Surge XT using drag-and-drop onto its UI, from the Factory Tuning
Library, or the integrated Tuning Editor. Once a KBM has been loaded, the file
name of the keyboard mapping will appear here, otherwise, with no KBM file
loaded, this option will not be visible in the Tuning menu.
Open tuning editor… Clicking this option will open the integrated Surge XT Tuning
Editor with features for loading, modifying, analysis and export of Scala SCL-KBM
tuning tables that enable working with a broad range of historical and
contemporary musical intonation systems.
For more detailed information about microtuning and on the microtuning editor featured
in Surge XT, see Tuning Editor.
The following three Tuning menu options are available when Scala SCL and KBM files
have been loaded into Surge XT, permitting resetting the instrument to standard
intonation settings. When no SCL or KBM are loaded, these options are grayed out:
Set to standard tuning… - Resets the currently loaded SCL tuning table to 12 tone
equal temperament, keeping the currently loaded KBM.
Set to standard mapping (concert C) - Resets the currently loaded KBM, such that
the 1/1 of the loaded SCL is mapped to middle C.60 at 261.626 Hz
57
Set to standard scale (12-TET) - Resets the currently loaded SCL tuning table to 12
tone equal temperament and the KBM such that the 1/1 of the intonation is
mapped to middle C.60 at 261.626 Hz.
Load .scl scale... - Allows the user to load SCL tuning table files from their
computer.
Load .kbm keyboard mapping... - Allows the user to load SCL tuning table files
from their computer.
Note: Scala SCL and KBM files can also be imported via the Status Area, or via drag-and-
drop anywhere on Surge’s interface.
Factory Tuning Library - Clicking this option will open the file browser containing
the included Surge XT factory SCL-KBM content.
Remap A4 (MIDI note 69) directly to… - Enables the user to type in custom Hz
values for MIDI Note A.69.
Use MIDI channel for octave shift - Enables users of generalized array keyboard
controllers (such as the Lumatone) to map large tuning gamuts and equal-
temperaments contiguously across all 16 MIDI Channels.
Apply tuning at MIDI input - When this option is checked (which it is by default),
modulation is tuned to the loaded scale, and pitch bends are in key space.
Apply tuning after modulation - When checked, tuning is only applied at the
keyboard, and modulation is in 12-TET space. Since this fundamentally changes
how a patch would play in tuned mode, this option is stored at the patch level.
58
ODDSound MTS-ESP Mode
As mentioned above, with the Tuning menu option checked for Use ODDSound MTS-
ESP, and an instance of MTS-ESP Master (or MTS-ESP Mini) is inserted into the DAW
project, the menu contextually changes, showing the following options:
Current tuning - Displays the name of the currently active tuning in MTS-ESP.
Disconnect from MTS-ESP - Provides a way to disable MTS-ESP in Surge XT, even
when an instance of MTS-ESP Master (or MTS-ESP Mini) are inserted into the
DAW project, whereupon the Tuning menu will contextually switch to the Scala
SCL-KBM mode.
Query tuning at note on only - Query tuning at note on only Either snap the tuning
at note on and hold it consistent through the note voice, or otherwise query the
tuning as the note progresses. So if for example, you play a D and adjust the tuning
of the second note in your scale with this on, you will hear the pitch change, while
with it off you won’t.
Consult the documentation for ODDSound MTS-ESP Suite or MTS-ESP Mini for more
detailed information about their operation.
59
Main Menu
You can find this menu in the bottom-right corner of Surge XT's interface. Clicking it
reveals various configuration options.
Note: Some of these options are also present at the top of the user interface for easier
access (see Status Area).
This menu can also be opened by right-clicking anywhere on the user interface where
there are no controls.
Zoom
The Zoom option can be extremely useful on certain monitors and configurations.
In its sub-menu there are various options to change the scale of the whole user-interface
to a certain size. Keep in mind that it will not let you change it to any size, as there is an
upper limit depending on your screen resolution.
When a new instance of Surge is loaded, its zoom will be set to default size. To change
this value, go back in this sub-menu and select the option "Set [zoom %] as default", or
"Set default zoom to ..." then enter the desired value.
Skins
This is where the UI skin can be chosen. Surge XT comes with two factory skins: Classic
and Dark.
60
Additional skins are available to download from our skin library. Here is one of them, the
Royal skin by Voger Design:
From there you can also reload the current skin and rescan the skins folder. You can
even configure if the colors of context menus follow the OS light/dark mode settings, or
are applied from the currently loaded skin.
From there, you can also reload the current skin, rescan skins, open the current skin
61
folder location, open the skin inspector and open the skin development guide.
If you would like to get on board with the skin engine and developing skins, see the
documentation on developing Surge XT skins.
Value Displays
High Precision Value Readouts - Allows value popups that appear when tweaking
parameters to show more digits after the decimal point (6 digits). This can be useful
in some more advanced and precise scenarios.
Modulation value readout shows bounds - Allows the value popup that appears
when applying modulation and adjusting its amount to a parameter to show more
values, such as the relative range in the negative direction, and both absolute
minimum and maximum values underneath.
Show value readout on mouse hover - Allows you to enable or disable the gesture
of hovering over a slider to display its value.
Show ghosted LFO waveform reference - Allows you to enable or disable the LFO
waveform at full amplitude displayed with a dotted line in the LFO display area.
Middle C - Allows you to change the reference octave shown in popup displays of
some frequency-related parameters, such as filter cutoff for instance. You can
change Middle C to display either C3, C4 or C5.
Data Folders
In this sub-menu, there are a couple of options regarding user data and patches.
Open factory data folder... - This opens the location where factory patches, wavetables
and other configuration files are stored.
Open user data folder... - This option opens the location where custom patches saved by
the user will be stored.
Set custom user data folder... - This allows you to change where user patches will be
saved.
Rescan all data folders - This option can be useful after importing patches created by
someone else, after transferring user patches to another computer, or after downloading
patches from the internet.
Mouse Behavior
This sub-menu contains options allowing you to change the sensitivity of the mouse
when moving sliders. While Legacy is used by default, the other 3 options range from
Slow (more granular) to Exact (as fast as the mouse pointer). Also, there is an option to
keep showing the mouse pointer on the screen when dragging on a control.
Touchscreen mode automatically sets the mouse options to give the user the best
62
experience when using Surge on a touch screen.
Patch Defaults
This is where you can configure what appears by default in the Author and Comment
fields when saving a patch.
You can also set the currently loaded patch as the default patch, append the original
author name to modified patches or not, and configure tuning and tuning mapping when
loading patches.
Workflow
Remember tab positions per scene - Remember tab positions (for example,
currently selected oscillator or LFO currently shown in the LFO editor) separately
for each scene or unified in the whole synth.
Load MSEG snap state from patch - Tells Surge XT if it should load the MSEG snap
parameters from the saved patch or keep the existing settings.
Previous/next patch constrained to current category - Turn this option off to allow
the previous/next patch arrow buttons in the patch browser area to automatically
switch categories after hitting the beginning or end of one.
Retain patch search results after loading - Prevents the search results box from
closing after loading a searched patch. Useful if you want to preview all patches
corresponding to your search query.
Confirm patch loading if unsaved changes exist - When this option is enabled,
Surge XT will ask if you would like to save the currently edited patch before loading
the next one.
Tab key arms modulators - Older versions of Surge had the Tab keyboard shortcut
to arm modulation mode. This behavior can be restored by enabling this option.
Edit keyboard shortcuts... - Opens a window containing a list of all the available
keyboard shortcuts in Surge XT. This is also where you can customize all those
shortcuts and enable or disable them individually.
Shift + F10 and Edit parameter value shortcuts - If the first of the two options is
enabled, the Shift + F10 keyboard shortcut and Enter key will allow you to access a
control's context menu. If the Follow mouse hover focus option is enabled, it will
also follow the mouse cursor.
Announce patch browser entries - This is a Windows only option. If enabled, the
narrator will announce the currently selected row in the patch browser.
63
Add sub-menus for modulation menu items - Makes the modulation options found
in the context menu of controls work as a sub-menu with discrete Clear, Mute and
Edit entries, alongside being able to directly click on the corresponding icons.
Show virtual keyboard - Toggle this option to show or hide the virtual on-screen
keyboard at the bottom of the user interface. The virtual keyboard also includes a
pitch bend and modulation wheel control.
MPE Settings
MPE stands for MIDI Polyphonic Expression. It can be enabled or disabled in its sub-
menu. The current and default pitch bend range can be changed here as well. Finally, you
can also configure the MPE pitch bend smoothing amount.
MIDI Settings
This sub-menu contains options for MIDI mappings.
Controller Smoothing
This sub-menu contains options to set the amount of desired MIDI controller smoothing.
Sustain pedal holds all notes (no note off retrigger) - If sustain is engaged and
multiple notes are hit then held one after the other, Surge XT will stay on the latest
note when releasing it instead of switching to the previous note.
Sustain pedal allows note off retrigger - If sustain is engaged and multiple notes
are hit then held one after the other, Surge XT will switch to the previous note
when the latest note is released.
This allows you to save the current MIDI mapping. The newly created profile will appear
in this menu under the two top options.
When a new instance of Surge XT is opened, it will load this MIDI mapping by default if
you select this option.
As its name suggests, this option clears the existing MIDI mapping in Surge XT and resets
it back to default.
This opens up an HTML file listing the currently loaded MIDI mapping.
64
Tuning
These options are also present in the Tuning menu at the top of the interface. See
Microtuning for detailed explanations on the tuning implementation within Surge XT.
Online Links
The following items are for reaching the developers and user feedback information,
reading the code on GitHub, downloading additional content, visiting Skin Library,
opening this user manual, and finally opening Surge's website.
About Surge XT
Finally, there is an option to open the About pane containing various version,
configuration and license information.
Developer Menu
When right-clicking on the Menu button, some more options for development and
testing purposes appear in various sub-menus.
65
Accessibility
The Surge XT user interface can be completely navigated from the keyboard. Pressing
Tab will allow you to move through all controls in the user interface, while pressing the
up and down arrow keys will let you adjust them. Just like holding Shift or
Control/Command while moving a slider with the mouse lets you make more precise
adjustments, holding these modifiers while pressing the arrow keys will have a similar
effect. Pressing Home, End or Delete will let you set a control to its maximum, minimum
and default value respectively. Finally, pressing Shift+F10 or the Applications key on any
control will open its right-click menu.
With the exception of Tab, the other keys mentioned here need to be turned on before
they can be used. If you press one of these keys with the shortcuts turned off, you will
be asked whether you want to turn them on. Alternatively, they can be turned on by
checking the Use keyboard shortcuts option in the Workflow section of the menu. A
number of additional shortcuts are available which allow you to quickly open specific
dialogs, change patches or save your work and more.
In addition to full keyboard support, Surge XT is compatible with screen reader software
on both Mac and Windows. This means that as you navigate through the interface, the
screen reader will give you full speech and braille feedback on the control that’s focused
and what its value is. You can also navigate the interface using your screen reader’s
review commands.
For additional help on using Surge with specific Screen Readers, refer to this page.
66
Technical Reference
Surge XT Hierarchy
Overview
Voices
67
Block diagram of a synthesizer voice
Illustration shows most audio and control-paths of a single voice. Not all processing
elements of the voice are shown in the diagram.
LFOs
Each voice has 6 configurable LFOs and each scene has an additional 6 configurable
LFOs, making each voice effectively capable of receiving modulation from a total of 12
LFOs.
68
Modulation routing behind the scenes
The thing to remember is that voice modulation sources can't modulate scene
parameters, global/effect parameters or parameters from scene LFOs, since these are
two distinctly different modulation paths. Other than that it should be pretty
straightforward.
Oscillator Algorithms
Surge XT provides 12 different oscillator algorithms, each capable of generating sound in
different ways with a different set of controls. They're not just different waveforms.
Classic
The Classic oscillator algorithm consists of a main oscillator that can generate a pulse
wave, a sawtooth wave, a dual-saw wave or anything in between.
A sub-oscillator provides a pulse-wave one octave below the main oscillator. Changing
the pulse-width of the sub-oscillator does affect the main oscillator as well, as they will
both change levels at the same time except that the main oscillator does it twice as
often.
The Classic algorithm is also capable of oscillator self-sync. Note that the sub-oscillator
will be used as the base-pitch for the sync.
The algorithm provides unison at the oscillator-level with up to 16 instances. Unlike the
Wavetable oscillator, the cost of unison in terms of CPU usage for the Classic oscillator is
quite modest. The unison oscillator voices are affected by the scene level Osc Drift
parameter independently.
69
Waveform shape. -100% = pulse, 0% = saw, 100% = -100 .. 100
Shape
dual saw. %
0 .. 60
Sync Oscillator hard sync.
semitones
0 .. 100
Detuning of unison oscillators. cents
Unison Can be extended. 0 .. 1200
Detune Can be cents
switched between relative (default) and absolute. 0 .. 16 Hz
0 .. 192 Hz
Unison
Number of oscillators used for unison (1 = disabled). 1 .. 16
Voices
Modern
The Modern oscillator algorithm is a multi-waveform oscillator which creates clean, low
aliasing versions of pulse, triangle, saw and sine waveforms with unison and sub-
oscillator capabilities. It is based on the differentiated polynomial waveform algorithm,
from this paper.
Three parameters labeled Sawtooth, Pulse and Triangle control relative mixes of those
waveforms, while the Width parameter controls the pulse width for the Pulse wave.
Sync offsets the pitch of the oscillator against the pitch of the internal reference
oscillator while resetting the phase of the main oscillator to the phase of the reference
oscillator, to achieve typical hard sync effects. Unison controls work like in other Surge
XT oscillators.
-100 ..
Sawtooth Amplitude of the Sawtooth waveform.
100 %
70
-100 ..
Pulse Amplitude of the Pulse waveform.
100 %
0 .. 60
Sync Oscillator hard sync.
semitones
0 .. 100
Detuning of unison oscillators.
cents
Can be extended.
0 .. 1200
Unison Detune Can be
cents
switched between relative (default) and
0 .. 16 Hz
absolute.
0 .. 192 Hz
The third waveform parameter (labeled "Triangle" by default) is special in that it has
several waveform options to choose from. If you right-click it, you can see that it can
generate a triangle wave, a sine wave, or a square wave. This control can also become a
sub-oscillator, playing at half the frequency of the other two waveforms. Importantly, in
sub-oscillator mode, the third waveform does not participate in unison, which is in
contrast to the Sub Mix parameter in Classic oscillator. Finally, there is also an option for
the sub-oscillator to bypass hard syncing against the internal reference oscillator.
Wavetable
A wavetable in Surge XT consists of up to 512 single-cycle waveforms (frames), each of
which can consist of up to 4096 samples. Using the Morph parameter it is possible to
sweep across the waveforms in the wavetable.
The individual waves are equidistant in the table. When the shape setting is between two
individual waves, they will be mixed to ensure smooth travel. You can't edit the
71
wavetable contents directly within Surge XT, but it is possible to generate custom
wavetables with external software.
Surge XT can also import wavetables containing a clm block to indicate loop size (as used
by Serum), a cue block (as used by various products including Native Instruments) and a
smpl block. Wavetable files without loop information are loaded as one-shots.
This effectively lets you import various wavetables from other products such as Serum.
All those 3rd party wavetables that have been tested in Surge XT have been reported to
work flawlessly.
To import custom wavetables, use the wavetable selection bar at the bottom of the
oscillator display. This is where you can also download additional wavetable content.
Alternatively, you can simply drag-and-drop any compatible wavetable file anywhere
over the Surge interface to load it.
You can even create your own wavetables for Surge using wt-tool or WaveEdit.
Once a wavetable is loaded, you can also export it using the wavetable selection bar.
What real-life property, if any, the Morph parameter is supposed to mirror depend on
each wavetable. Common cases are:
Analyzed from sounds that evolve over time. The behavior can be recreated by
letting shape increase over time by modulation. It's the most common among the
analyzed wavetables.
Analyzed from static sounds over different pitches to capture the formant shift of
a sound. The behavior can be recreated by modulating shape by the keytrack
modsource.
A parameter of a mathematical equation.
In the end it's just a set of data and Surge XT doesn't care how it was generated, all that
matters is how it sounds.
The Wavetable oscillator has some interesting sonic characteristics. It outputs the
waveform in a stair-stepped fashion, making no attempts to 'smooth the steps' in the
process, but does so in a manner that is completely band-limited. This makes it similar in
sound to 1980s era wave-table synths and samplers which didn't use resampling but had
dedicated D/A-converters for each voice instead and changed the pitch by varying the
sample rate of the individual D/As.
The fact that the steps aren't smoothed causes an artifact known as harmonic aliasing.
This is not to be confused with inharmonic aliasing which sounds somewhat similar to an
AM-radio being tuned and is generally nasty. Instead, this artifact will cause the
harmonics of the waveform to repeat themselves and fill up the entire audible spectra
even at low pitches, just like a square-wave would, preventing the waveform from
sounding dull. As this artifact is completely harmonic it is also musically pleasing.
72
Nonetheless, it may sound a bit out of place on very smooth waveforms but the effect
can be filtered out by a lowpass filter in the filter block if desired. Some of the wave-
tables, such as the regular triangle wave, are large enough for this artifact to never
appear in the normally used range for this specific reason.
The important thing is that just like most other oscillators in Surge XT, it doesn't output
any inharmonic aliasing whatsoever or any audible levels of interpolation-noise, two
artifacts which has played a big part in giving digital synthesizers a bad name.
For more information, you can read this article on Surge's wiki.
There is a reference for the .wt file-format used by the wavetables. It is located at:
surgedata/wavetables/wt fileformat.txt
Skew
Vertical skew of the waveform. -100 .. 100 %
Vertical
Skew
Horizontal skew of the waveform. -100 .. 100 %
Horizontal
0 .. 100 cents
Detuning of unison oscillators.
0 .. 1200
Unison Can be extended.
cents
Detune Can be
0 .. 16 Hz
switched between relative (default) and absolute.
0 .. 192 Hz
Window
The Window oscillator is another shot at wavetable synthesis that is quite different from
the previous wavetable algorithm.
73
The wave, which can be any wavetable included with Surge XT, is multiplied by a second
waveform, the window, which can be one of 9 waveform types that are specifically made
for the window oscillator. The formant parameter controls the pitch of the wave
independently of the window, but as the wave is always restarted with the window, the
pitch will remain the same. Instead, the timbre of the sound will change dramatically,
much depending on which window is selected.
Unlike the Wavetable algorithm, the Window oscillator uses a more traditional
resampling approach which doesn't result in harmonic aliasing.
Sine
74
Quite unsurprisingly, this oscillator generates a sine waveform. However, there's a
number of other interesting things this oscillator can do!
Legacy (before
Chooses whether FM behaves like Surge 1.6.1.1
FM v1.6.2),
and earlier, or
Behavior Consistent with
consistent with FM2/3 oscillators.
FM2/3
FM2
75
FM2 provides a miniature FM synthesizer voice in an oscillator that is specifically tailored
towards making nice and musical FM sounds. A single sine carrier is modulated by two
sine modulators, whose ratios to the carrier are always integer thus the resulting
waveform is always cyclic. However, M1/2 Offset lets you offset the modulators slightly
in an absolute fashion, creating an evolving and pleasing detune effect.
M1
Modulation amount of the first modulator 0 .. 100 %
Amount
M2
Modulation amount of the second modulator 0 .. 100 %
Amount
-10 .. 10 Hz
M1/2 Absolute detuning of the modulators
-1000 .. 1000
Offset Can be extended.
Hz
FM3
As a contrast to FM2, FM3 is the algorithm of choice for scraping paint off the walls. The
modulators have a larger range, the ratios can be non-integer and there's a third
modulator which has its rate set as an absolute frequency.
76
M1
Modulation amount of the first modulator 0 .. 100 %
Amount
0.0 .. 32.00
Ratio of the first modulator to the carrier, can either 1/32.0 ..
M1 Ratio be extended 32.0
or absolute. ~ 8 Hz .. 24
kHz
M2
Modulation amount of the second modulator 0 .. 100 %
Amount
0.0 .. 32.00
Ratio of the second modulator to the carrier, can 1/32.0 ..
M2 Ratio either be extended 32.0
or absolute. ~ 8 Hz .. 24
kHz
M3
Modulation amount of the third modulator 0 .. 100 %
Amount
M3 ~ 14 Hz ..
Frequency of the third modulator
Frequency 25 kHz
-400 .. 400
Modulation amount of the carrier to itself
%
Feedback Extended mode
-100 .. 100
(default) can be disabled.
%
String
The String oscillator uses a physical modeling technique where excitation sources are
sent into a tuned delay line with feedback, with various filters inline (based on the
original Karplus-Strong algorithm). The oscillator runs two strings at all times which can
be detuned from each other and individually damped.
To make the model create sound, you need to excite it. We have two classes of
excitation modes, Burst and Constant. In Burst mode, the delay line is loaded with a
pattern before a note is played, and then no further signal is added to the oscillator.
Think of this as emulating a plucked string. In Constant mode, the delay line is also pre-
loaded, but the signal continues to be applied for as long as you hold the key. Think of
this as emulating a bowed string. In almost all cases, Continuous excitation modes would
be used along with modulation of Exciter Level parameter, in order to emulate bow
pressure, and so on.
77
Exciter modes provide various waveforms - noise, pink noise, ramp, etc. - which you can
use to excite the strings, leading to different timbres. Surge XT's audio input can also be
used as an exciter signal!
-100 .. 100
cents
Adjusts tuning of the second string.
-1200 .. 1200
String 2 Can be extended.
cents
Detune Can be
-16 .. 16 Hz
switched between relative (default) and absolute.
-192 ..
192 Hz
String
Adjusts mix between the two strings. -100 .. 100%
Balance
Twist
This oscillator imports a rather famous Eurorack macro oscillator into Surge XT, based on
Émilie Gillet's device. You can read the manual for the hardware module on which this
oscillator is based here.
This implementation presents all 16 oscillator modes and the controls are dynamically
78
renamed appropriately for every model. Core differences between the hardware module
and Surge XT's implementation are:
1. By default, the LPG in the module is disabled, but by activating the LPG level and
decay sliders with (right-click, then Activate), the LPG will be triggered per voice for
each received MIDI note.
2. By default, you can mix between the main and the auxiliary oscillator outputs with
the Mix parameter. You can also right-click the Mix parameter and enable Pan
main and auxiliary signals option, in which case -100% value is Main to left/Aux to
right, +100% is Main to right/Aux to left, and 0% is an even mix of both signals
sent to both left and right. Do note that for this to be audible, you have to be in
one of stereo filter configuration modes.
Twist can be more CPU demanding than most other Surge XT oscillator algorithms.
Judiciously using maximum polyphony setting and being careful with Amp EG release
times can go a long way in minimizing the CPU usage, thus making robust patches.
Alias
The Alias oscillator purposefully ignores a few decades of research into making digital
signals with low or no aliasing, and does all the things you shouldn't do, so it purposefully
sounds digital, gross, broken, terrible, yet awesome all at once.
See explanation
Shape Sets the oscillator waveform.
below
79
Unison Number of oscillators used for unison, 1 =
1 .. 16
Voices disabled.
Shape
Shape parameter (comes in the form of a menu) is very important and is worth explaining
in more detail, as it allows you to choose the source used for the Alias algorithm.
In addition to the more regular shapes (such as Sine, Ramp, Pulse and Noise), Surge XT's
audio input can be also used.
Going further, there is Additive, which allows you to create a custom waveform by
adjusting amplitudes of up to 16 harmonics, accessible by clicking on the Edit button that
appears in this mode:
This editor works in a similar way to the step sequencer editor, however there are some
additional options available when right-clicking:
Shapes - Partial level presets which roughly represent different wave shapes,
including a random option.
Absolute - Sets the level of all the partials in the positive range.
Invert - Flips the partial levels vertically.
Reverse - Flips the partial levels horizontally.
Additionally, you can also use Quadrant Shaping waveforms as a source, which are also
found in the Sine oscillator.
80
Finally, we have various Memory from... options:
Note: When using Memory From... as a source, there is no guarantee that the resulting
waveform will be consistent, as memory data can vary depending on a number of things:
the DAW used, the particular Surge XT instance, rebooting your machine, and so on.
Thus, it's good practice to bounce the audio output from Surge XT when using this
mode. You know what they say; "If you like it, you should... put a mic on it."
S&H Noise
S&H is an abbreviation for 'Sample and Hold'. The S&H Noise oscillator algorithm works
like a pulse oscillator, but instead of always switching between +1 and -1, the levels used
are determined stochastically.
The correlation parameter determines how new levels are calculated. A setting of 0% will
have no memory and each new level will effectively be a random number (white noise). A
lower setting will favor new values that are closer to the previous level and will provide
noise with a darker spectra. Higher values will favor values as far away from the previous
one as possible, with 100% resulting in a harmonic pulse wave.
81
Detuning of unison oscillators.
0 .. 100 cents
Can be extended.
Unison 0 .. 1200 cents
Can be
Detune 0 .. 16 Hz
switched between relative (default) and
0 .. 192 Hz
absolute.
Audio Input
Audio Input lets you route external audio into the voice architecture of Surge XT. It also
allows you to route the audio output from Scene A into Scene B.
Note: When using the Audio Input oscillator type in Scene B to get audio from Scene A,
you will likely want to set Play Mode to Latch. That way, Scene B will always be
82
triggered.
For more information and possible applications, you can read this article on Surge's wiki.
Filters
There are multiple filter algorithms available for each of the 2 filter units in the filter
block. Each of the algorithms have different subtypes, which alter their sound.
Some of the filter-(sub)types have some non-linear elements in them to allow them to
self-oscillate in a stable and predictable manner. This means they will sound different
depending on how hard they're driven, which can be conveniently controlled with the
Pre-Filter Gain setting found in the mixer. For example, if the resonance peaks of a filter
is too loud, increase the Pre-Filter Gain to make the rest of the signal more dominant
(and if needed decrease the gain at the output stage of the voice to compensate).
Lowpass filters
Highpass filters
Bandpass filters
Notch filters
Effect filters
Filter Types
12 dB - 2-Pole filter. Available in Lowpass, Highpass, Bandpass and Notch types.
Legacy Ladder - 4-Pole ladder filter. This is Surge's original and older ladder filter. It has
stable self-oscillation and requires less CPU processing than the newer Vintage Ladder
filter. Available in Lowpass type.
Sub-types:
83
3. 18 dB - Output taken from 3rd stage (3-pole).
4. 24 dB - Output taken from 4th stage (4-pole).
Vintage Ladder - 4-Pole ladder filter. This is a more recent, accurate and often better-
sounding ladder filter. It also has stable self-oscillation, but requires more CPU
processing than the older Legacy Ladder filter. Available in Lowpass type.
Sub-types:
Thanks to @ddiakopoulos for maintaining this very useful repository of research and
code which heavily informed the models we implemented.
K35 - 12 dB/Octave filters from the Odin 2 synthesizer, and inspired by the Korg MS-20
filter topology. Increasing resonance will make them sound dirtier and more aggressive.
Available in Lowpass and Highpass types.
Sub-types:
1. No Saturation
2. Mild Saturation
3. Moderate Saturation
4. Heavy Saturation
5. Extreme Saturation
Thanks to @TheWaveWarden for allowing us to implement Odin 2's K35 filters inside
Surge XT. You can download Odin 2 here, or read the code here.
Diode Ladder - 4-pole diode ladder filter from the Odin 2 synthesizer with individually
tapped pole outputs. This filter attempts to model the sound of a ladder filter that uses
diodes instead of transistors. This filter does not self-oscillate without feedback.
Available in Lowpass type.
Sub-types:
Thanks to @TheWaveWarden for allowing us to implement Odin 2's Diode Ladder filters
inside Surge XT. You can download Odin 2 here, or read the code here.
OB-Xd 12dB - 12dB filters from the OB-Xd synthesizer by discoDSP, and from the work
of Vadim Filatov, which is based on the filters found in the Oberheim OB-Xa. Available in
84
Lowpass, Highpass, Bandpass and Notch types.
Sub-types:
Thanks to discoDSP for allowing us to implement OB-Xd's filters inside Surge XT. You
can get OB-Xd here, or read the source here.
OB-Xd 24dB - 24dB filters found in the OB-Xd synthesizer by discoDSP, and from the
work of Vadim Filatov, which is based on the filters found in the Oberheim OB-Xa.
Available in Lowpass type.
Sub-types:
Thanks to discoDSP for allowing us to implement OB-Xd's filters inside Surge XT. You
can get OB-Xd here, or read the source here.
Cutoff Warp - 12dB/Octave filters created using a nonlinear biquad filter structure. The
nonlinearities in the Cutoff Warp filter cause the cutoff frequency to sweep to higher
frequencies as the signal level increases (see below). Available in Lowpass, Highpass,
Bandpass, Notch and Allpass (Effect) types.
85
For more information on the Cutoff Warp filter, you can see this blog post by Jatin
Chowdhury, or this 2020 DAFx paper, specifically section 4.
Resonance Warp - 12dB/Octave filters created using a nonlinear biquad filter structure.
The nonlinearities in the Resonance Warp filter cause the resonance of the filter to
decrease as the signal level increases (see below). Available in Lowpass, Highpass,
Bandpass, Notch and Allpass (Effect) types.
For more information on the Cutoff Warp filter, you can see this blog post by Jatin
Chowdhury, or this 2020 DAFx paper, specifically section 3.
1. 1 Stage tanh - Output taken from 1st stage (2-pole), using tanh nonlinearities.
2. 2 Stages tanh - Output taken from 2nd stage (4-pole), using tanh nonlinearities.
3. 3 Stages tanh - Output taken from 3rd stage (6-pole), using tanh nonlinearities.
4. 4 Stages tanh - Output taken from 4th stage (8-pole), using tanh nonlinearities.
5. 1 Stage Soft Clip - Output taken from 1st stage (2-pole), using soft-clipping
nonlinearities.
6. 2 Stages Soft Clip - Output taken from 2nd stage (4-pole), using soft-clipping
nonlinearities.
7. 3 Stages Soft Clip - Output taken from 3rd stage (6-pole), using soft-clipping
nonlinearities.
8. 4 Stages Soft Clip - Output taken from 4th stage (8-pole), using soft-clipping
nonlinearities.
9. 1 Stage OJD - Output taken from 1st stage (2-pole), using OJD nonlinearities.
10. 2 Stages OJD - Output taken from 2nd stage (4-pole), using OJD nonlinearities.
86
11. 3 Stages OJD - Output taken from 3rd stage (6-pole), using OJD nonlinearities.
12. 4 Stages OJD - Output taken from 4th stage (8-pole), using OJD nonlinearities.
Tri-Pole - 3-pole filter based on the Threeler filter designed by Ian Fritz, which contains 3
filter stages and a resonance stage all in a global feedback loop.
1. Low -> Low -> Low, First - Output taken from the 1st filter stage.
Filter stages are: LPF, LPF, LPF.
2. Low -> High -> Low, First - Output taken from the 1st filter stage.
Filter stages are: LPF, HPF, LPF.
3. High -> Low -> High, First - Output taken from the 1st filter stage.
Filter stages are: HPF, LPF, HPF.
4. High -> High -> High, First - Output taken from the 1st filter stage.
Filter stages are: HPF, HPF, HPF.
5. Low -> Low -> Low, Second - Output taken from the 2nd filter stage.
Filter stages are: LPF, LPF, LPF.
6. Low -> High -> Low, Second - Output taken from the 2nd filter stage.
Filter stages are: LPF, HPF, LPF.
7. High -> Low -> High, Second - Output taken from the 2nd filter stage.
Filter stages are: HPF, LPF, HPF.
8. High -> High -> High, Second - Output taken from the 2nd filter stage.
Filter stages are: HPF, HPF, HPF.
9. Low -> Low -> Low, Third - Output taken from the 3rd filter stage.
Filter stages are: LPF, LPF, LPF.
10. Low -> High -> Low, Third - Output taken from the 3rd filter stage.
Filter stages are: LPF, HPF, LPF.
11. High -> Low -> High, Third - Output taken from the 3rd filter stage.
Filter stages are: HPF, LPF, HPF.
12. High -> High -> High, Third - Output taken from the 3rd filter stage.
Filter stages are: HPF, HPF, HPF.
For more information on the development of the Tri-Pole filter, please see this Python
notebook which outlines the development of the signal processing building blocks
behind the filter.
Allpass - As its name suggests, this filter passes all frequencies equally in gain. However,
it is useful to alter the phase relationship in the spectrum. Unless feedback is involved, its
effect can mostly be heard when the Cutoff frequency is in movement. Thus, modulation
can be used to get interesting results.
Comb + and Comb - - Comb filter, which is different compared to the previous filter
types since it doesn't filter any part of the spectrum, but instead plays back the original
signal with a delay. The former type has positive feedback and the latter has negative
feedback.
Sub-types:
1. 50% Wet
2. 100% Wet
87
When the sub-type is set to 2 and resonance is 0%, the comb filter will work purely as a
delay unit (with sub-sample precision). This can be used together with the other filter
unit along with filter block feedback to provide interesting options. The "Winds/Clarinet"
and " Plucks/Simple Waveguide" patches showcase how this ability can be used for
simple physical modeling. They only use the oscillator section to ignite the sound, the
rest is in the filter block.
Moreover, the negative comb filter produces the sound an octave lower than the
positive comb filter.
Sample & Hold - The Sample & Hold module will sample the audio at the rate set by the
cutoff frequency. Resonance will emphasize oscillations around the cutoff frequency,
not unlike the resonance peak of a lowpass filter.
Effects
Surge XT has 8 effect units which each can run one of the 10 provided algorithms.
EQ
The EQ unit provides 3-bands of fully parametric equalizing. This high-quality algorithm
has a much better response at high frequencies than digital equalizers usually have.
Band 1/2/3
Band gain, can be disabled -48 .. +48 dB
Gain
Band 1/2/3
Band frequency 14Hz .. 25kHz
Freq
Band 1/2/3
Band bandwidth 0 .. 5 octaves
Bandwidth
Mix Blend control between the dry and the wet signal. 0 .. 100 %
Exciter
Exciter is a harmonic exciter based on the famous Aphex Aural Exciter unit. For more
88
information, see this blog post by Jatin Chowdhury.
Graphic EQ
Graphic EQ is, as its name suggests, a graphic equalizer. It is comprised of 11 level-
adjustable and deactivatable (from the right-click menu) bands, which makes this
equalizer better than the normal EQ at sculpting relatively complex response curves.
Apart from the fact that there is also an output gain control at the bottom of the
interface, there is not much else to add.
Resonator
The Resonator provides carefully tuned lowpass, bandpass, bandpass + notch or highpass
filters, each with individual output gain and resonance. By default, the filters cannot be
driven into self-oscillation, but if you right-click any of the three Resonance parameters
and enable Modulation extends into self-oscillation, modulation sources can drive the
filters to a self-oscillating point. Similarly, the three resonator bands are tuned to match
the ranges of a very famous resonator circuit, but they can be extended to allow a wider
range.
89
Gain
First, second or third band gain. -inf .. 0 dB
1/2/3
CHOW
Chow is a half-wave rectifier distortion effect with controls similar to those found in a
compressor. The original effect was implemented as an open source audio plugin by Jatin
Chowdhury.
Distortion
Distortion algorithm. Provides plenty of EQ options as well as a feedback loop to alter
the tonality of the clipping stage.
90
Pre-EQ High High cut element prior to the clipping
14Hz .. 25kHz
cut stage
Soft, Hard,
Model Waveshaper used for distortion Asymmetric, Sine,
Digital
Neuron
Neuron is an effect based on a Gated Recurrent Unit (GRU), a commonly used building
block in recurrent neural networks.
For more information on the development of the Neuron effect, you can read this blog
post by Jatin Chowdhury.
91
The Wh coefficient of the GRU; controls
Drive the input 0 .. 100 %
gain of the main signal path.
Tape
Tape effect is a port of the Chow Tape Model tape emulation effect, a real-time physical
model of a reel-to-reel analog tape machine. The model contains parameters for
controlling the amount of tape distortion and degradation, as well as physical
characteristics of the tape machine, like the play head width, or tape thickness.
The original plugin can be found on GitHub, and signal processing details are outlined in
this 2019 DAFx paper.
92
Saturation Controls the amount of tape saturation 0 .. 100 %
Tone Controls the tone balance of the tape distortion -100 .. 100 %
0.1 .. 20
Gap Controls the width of the playhead gap
microns
Waveshaper
The full waveshaper module present in the sound shaping section of the synth (see
Waveshaper) is also available as an effect unit which, like other effects, can be loaded
anywhere in the FX signal path. It also hosts additional controls for further adjustments
of the resulting distorted output.
93
Full list of wave shapes also
Shape Shape used for waveshaping
present in the waveshaper
Low
Low cut filter after the waveshaping
Cut 13.75 Hz .. 25kHz
stage. Can be activated.
(post)
High
High cut filter after the waveshaping
cut 13.75 Hz .. 25kHz
stage. Can be activated.
(post)
Combulator
Combulator effect is somewhat similar to the Resonator in that it is also made of three
filter bands. However, it uses comb filters instead. These three filters are tuned to a
center pitch and two offsets, each with its own gain control, and combs 2 and 3 with
individual pan. A common use case is to use a monophonic (scene-level) modulation
source like Highest Key to modulate the center pitch. The circuit also implements an
envelope follower on the input signal, and mixes additional noise in based on the
followed envelope and the Extra Noise parameter.
94
Controls the feedback amount applied to the
Feedback -100 .. 100 %
comb filters
Comb
Output gain for each of the comb filters -inf .. 0 dB
1/2/3
Frequency Shifter
Frequency shifter effect. Provides a delay unit and a feedback loop to give consecutively
shifted repeating delays.
Nimbus
95
The Nimbus effect imports the granular texture effect from Émilie Gillet's Eurorack
project. You can read the manual for the hardware device on which this effect is based
here.
The labels and ranges in the effect adjust based on the mode to allow you to use this
effect appropriately in Surge XT.
Ring Modulator
Flexible ring modulation algorithm.
8.18 .. 12543.86
Frequency Frequency of the carrier oscillator.
Hz
13.75 ..
Low Cut Low cut element before the output stage.
25087.71 Hz
13.75 ..
High Cut High cut element before the output stage.
25087.71 Hz
1For more information on the diode model used by the ring modulator, you can read this
paper.
96
Treemonster
Treemonster is a specialized effect ported from Shortcircuit 2, a proper Vember Audio
classic! Treemonster runs a naïve pitch detection algorithm on the input signal, runs a
sine oscillator at the detected pitch, then ring modulates the input signal with the
resulting tuned sine oscillator. It can get pretty crazy, especially if you apply pitch shifts
to the generated oscillator. Like the emulated analog ring modulation in Surge XT, this
effect can very rapidly become very inharmonic.
Vocoder
The audio input of Surge XT is used to modulate the carrier signal at the input stage of
this 20-band vocoder algorithm.
97
Gate Bands below this level will be silenced. -96 .. 0 dB
Env
Rate of the envelope followers. 0 .. 100 %
Follow
Chorus
4-stage chorus algorithm.
0.008 .. 512 Hz
Rate of the modulation,
Rate 64 .. 1/1024
Can be tempo-synced.
note
98
Amount fed from the output back into the
Feedback -inf .. 0 dB
input.
Low/High-
EQ controls of the chorused signal. 14Hz .. 25kHz
cut
Ensemble
Ensemble chorus effect based on BBD (bucket-brigade device) delay lines (with optional
clean digital delay lines, too).
Implementation of the BBD chip is based on a 2018 DAFx paper by Martin Holters and
Julian Parker.
Controls the type of delay line used for the 128 .. 4096 BBD
Delay Type
chorusing effect Stages, Digital
99
Flanger
Versatile Flanging algorithm.
LF
Damping for low frequencies. 0 .. 100%
Damping
Phaser
Flexible phaser with adjustable number of stages.
100
Sine, Triangle,
Sawtooth,
Waveform Shape of the modulation
Noise, Sample & Hold,
Square
1 Once disabled, the Rate parameter acts like a phase parameter, which can be scrubbed
through and modulated to achieve manual phasing and combing effects.
Rotary Speaker
101
Rotary speaker simulator algorithm.
Rotor
Rotor rate (as a factor of Horn rate). 0 .. 200 %
Rate
Delay
The delay algorithm in Surge XT is very versatile and can work well both as an
echo/delay and chorus.
There is an LFO connected to the delay-lines (not shown in diagram) which can provide
102
stereo-widening/detuning of the delay-line.
0 .. 32 s
Delay time Delay time for the left channel.
1/512 .. 16
Left Can be tempo-synced.
whole notes
Low/High-
EQ controls of the delayed signal. 14Hz .. 25kHz
cut
0.008 .. 512 Hz
Modulation
Rate of the modulation LFO (triangle). 64 .. 1/1024
rate
note
103
Gain scaling of the Side-component of the wet
Width -24 .. 24 dB
signal.
Reverb 1
The Reverb 1 algorithm is a classic and older sounding digital reverb.
104
Reverb 2
The Reverb 2 algorithm is a second version of Surge's original Reverb effect and has a
different algorithm and controls. Reverb 2 is more natural and contains less digital
artifacts. For most use cases, Reverb 2 sounds better than Reverb 1.
Spring Reverb
The Spring Reverb algorithm is an emulation of old spring reverb effects. It is based
loosely on the algorithm outlined by Parker (EURASIP 2011).
105
0 .. 100
Size Size of the springs being used to create the reverb.
%
0.5 ..
Decay Decay time of the reverb.
4.5 s
0 .. 100
Damping Amount of high-frequency damping in the springs.
%
0 .. 100
Spin Amount of frequency smearing happening in the springs.
%
0 .. 100
Mix Blend control between the dry and the wet signal.
%
Airwindows
Airwindows effect is an integration of 56 diverse effects by Chris Johnson. Thanks to
Airwindows for providing high quality open source effects!
You can read more about these effects here, and read the code here.
Conditioner
The Conditioner is a simple EQ, stereo image control and a limiter built into one unit. The
limiter applies make-up gain automatically.
106
Bass LF boost/cut. -12 .. +12 dB
Mid-Side Tool
The Mid-Side tool is a set of controls useful for transforming a stereo signal to mid-side
and vice versa, with additional separate filtering for the mid and side signal.
(Mid) Low Low cut filter for mid component. Must be 13.75 .. 25087.71
Cut enabled to be used. Hz
107
(Mid) High Low cut filter for mid component. Must be 13.75 .. 25087.71
Cut enabled to be used. Hz
(Side) Low Low cut filter for side component. Must be 13.75 .. 25087.71
Cut enabled to be used. Hz
(Side) High Low cut filter for side component. Must be 13.75 .. 25087.71
Cut enabled to be used. Hz
108
Tuning Editor
The integrated Surge XT Tuning Editor has a built-in collection of microtuning utilities for
loading, modifying, analysis and export of Scala SCL-KBM tuning tables that enable
working with a broad range of historical and contemporary musical intonation systems. It
is also worth mentioning here that Surge XT supports the use and creation of non-
monotonic intonation systems that may not necessarily be sorted in a linear order.
To open the Tuning Editor, right-click on the Tune button and from the Tuning menu,
choose Open tuning editor…, where the following features are available:
Keyboard Mapping - On the far left of the Tuning editor UI, there is a keyboard diagram
showing the current tuning and how its frequencies are mapped directly to MIDI Note
Numbers across the musical range.
Notice that when playing notes from a MIDI controller, that the keys will light up
showing the notes that are being played as well the fundamental pitches that Surge XT is
sounding with each MIDI Note On.
109
Edit Modes
Along the bottom left of the Tuning Editor are five buttons that switch between the
different editing and analysis functions:
Scala
Click Scala button, where the values for the currently loaded Scala SCL and KBM file can
be viewed and or edited. In the left pane is the Scala SCL, with the KBM on the right.
Notice here too that input from an attached MIDI controller will highlight the scale
degrees being played from the keyboard.
It’s possible to directly edit SCL and KBM values in either pane, then using the Save Scale
feature, export the results to any directory on the user’s computer. Editing SCL and KBM
is a slightly advanced topic, so it is advised to only make changes to tunings here, when
one understands how these features work for creating custom tuning tables that can be
read by Surge XT, or any other virtual-instruments that use the Scala SCL-KBM format.
110
Radial
Click the Radial button to access features for creating new scales, or otherwise
modifying existing ones, with its features for tuning by ear using either the Scale Tones
on the left, or the Tone Wheel on the right.
The Scale Tones features show the ratios or cents for each degree of the current tuning.
The dials to the right of each scale degree can be used to retune each pitch of the scale
by ear and the dial on the top right can be used to uniformly compress or stretch the
current tuning.
Holding Shift on the typing keyboard while moving the tuning dials counterclockwise or
clockwise allows fine adjustments while retuning the scale by ear. Use the Hide button to
hide the scale degrees when tuning by ear, then click Show to see the results of the
tuning exercise.
It is also possible to type new values for each of the scale degrees in either ratios or
cents.
Any changes made to the Scale Tones dials are immediately reflected on the Radial Tone
Wheel to the right, and it’s also possible to click on the circular nodes of the Tone Wheel
and retune each by ear as well.
111
Interval
Provides a way to view the intervals of the current scale, given any two notes in the
loaded scale and show the interval in cents between them.
It’s also possible to hold keys on an attached MIDI controller, then click and drag on any
of the columns to retune each degree by ear in real-time.
Notice here too that input from a MIDI controller also highlights the scale degrees being
played in the matrix.
112
To Equal
Given any two notes in the loaded scale, show the distance to the equal division interval.
113
Rotation
Shows the current tuning in an interval matrix for modal rotation analysis, where each
row reveals the intervals available from each starting point of the scale.
Actions
The Surge SXT Tuning Editor has a set of Actions with the following features:
Save Scale
Click this button to export the current scale in the Scala SCL format to any location on
the user’s computer, where they can later be loaded back into Surge XT, or other virtual-
instruments that use the Scala format.
Export HTML
Opens the current scale in an HTML page, where users can view complete information
about the intonation, including the Scala SCL scale degrees, the frequency mapping to
MIDI Notes across the range, the KBM in use, as well as an interval matrix that shows
the current tuning under both modal and interval rotation. More information can be
found below.
Tuning Library
Clicking the Tuning Library button will open the directory containing the Surge XT
114
factory SCL and KBM content, making it easy to drag-and-drop SCL and KBM files onto
the UI.
Export HTML
Clicking the Export HTML button from within the Surge XT Tuning Editor opens the
current tuning in an HTML page enabling viewing information about the loaded Scala
SCL and KBM files, and how the pitches are mapped to MIDI Notes on the keyboard
controller.
The exported HTML page then shows the tuning description contained in the SCL file,
the degrees of the scale, and the mapping of pitches to MIDI Notes. Below we can see
that the Bohlen-Pierce tuning is mapped with its 1/1 starting note on C.60 at 261.626
Hz.
To change the 1/1 mapping to another MIDI Note, drag-and-drop a different KBM file
onto the Surge XT interface, then click the Export HTML button again to see how it
changed the mapping.
115
Below we can see that the 1/1 for Bohlen-Pierce is now mapped to MIDI Note A.69 at
440 Hz:
Click the Raw Scala Tuning (SCL) or Raw Keyboard Mapping (KBM) links to view the
mapping data for the currently loaded SCL and KBM files.
116
Click the Interval Matrices link to view a modal rotation of the current tuning by scale
degrees and interval steps.
117
MIDI CC Information
The eight macros towards the right of the routing bar have automatically assigned MIDI
CCs.
Macro 1 = CC 41
Macro 2 = CC 42
Macro 3 = CC 43
Macro 4 = CC 44
Macro 5 = CC 45
Macro 6 = CC 46
Macro 7 = CC 47
Macro 8 = CC 48
118
Questions?
Feel free to visit the Surge Synth Team Discord server here if you have questions about
Surge XT, want to help in developing it further or if you come across any bugs or other
issues.
119