Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

GameSynth Documentation

Download as pdf or txt
Download as pdf or txt
You are on page 1of 113

Tool User Manual (Version 2021.

1)

Introduction…………………………………………………………………………………….……………………………… 3

Main window………………………………………………………………………………………….……………………... 5

Help Center…………………………………………………………………………………………………………………….. 6

Patch Repository…..……………………………………………………………………………………………… ………... 7

Main concepts…………………………………………………………………………………………….……………….… 11
Patch……………………………………………….……………………….………………….…………………….. 11
Model Settings………………………………..………………………………………………..……………….. 12
Automatic Variations……….…………………………………………………………………………………. 13
Automation Curves.…………………………………………………………………………………………….. 15
Meta-Parameters…………………………………………………………………………………………….…. 18
Procedural Audio Events….……..…………………………………………………………………….……. 21
Procedural Sketch Pad………………………………….………………………………………………..….. 22
Presets…………………………………………………………………………………………………………….….. 23

Models…………….………………………………………………………………………………………………….…….……. 24
Impact Model……..……..………………………………………………………………………………..……… 25
Whoosh Model….………..………………………………………………………………………………………. 33
Retro Model…………..…………………………………………………………….…………………………….. 42
Particles Model…………….………………………………………….…………………………………………. 49
Footsteps Model………………………………………..…………….…………………………………………. 55
VoiceFX Model…………………………………………………………………….……….…………………….. 60
Weather Model……………….………………………………………………………………………………….. 62
Visual Patching Model…………………………………………….……………………………………….…. 69
Partners Models………………………………………………………………………………..……………….. 88

Integration……………………………………………………………………………………………………………………… 90
As a sound design tool……………….…..…….……………………………………………………….……. 90
Export to middleware………………………………………………………………………………….………. 93
Export to game………………………………………………………………………………………………….... 97

Settings….………………………………………………………………………………………………….……………………. 99
2

Command Line Version…….………………………………………………………………………………….…………. 102

Support……………….……………………………………………………………………………………………….…………. 104

Annex 1: Keyboard Shortcuts…………………………………………………………………………………………… 105

Annex 2: Sketch Pad Scripting.………………………………………………………………………………………… 109

Annex 3: Universal Category System (UCS) support…..……………………………………………….…… 111

www.tsugi-studio.com
Version 2021.1
3

Introduction
GameSynth is Tsugi’s multi-platform procedural audio middleware. It allows you to create
amazing sound effects quickly and easily, to generate sound variations automatically at run-
time, to change the sound dynamically based on the game context and to save tons of
memory!

You can use GameSynth alone or in conjunction with your current game audio middleware.
The tool can be used separately as a powerful sound design application to generate sound
assets that can be saved as regular wave files.

The design goals behind the creation of GameSynth are to provide:

An uncompromising sound quality


GameSynth uses the latest generation of procedural audio algorithms - some of them
patented by our engineers - to generate sounds of the highest quality. In addition, the
analysis of existing samples allows the creation of audio generators and control signals
which are more realistic and more dynamic.

www.tsugi-studio.com
Version 2021.1
4

An inspiring user interface


Each model comes with a graphic user interface adapted to that specific type of sound,
offering both a productive workflow and an invitation to experimentation. Everything is
done in a click, from adjusting the random range of a parameter to assigning automation
curves and meta-parameters. The Sketch Pad makes sound design immediate and rewarding.

A uniform and extensible system


Be it in the tool or at the run-time level, all the different models use the same concepts,
making it easier to design sounds in the tool and to implement them in the run-time.
GameSynth has been developed as a modular system and new procedural audio models will
be added, both by Tsugi and our partners.

A complete integration with the game


GameSynth can generate sound variations automatically at run-time. The variation amount
can be set when the game triggers the patch. GameSynth can also react to what is
happening in the game through the use of meta-parameters, and can send feedback thanks
to the Procedural Audio Events™ system, useful for example to synchronize the animation
with the sound.

An optimized and scalable run-time


In addition to being optimized for each target platform, patches can have their own model
algorithm settings (such as the maximum number of oscillators or the type of interpolation
used). Some GameSynth features are optimized when several instances of a same patch are
running simultaneously, or even across different patches and models.

A system-agnostic run-time
GameSynth is independent from any game audio middleware. It generates PCM buffers in
real-time that you can pass to Wwise, FMOD Studio, ADX2 etc… You can even use it with the
native library of a platform or switch middleware in the middle of the project. Closer
integrations and plug-ins may also be provided for some game audio middleware in the
future.

In the next sections of this documentation, we will discover the layout of the main window
of the tool, learn about the main concepts used to achieve the goals described above, and
look at the different models in details. Finally, we will examine the different levels of
integration of GameSynth with your game or application.

www.tsugi-studio.com
Version 2021.1
5

Main window
This section describes the layout of the main window.

In the top left corner, the command panel  gives access to the input / output functions
from loading or saving patches to rendering a wave file or generating full events for game
audio middleware. It is also where you can access the general settings of the tool, where
you can get help, and check the version’s information.

On the right of the command panel, the model selector  displays all the procedural audio
models available in GameSynth, including any optional models you may have purchased. If
there are many of them, click on the left and right arrows to scroll through the list. When
you click on one of the tabs, the patch editor  appears in the middle of the screen.

The patch information panel  describes the patch currently being edited. You can see the
author’s name, the date of the last modification, and assign a category and subcategory to
the patch. For more information about this, see Annex 3: Universal Category System (UCS)
support.

The patch information panel is also where you can create objects such as meta-parameters
and automation curves that determine how parameters are controlled and how the patch
will communicate with game. We will talk about these types of objects and the main
concepts behind GameSynth in another section of this documentation.

www.tsugi-studio.com
Version 2021.1
6

Help Center
Accessible via the command panel, the Help Center allows you to browse the latest content,
tutorials and manuals published for GameSynth.

Whenever a new resource becomes available online, a red dot will appear in
the top-right corner of the Help button. Make sure to check it, as it is a vital
part of our ecosystem to help beginners and advanced users alike.

There Help Center currently lists 3 types of resources: manuals or references (like this one),
tutorial videos, and blog posts. Simply click on the banner of a resource to consult it.

You can use the arrow buttons or the mouse wheel to navigate through the resources of a
given type. The Help Center always displays the latest content. To see older content, click on
one of the “More…” buttons. In the case of the Manuals, this will direct you to a web page
with links to download all our documentations. For videos, it will open our GameSynth
tutorials playlist on YouTube. Finally, for the blog posts, it will open the main blog archive on
our web site.

At the top of the Help Center’s window is the language selector. Resources in English and
Japanese are currently available. Please note that there may be some differences in content
between languages.

www.tsugi-studio.com
Version 2021.1
7

Patch Repository
The repository is accessible via the ‘Get’ button of the command panel. It allows you to
browse the largest archive of procedural audio patches available to date. It is useful to learn
how to design sounds in GameSynth, to get some inspiration, or just to quickly find a patch
that matches your project.

The repository is curated by Tsugi to guarantee the high quality of the patches included.
Each time you start GameSynth, the tool will check if new patches are available in the
repository. If that’s the case, a small orange light will appear on the ‘Get’ button, and you
will be offered to dowload them the next time you click on the button.

For a better and faster browsing experience, GameSynth downloads the repository data,
and stores it locally in the AppData folder of your system drive. Although the size of the data
is relatively small, you can store it on another drive if you want. To do this, simply change
the path of the repository root in the Settings.

A database for procedural models

The repository works essentially as a database of sound effects, except that instead of listing
fixed sample files, it displays dynamic procedural audio models, or patches.

Each patch has of course a name, an author, and a date of creation. In addition, a category
and sub-category have been assigned to each patch. They follow the Universal Category
System (UCS) specifications, which means than you can search procedural audio models

www.tsugi-studio.com
Version 2021.1
8

with the same terms you would use in a sample database. Finally, one or several tags are
associated with patch.

Simply click on a patch to listen to it. During playback, a spectral representation of the
sound will be displayed. Click again to stop the playback. Once you have found a patch you
want to use, click on its name (or anywhere while pressing Ctrl) to load it in GameSynth.

Hyperlinks

While browsing, it is also possible to click on the graphical and textual elements of a patch
to find similar patches. For example, the icon displayed on the left of a patch corresponds to
its UCS category. By clicking on it, all the patches from that category will be displayed. The
same result can be obtained by clicking on the name of the category.

Similarly, clicking on the name of a subcategory will display all the patches having both the
same category and the same subcategory. Clicking on an individual tag will list all the
patches sharing this specific tag. Clicking on a date or an author will list all the patches
created by the same person or at the same date.

Searching

At the top of the window, the toolbar helps you navigate the patch repository and find the
right patch for your project.

The home button essentially resets the display of the repository window by
cancelling the last search, as well as the sorting and filtering option selected. All the
patches available in the repository are displayed.

The patch name button is selected by default as it is the normal search option. It
means that during a search, the tool will compare the text typed in the search box
with the names of the patches.

www.tsugi-studio.com
Version 2021.1
9

This is the category button. If pressed during a search, the tool will compare the
content of the search box with the names of the categories and sub-categories
assigned to a patch.

This is the tag button. If pressed during a search, the tool will compare the content
of the search box with the names of the tags associated with a patch.

This is the author button. If pressed during a search, the tool will compare the
content of the search box with the name of the author of the patch.

Filtering

It is also possible to filter the results of a search by specifying a model for the patches. The
default cube displayed in the toolbar represents all models. When it is visible, no model-
based filtering is applied. To display only the patches from a specific model (Whoosh, Impact,
Footsteps etc..), click on the cube button and select the model.

Sorting

The repository window also allows for the sorting of the patches displayed based on their
name, model, category, number of tags, author, or date, either in ascending or descending
order.

www.tsugi-studio.com
Version 2021.1
10

Tag Clouds

Finally, by clicking on the cloud icon, a tag cloud is generated, allowing for the
visualization of all the tags or categories used in the repository. The qualifiers the
most used across the repository will appear bigger, and closer to the center of the
cloud.

In the top-left corner, the 3 buttons allow you to:


- display the category cloud.
- display the tag cloud.
- switch on/off the display of the statistics for the item under the mouse.

Clicking on the name of a category or a tag will close the window and display all the patches
sharing this category or tag in the repository.

www.tsugi-studio.com
Version 2021.1
11

Main concepts
This section describes the main concepts behind a GameSynth model. This is important to
understand how to design a procedural audio patch and how the game and GameSynth
communicate.

Patch

The patch is what is played by the game (or the tool). It is based on a mathematical sound
model (e.g., impact, whoosh etc…) and has its own settings. It also provides several ways to
communicate with an interactive system (input and output) such as a game. The picture
below describes the different components of a patch.

www.tsugi-studio.com
Version 2021.1
12

Model settings

Each model in GameSynth offers settings that let you tweak the generation algorithm itself
to allow more or less CPU usage. For example, you can define the maximum number of
resonant modes or the type of the damping envelopes used by the Impact model.

For example, the model settings allow GameSynth to be scalable and to reduce CPU cost
based on the LOD needed or based on the target platform.

These settings are only used by the GameSynth engine.

www.tsugi-studio.com
Version 2021.1
13

Automatic Variations

It is possible to set a random range for most parameters. When triggering a sound at run-
time, or when rendering several sounds at once in the tool, you can specify how much
random variation you want. A new sound will automatically be played or saved each time
within the limits you have set.

From the code, it is possible to simply call Play(patchHandle,variationAmount) to play a


variation of a patch each time it is triggered.

In the model editor, to assign a random variation range to a parameter, simply click on the
dot of the corresponding slider and move the mouse vertically instead of horizontally. A
yellow line will appear that represents the random range.

Some parameters do not accept random variations because it would not make sense, so first
make sure that the dot of the slider is yellow in the center (random range enabled) instead
of grey (random range disabled).

In addition to the values of the sliders, it is also sometimes possible to apply randomization
to the items selected in combo boxes. When allowed, checkboxes will appear in front of the
items. If a checkbox is marked, the corresponding item will become available for selection
during the randomization process.

www.tsugi-studio.com
Version 2021.1
14

For example, the picture below shows the oscillator module in GameSynth’s visual patching
system. The Sine shape has been chosen for the waveform of the oscillator (simply by
clicking on the item in the list, like usual). However, both the Sine and Saw checkboxes have
also been selected. This means that if a variation of the patch is requested, it could use
either a Sine or Saw oscillator.

To simulate the behavior of the run-time, there is a variation slider next to the main play
button located just below the patch information panel. This slider lets you specify a
percentage of random variation that will be applied to the parameters each time you click
on the play button.

Check the Render feature to see how you can also save multiple variations of a sound at
once, thanks to the random ranges and the global variation setting.

www.tsugi-studio.com
Version 2021.1
15

Automation Curves

Automation curves can be set to automatically control the evolution of one or several
parameters over time and are similar to their counterpart in a regular DAW.

In the tool, you can create an automation curve in the section of the same name from the
patch information panel. Click on the “+” sign and then rename your new automation curve
to something meaningful for the patch.

Parameters that can be controlled by an automation curve have an “A” button in front of
them. To assign an automation curve to a parameter, simply drag it and drop it on that “A”
button. The color of the button will change, showing that an automation curve has been
assigned. You can assign the same automation curve to many parameters by repeating this
sequence.

Note: you can also assign / unassign automation curves to a parameter by right-clicking on
the A button of that parameter and using the commands from the context menu that is
displayed.

www.tsugi-studio.com
Version 2021.1
16

To edit an automation curve, click on the “A” button and the automation curve editor will
appear. The lower part of the window displays all the automation curves and the list of
parameters they have been assigned to.

Select one of the automation curves from the list to display it. The automation curve is
actually a multi-segment envelope that you can edit as you want. You can also set the curve
duration below the graph and enable / disable looping in the list. On the run-time side, it is
also possible to modify the duration of an automation curve and to switch its looping mode
on or off.

You can load and save automation curves by using the buttons located in the top-right
corner of the window, or by using the context menu over the automation curves list in the
main window.

It is also possible to import / export automation curves as channels files (.chan or .clip) for
Houdini, allowing for the synchronization of procedural animation with procedural sound!

Likewise, you can import animation curves from Web Technology’s Sprite Studio (select
the .ssae animation file in that case) or from Esoteric Software’s Spine in order to design

www.tsugi-studio.com
Version 2021.1
17

sounds that match perfectly 2D animations. Unity’s animation curves contained in .anim
files can also be imported.

Other supported formats include BVH, a popular motion capture format, and FBX used by
many 3D graphics packages such as Maya, 3ds Max, MotionBuilder and many more.
GameSynth recognizes FBX files in ASCII, from version 7.5.0 upwards. Please note that
Bender currently only exports FBX ASCII files in version 6.1.0 so these files cannot be
imported by GameSynth and must be converted first.

Using a procedural audio tool such as GameSynth to design sounds for animations offers
many advantages, such as recalculating the sound automatically to match the curve when it
has been modified or its duration has been changed, without having to record new sounds
or edit the previous ones.

When importing animation curves, it is possible to process the curve data. GameSynth
automation curves values are in the range [0…1] but parameter values from other tools may
not always be constrained in this range. Therefore, three processing modes are available.
“No processing” leaves the data untouched. “Clipping” forces every value over 1.0 back to
1.0, and every value under 0.0 back to 0.0. Finally, “Normalizing” scales the input curve data
so that it fits perfectly in the [0…1] range, with its maximum at 1.0 and its minimum at 0.0.

A slider also allows the thinning out of the curve data. Motion capture files in particular can
be quite large, and they sometimes contain many aligned points that it may not be
necessary to keep for the audio generation.

www.tsugi-studio.com
Version 2021.1
18

Meta-parameters

The meta-parameters offer a convenient way to control several parameters at once at run-
time. For example, the sound designer can define a “rolling speed” meta-parameter which
will control (possibly in different ways) the pitch and the modulation of a contact sound with
a single line of code. This is similar to RTPCs in some game audio middleware.

On the run-time side, the code just sends a value between 0 and 1 to control many
parameters of the sound.

In the tool, you can create a meta-parameter in the section of the same name from the
patch information panel. Click on the “+” sign and then rename your new meta-parameter
to something meaningful for the patch.

Parameters that can be controlled by a meta-parameter have an “M” button in front of


them. To assign a meta-parameter to a parameter, simply drag it and drop it on that “M”
button. The color of the button will change, showing that a meta-parameter has been
assigned. You can assign the same meta-parameter to many parameters by repeating this
sequence.

www.tsugi-studio.com
Version 2021.1
19

To edit a meta-parameter, click on the “M” button. The meta-parameter window will
appear, as well as the meta-parameter testing window.

In the meta-parameter editor, you can select the meta-parameter to edit by using the
combo box at the top of the window.

Once the meta-parameter specified, all the parameters it has been assigned to will appear
along with their mapping curve. The mapping curve is actually a multi-segment envelope
that you can edit as you want. You can use the checkbox to display or hide the mapping
curves of some parameters while you are editing.

The meta-parameter tester window allows you to simulate the in-game behavior by setting
the values of the meta-parameters (between 0 and 1, like in the run-time) and triggering the
patch (including a variation amount). That way, you can immediately hear the results of the
changes you are making to the mapping curves.

While a patch is playing, you can also move the cursor that appears on top of the mapping
curves. This way, you can easily update the value of the selected meta-parameter value in
real-time while observing exactly how it affects the related parameters on their mapping
curves.

www.tsugi-studio.com
Version 2021.1
20

How the actual value of a parameter is determined

At this point, you may be wondering how the final value of a parameter is determined since
many factors can affect it.

First, the parameter has the value defined in the patch. If it has a random range and random
variations are enabled, then the parameter value will be adjusted accordingly.

However, if an automation curve has been assigned to this parameter, the parameter’s
value will follow the curve over time, ignoring the original value.

Finally, the parameter can be a target of a meta-parameter. Whenever the meta-parameter


receives a new value, a mapping is applied and the new value is sent to the parameter. The
value coming from the meta-parameter comes in real-time from the game / controller and
therefore has always precedence.

For example, let’s take a parameter that has a random range, an automation curve and is
also part of a meta-parameter.

In that case, when you start playing the patch, the random range is ignored and the value of
the parameter follows the automation curve. However, if the value of the meta-parameter
is modified, then the parameter receives a new value and from that point stops following
the automation curve and responds only to meta-parameter updates.

Note that if the value of the meta-parameter is changed just before starting the playback of
the patch, the automation curve is never used.

www.tsugi-studio.com
Version 2021.1
21

Procedural Audio Events ™

Specific events related to the sound synthesis can be triggered by GameSynth in order to
synchronize the animation with the sound. Examples of events are “new LFO cycle”, “end of
modal damping” or “start of new envelope segment”.

On the run-time side, a callback function can be registered for each type of event. The game
is then notified when an event is triggered and for what patch instance it was.

In the tool, the available events are displayed at the bottom of the patch information panel
(you may need to scroll down to see it). They are specific to a given type of model. By
default, all events are disabled and will not be triggered. Check/uncheck the box on the right
of the event name to enable / disable an event.

When the patch is being played back, if an event that is enabled is activated, a red light will
appear in front of it.

Please note that at run-time this feature should be used parsimoniously as triggering a large
number of callbacks will have an impact on the CPU.

www.tsugi-studio.com
Version 2021.1
22

Procedural Audio Sketch Pad ™

The Procedural Audio Sketch Pad allows you to either design or control the sound of a patch
in real-time, by drawing with the mouse or a graphic tablet. It is a central feature of
GameSynth and most of the models are using it.

For example, the sketch pad makes the creation of whooshes very intuitive. It can also
morph between different vocal tract shapes in the upcoming creature model. Another use is
to load a picture and analyze the pixels under the mouse / stylus to drive the contact model.

Speed, pressure and trajectories (strokes) are all taken into account, but they can be
mapped to different parameters in the various models, therefore the behavior of the sketch
pad can vary slightly from one model to another.

Also, for some models like the contact model, only one stroke can be drawn at any given
time, while for models such as the whoosh model it is possible to add as many strokes as
you want to create rich aerial sounds. Some models may provide different preset
trajectories, based on what is most relevant for the model, or allow the loading of a
background picture for reference or as source of modulation.

It is possible to save a sketch pad drawing to re-use it later in another patch, either made
with the same model or with a different one.

Finally, C# scripts can be written to generate mathematical curves. This allows for the
creation of curves that would be difficult to draw manually, and for the insertion of pressure
information, even without using a pen tablet (see Annex 2 for more details).

www.tsugi-studio.com
Version 2021.1
23

Presets

Each model can have presets. They are displayed in the patch information panel.

Presets are basically patches that you can recall with just one click. Think of them as basic
patches or templates from which you can quickly start designing new sounds.

Some of them are installed with the tool, but you can also create your own, and rename or
remove existing ones.

To recall an existing preset, simply click on its name on the list. You can also use the up and
down arrow keys to move between presets, and the space key to play them.

An option in the Settings window allows you to automatically play a preset when it is
selected.

Note: both the presets installed with the software and the one you create are stored in the
AppData folder of your machine, more specifically in the following folder:

C:\Users\YourUserName\AppData\Local\tsugi\GameSynth\Patches

There, you will find a subfolder for each model in GameSynth, and in these folders
regular .gspatch files, similar to the patches you can save from the tool.

Therefore, you can also organize your presets directly with the Windows File Explorer if you
want.

www.tsugi-studio.com
Version 2021.1
24

Models
The basic version of GameSynth includes several procedural audio models: Whoosh for
aerial sounds, Impact / Contact for physics-related sounds, Retro for 8-bit era sounds,
Particles for granular synthesis, Footsteps, Weather, and VoiceFX for vocal processing.

It also includes a Visual Patching system (Modular) that allows you to create your own
models by connecting various audio, control and logic modules.

Of course, Tsugi is working on several other high-quality models that will be available either
for free with the next updates or for purchase separately.

Finally, GameSynth is an open platform for procedural audio with a SDK to develop plug-ins.
We are currently working with several leading companies and talented researchers in the
domain of procedural audio who are porting their models to the GameSynth platform.

Note: If you need a specific model for your project, we can develop it especially for you. You
will be able to generate the sounds you want, with the parameters you need, and a custom
GUI, while still benefiting from all the advantages of the GameSynth framework.

www.tsugi-studio.com
Version 2021.1
25

Impact / Contact Model


The Impact / contact model lets you generate a large range of physics-oriented sounds
involving many materials, and that in many styles, from very realistic to cartoonish.

When you select the Impact model in GameSynth, its editor window opens. It is divided in
four main sections:

1 - the impact resonance


2 - the impact noise
3 - the surface generator
4 - the Sketch Pad

The diagram below shows how they connect together to create impact and contact sounds:

www.tsugi-studio.com
Version 2021.1
26

Sections 1 to 3 correspond to the different components that take part in the creation of
impacts / contacts sounds.

Impact Resonance

This first section lets you build the resonant part of the impact that happens when a solid
object made of metal or glass, wood etc… is hit and enters in resonance.

It is possible to precisely define the number and position of the resonant modes and
therefore the object material and its size.

The following parameters are available:

In the global tab:


Base Pitch: it is the lowest pitch possible for a resonant mode, corresponding to the left of
the graph.
Pitch Spread: it determines the pitch range for the modes, which is indeed between base
pitch and base pitch + pitch spread.
Global Damping: this is the overall damping of the impact resonance. When there is a very
low damping, the object will resonate longer. If the damping is high, there will be less
resonance.
Global Amplitude: this is the overall level of the impact resonance.
Impact Force: it represents the strength of the hit.

www.tsugi-studio.com
Version 2021.1
27

In the individual tab:


Mode Pitch Variation: this is the maximum amount of pitch variation of single modes each
time the patch is triggered.
Mode Amplitude Variation: this is the maximum amount of amplitude variation of single
modes each time the patch is triggered.
Mode Damping Variation: this is the maximum amount of damping variation of single
modes each time the patch is triggered.

In the modulation tab:


Modulation Amount: it is the amount of modulation applied to the pitch of the modes.
Modulation Rate: it is the rate of the pitch modulation applied to the modes.

Note: playing with the modulation can add some interesting or cartoonish feel to the sound.
It can simulate the sound of hits on half-empty containers, for example in plastic.

At the bottom of the graph displaying the modes, there is a series of buttons:

Randomize - Generate random modes. If no mode is present, it creates a random number of


modes, otherwise it only randomize the current modes (amplitude, frequency and damping).
Clear - Remove all modes
Left arrow - Shift the selected modes towards lower frequencies
Right arrow - Shift the selected modes towards higher frequencies
Up arrow - Increase the amplitude of the selected modes
Down arrow - Decrease the amplitude of the selected modes
Plus - Increase the damping of the selected nodes
Minus - Decrease the damping of the selected nodes
Space - Space the selected modes evenly between the lowest frequency and highest
frequency modes
Align - Assign the same amplitude to all the selected modes
Play - Playback the impact resonance

In addition to manual editing, it is also possible to extract the resonance of an existing sound.
Simply drag and drop a wave file onto the graph to recreate the modes automatically.

www.tsugi-studio.com
Version 2021.1
28

In that case the modes will appear grey and cannot be edited. The global parameters are
also slightly different.

Detune: this parameter adjust the tuning of the sound, between -1200 cents and +1200
cents.
Pitch Range: this parameter stretches or compresses the frequency range of the modes. It is
expressed as a percentage between 50% and 200% of the original pitch range.

The Global Damping and Global Amplitude parameters stay unchanged while there is no
Impact Force parameter. Also, please note that it is not possible to create contact sounds in
that mode.

To get good results, it is recommended to use single-impact files, for example sword hits.

Note concerning the run-time: complex resonant objects can require a large number of
modes. If you play many impact sounds at the same time, you may want to limit the
maximum number of modes in the model settings. Only the most relevant will be played to
reduce the CPU cost.

Presets

The user interface for the Impact / Contact model also offers a series of preset buttons. Each
time your press one these buttons, an impact sound with the corresponding material is
generated.

www.tsugi-studio.com
Version 2021.1
29

Currently, the presets are for resonant materials but other types of materials will be added.

Impact Noise

The Impact noise corresponds to the initial thump of the impact and simulates the non-
resonant part of the sound. If the object is only a little bit resonant or not resonant at all,
this part will provide the main sound generation.

The impact noise is actually composed of two different parts: the hard impact, built from
several band limited noise generators, and the soft impact, based on a granular noise.
Depending on the type of impact you want to design, it is possible to use both soft and hard
impact sound generators simultaneously, or just to choose one of them by setting the level
of the other one to zero.

In the case of the hard impact, you can add noise bands simply by double-clicking on the
graph, selecting the dot that appeared and moving it to modify the amplitude and central
frequency of the noise bands. Click on the dot while holding control and move the mouse
horizontally to adjust the bandwidth.

www.tsugi-studio.com
Version 2021.1
30

The following parameters are available to adjust the impact noise:

Hard Impact Level: it is the level of the hard impact noise section.
Soft Impact Level: it is the level of the soft impact noise section.
Soft Impact Density: it controls the richness of the soft impact noise.
Soft Impact Attenuation: if controls how muffled the soft impact is. With a high attenuation,
you can create impact sounds on carpets for example.
Impact Sample: this is the path to an optional - and typically short - wave file to play.
Sample Level: it is the level of the sample.
Sample Detune: it is the tuning in cents (up to +/- 1 octave) of the sample.

Impact Noise Duration: it is the duration of the impact noise (i.e. of its amplitude envelope).
It applies to both the soft and the hard impact generators.
Use at contact start: if this option is checked, the impact sound will be played at the
beginning of a contact sound.

Surface Generator

The surface generator allows the creation of a contact surface by using various algorithms.

For the moment 2 algorithms are available and it is planned to add more in future versions
of GameSynth.

The first algorithm creates bumps whose density can be chosen. The second algorithm is
used to create smoother surfaces (the level of roughness can be selected). It is more
adapted to smooth rolling / sliding effects.

In addition to their generative parameters, both algorithms offer a gain expressed in dB.

www.tsugi-studio.com
Version 2021.1
31

Sketch Pad

Like many GameSynth models, the Impact model provides a sketch pad. By drawing on it,
you can create contact sounds very intuitively. The material is determined by the settings in
the impact sections, and the type of contact comes from the surface selected. If you are
using a graphic tablet, the pressure applied to the stylus is taken into account.

As shown on the screenshot above, it is also possible to load a picture in the background of
the sketch pad. This offers the possibility to add macro-events to the contact sound while
the surface generator creates micro events.

To load a picture, double-click on one of the little squares at the top of the sketch pad. A
window will open to let you browse to the picture of your choice (in PNG or JPEG format). If
necessary, the picture will automatically be stretched to fit in the sketch pad.

You can load several pictures and click on the corresponding squares to switch from one to
the other. Once you have selected a background picture, you need to specify what color

www.tsugi-studio.com
Version 2021.1
32

component of the pixels will modulate the surface used for the contact sound (it is “None”
by default, which means that the picture has no effect on the sound yet).

Use the combo box located on the right of the picture boxes to choose a color component,
either in RGB or HSV to add that additional source of modulation:

Remember, the surface generator creates the surface at the micro level (i.e. related to the
surface material), whereas the picture on the sketch pad rather describes the surface at a
macro level (i.e. the objects, big asperities and so on…).

At the bottom of the sketch pad, there is a series of buttons and switches:

Randomize: replace the current strokes by new ones (the number of strokes is conserved).
Clear: remove all strokes.
Undo: remove the last stroke.
Redo: add a removed stroke again.
Script: open the C# scripting editor (see Annex 2).
Envelope: this switch decides if the envelope is actually applied to the sound. If the pressure
of the stylus is used to modulate the amplitude (see below), adding an extra envelope may
not always be necessary.
Pressure: this switch determines if the pressure applied on the stylus is used to scale the
volume of the sound. It only applies if you are using a pressure-sensitive tablet.
Pan: this switch determines whether the X position of the stroke will impact the position of
the sound in the stereo field.

On the right, buttons allow you to choose the color with which the strokes are drawn on the
sketch pad, and to load and save drawings.

www.tsugi-studio.com
Version 2021.1
33

Whoosh Model

The Whoosh model of GameSynth can be used to design many aerial types of sounds from
wind to sword whooshes and even cloth Foley.

The structure of this model is described below:

Movement

The trajectories drawn on the Sketch Pad will determine the movement whose speed and
position affects the overall pitch of sound. It is possible to adjust the tuning range in the top
and bottom-right corners of the Sketch Pad.

Contrarily to the Sketch Pad in the Impact / Contact model, it is possible to draw several
strokes. When the patch is played, a sound will be generated for each of them and the
resulting mix will be played. This allows for the creation of richer sounds.

www.tsugi-studio.com
Version 2021.1
34

On the right of the Sketch Pad, several stroke presets can be called that create interesting
movements for your whoosh sounds. If you hold the Ctrl key while clicking on the presets,
the Sketch Pad will not be cleared. This allows you to add several of them together or mix
them with strokes that have been drawn manually. The little arrows on the thumbnails
depict the direction in which the strokes are drawn.
At the bottom of the Sketch Pad, there is a series of buttons and switches:

Randomize: replace the current strokes by new ones (the number of strokes is conserved).
Clear: remove all strokes.
Undo: remove the last stroke.
Redo: add a removed stroke again.
Script: open the C# scripting editor (see Annex 2).
Envelope: this switch decides if the envelope is actually applied to the sound. If the pressure
of the stylus is used to modulate the amplitude (see below), adding an extra envelope may
not always be necessary.
Pressure: this switch determines if the pressure applied on the stylus is used to scale the
volume of the sound. It only applies if you are using a pressure-sensitive tablet.
Pan: this switch determines whether the X position of the stroke will impact the position of
the sound in the stereo field.

On the right, buttons allow you to choose the color with which the strokes are drawn on the
sketch pad, and to load and save drawings.

Sound Sources

The Sound Sources section is responsible for the sound generation. It is composed of 4
sound generators that are mixed together: deflectors, sample, drop tone and patch. Of
course, you may decide to use only one or two of them. Each sound source has its own level
slider to that effect.

Deflectors

The deflectors simulate where the air hits an object during a movement and therefore
creates a sound.

Deflectors are rendered by noise bands whose amplitude, central frequency and bandwidth
can be specified by the sound designer. This makes it possible to generate a large variety of
sounds, from the thin and slightly resonant sound of a twig moved quickly to the massive
whoosh produced by a large weapon slicing through the air or even a bullet bypass.

www.tsugi-studio.com
Version 2021.1
35

On the right of the graph, a list of presets is available, going from the smallest to the largest
objects, here represented by weapons of different sizes.

The following buttons are available under the graph to edit the deflectors:

Randomize - Generate random noise bands. If no bands are present, a random number of
bands will be created. Otherwise, the number of noise bands present will be conserved.
Clear - Remove all noise bands.
Left arrow - Shift the selected noise bands’ center towards lower frequencies.
Right arrow - Shift the selected noise bands’ center towards higher frequencies.
Up arrow - Increase the amplitude of the selected noise bands.
Down arrow – Decrease the amplitude of the selected noise bands.
Plus – Increase the bandwidth of the selected noise bands.
Minus - Decrease the bandwidth of the selected noise bands.
Space - Space the selected noise bands evenly between the lowest frequency and highest
frequency noise bands.
Align – Assign the same amplitude to all the selected noise bands.
Play – Playback the noise bands.

Sample

Instead of (or in addition to) synthesizing a sound from the deflectors, you can use an
existing sample as the sound source. This opens the door to a lot of creative uses of the
Whoosh model. To do this, simply select the “Sample” tab of the Sound Sources section and
click on the browse button to choose the wave file you want to use as a sound source.

www.tsugi-studio.com
Version 2021.1
36

Once the sample is selected, its spectrum will be displayed. A couple of options allow you to
play the sample in loop and/or in reverse.

It is also possible to specify if the sample should be pitched in real-time according to the
drawing movement on the Sketch Pad. For example, if you use the sample by itself to create
a whoosh, you probably want it to follow your movement. However, if it is just used as
another layer or as a “sweetener”, you may prefer to always play it as it was recorded.

Drop Tone

The next available sound source is a drop tone, useful to add more presence to the whoosh
by generating a time-varying low-frequency sine wave. The available parameters are its
starting and ending pitches, as well as an amplitude envelope and a pitch envelope.

www.tsugi-studio.com
Version 2021.1
37

Patch

The final Whoosh sound source is a patch. It can be any other GameSynth patch, which is
obviously very powerful and allows for very creative sound design. The Sketch Pad x-axis, y-
axis and pressure values can be sent to any meta-parameters of the patch to control it in
real-time while drawing.

Note: as it could quickly become quite CPU intensive (and noisy!) to play a patch for each
simultaneous stroke on the Sketch pad, the patch sound source is only active for the first
stroke.

Envelope

The envelope of the whoosh sound can either be edited manually using a multi-segment
linear envelope or imported from the analysis of an existing sample. To do this, simply select
the “Analyze sample” option and click on the browse button to choose the wave file you
want to extract the amplitude envelope from.

If you decide to create an envelope manually, you can set its duration in milliseconds. Then,
double-click on the graph to add a new point, double-click on a point to remove it, and
select a point and move it to adjust the curve. It is possible to select and then edit several
points simultaneously by drawing a rectangle around them with the mouse.

There is a series of buttons at the bottom of the envelope graph, as depicted below.

www.tsugi-studio.com
Version 2021.1
38

From left to right:

Randomize - Generate a random envelope. The envelope will have a random number of
points and can exhibit various degrees of smoothness.
Clear - Reinitialize the envelope with a single fading-out segment
Left arrow - Shift the selected envelope points towards the left
Right arrow - Shift the selected envelope points towards the right
Up arrow - Increase the amplitude of the selected envelope points
Down arrow - Decrease the amplitude of the selected envelope points
Space - Space the selected envelope points evenly
Align - Assign the same amplitude to the selected envelope points
Flip X – Flip the envelope horizontally
Flip Y – Flip the envelope vertically
Load - Load a previously saved envelope
Save - Save the current envelope
Play - Playback the Whoosh sound
Some useful envelope presets are available on the right of the graph. Simply click on the
shape that corresponds to the envelope you want to use. Even more are available via the
context menu displayed when right-clicking on the envelope.

LFO

At the end of the synthesis chain of the Whoosh model is a LFO that modulates the
amplitude of the sound. Four parameters are available to adjust the behavior of this LFO:

www.tsugi-studio.com
Version 2021.1
39

LFO Rate: rate of the LFO applied to the amplitude of the whoosh
LFO Amount: amount of LFO applied to the amplitude of the whoosh
LFO Delay: delay before the LFO comes into action
LFO Attack: fade-in time of the LFO. If set to 0 the LFO will start with the full amount of
modulation, otherwise, it will appear progressively

www.tsugi-studio.com
Version 2021.1
40

Variations

In this section, several variation percentages can be defined to randomize the sound each
time the patch is played. They work in conjunction with the main variation parameter that is
located on the right of the general playback button. This means that, for instance, if you
want the pitch range of the sound generated to vary, both the pitch range variation slider
and the main variation slider must have a value different than zero.

Duration: allowed amount of variation of the duration of the sound.

Deflectors: allowed amount of variation for the position, amplitude and bandwidth of the
noise bands corresponding to the deflectors.

Movement: allowed amount of variation for the strokes on the Sketch Pad.

Pitch range: allowed amount of variation of the perceived pitch of the whoosh.

Master

The master section of the Whoosh model offers several effects followed by a master gain.

Equalizer: The first effect is a 5-band graphic equalizer. Click on the graph to edit its
response curve.

www.tsugi-studio.com
Version 2021.1
41

You can click on the blue dots to adjust the parameters of the corresponding band: gain in
dB, center/cutoff frequency in Hz, Q factor, as well as the type of filter: bell, lowshelf,
highshelf, lowpass or highpass.

They can be adjusted with the sliders and controls under the graph, or directly by moving
the dot on the graph (for the gain and frequency). It is also possible to enable / disable a
filter by clicking on the numbered dot under the graph.

Finally, right-clicking on the graph gives access to the context menu, allowing you to reset
the curve or to call a preset.

Saturation: the second effect is saturator. This parameter lets you adjust the amount of
saturation applied to the sound generated.

Delay Time: The third effect is a delay. The time between the repetitions can be set with
this parameter.

Delay Feedback: the feedback of the delay, allowing for the creation of a denser effect.

Delay Dry/Wet Mix: the mix between the direct sound and the sound processed by the
delay.

Gain: the master gain applied after the effect section.

www.tsugi-studio.com
Version 2021.1
42

Retro Model
GameSynth’s Retro model allows the creation of old-style 8-bit sounds.

The model includes the typical synthesis components you would find in a subtractive
synthesizer, such as oscillators, filters, LFOs, envelopes etc… The oscillators are specifically
designed to reproduce the sounds of the 8-bit area and a bit-crusher effect is also added for
good measure.

www.tsugi-studio.com
Version 2021.1
43

Oscillators

The Retro model includes 2 oscillators. They offer 5 waveforms: pulse, saw, sine, triangle
and white noise whose pitch can be set precisely. The 2 oscillators can be combined in
different ways: “mix”, “ring” and “sync”. The mixing mode simply outputs the mix of the two
oscillators, an extra slider being available to adjust the balance between them. The “ring”
mode performs a ring modulation between the oscillators. Finally the “sync” mode
corresponds to a hard sync that allows for the creation of new wave shapes: each time
oscillator 2 reaches the end of its cycle, it resets oscillator 1 whose waveform is output.

Arpeggiator

An arpeggiator can be used to control the pitch of both oscillators simultaneously and
create short melodies or jingles by detuning them on semitone scale (from -24 semitones to
+24 semitones, i.e. from -2 octaves to +2 octaves). It is possible to draw the melody directly
with the mouse. The arpeggiator offers 3 modes: off, one-shot and looping. The number of
notes can be set from 2 to 16 as well as their duration, based both on a tempo (expressed in
bpm from 20 to 250) and a division (1 to 1/32th of a quarter note). Useful presets are
available from the context menu that appears when right-clicking on the arpeggiator display.

www.tsugi-studio.com
Version 2021.1
44

Filters

The output of the oscillator stage is passed through two filters connected in series (filter 1
followed by filter 2). The filters can be lowpass, highpass or bandpass. They can also be
disabled. They are second-order filters and their cutoff (or central) frequency as well as their
Q can be set. Their corresponding frequency response is displayed.

www.tsugi-studio.com
Version 2021.1
45

LFOs

Two LFOs (low frequency oscillators) are also available for modulation purposes. 7 classic
shapes can be selected: pulse, random, sample and hold, saw down, saw up, sine and
triangle. The rate of the LFOs, their phase, as well as an initial fade-in can all be set. The
resulting signal is displayed.

Envelopes

Two 4-segment envelopes are also available. The common duration of the envelopes (and
actually of the sound) can be set between 10 ms and 30 seconds.

The “Get from Arp” button sets the duration of the envelope to the exact duration needed
to play back the full arpeggiator motif (if activated). For example, if the tempo is set to 120
BPM and the division to 1/16th and if there are 8 notes, the duration will be 1 second.

Typical envelope shapes can be selected from the context menu that appears when right-
clicking on the envelope display.

www.tsugi-studio.com
Version 2021.1
46

Modulation Matrix

In the bottom-right corner, the modulation matrix lets you adjust the modulation amounts.
The modulators are listed vertically on the left (LFOs and envelopes) while the parameters
that can be modulated are listed horizontally on top of the matrix.

At the interaction of a row and column, you can set the modulation amount by clicking on a
cell and moving the mouse up and down. The lighter the color, the higher the modulation
amount (i.e. black = no modulation, white = full modulation).

In the example above, LFO2 modulates the global pitch greatly while LFO1 modulates the
filter more gently. The 3 top-left buttons let you randomize the modulation matrix, clear it,
and enable / disable random variations on it.

www.tsugi-studio.com
Version 2021.1
47

Sketch Pad

In the top-right corner of the Retro model user interface, the sketch pad offers another way
to modulate the parameters of a sound by using a mouse or a graphic tablet. In this case,
the sketch pad is “hard-wired” to modulate the pitch on the Y axis and the pan on the X axis.

At the bottom of the sketch pad, there is a series of buttons and switches:

Randomize: replace the current strokes by new ones (the number of strokes is conserved).
Clear: remove all strokes.
Undo: remove the last stroke.
Redo: add a removed stroke again.
Script: open the C# scripting editor (see Annex 2).
Envelope: this switch decides if the envelope is actually applied to the sound. If the pressure
of the stylus is used to modulate the amplitude (see below), adding an extra envelope may
not always be necessary.
Pressure: this switch determines if the pressure applied on the stylus is used to scale the
volume of the sound. It only applies if you are using a pressure-sensitive tablet.
Pan: this switch determines whether the X position of the stroke will impact the position of
the sound in the stereo field.

On the right side of the sketch pad, several presets are available to help you create
interesting modulations. You can also set the Y axis range in cents (the maximum range is
from -2400 to +2400 cents, which offers a modulation over 4 octaves). Finally, a last button
allows you to choose the color in which the strokes are drawn on the sketch pad.

www.tsugi-studio.com
Version 2021.1
48

Effects and gain

At the end of the signal chain is the main level as well as a simple saturator effect and a bit-
crusher that allow for the easy re-creation of old-school game sound effects.

www.tsugi-studio.com
Version 2021.1
49

Particles Model
The particles model of GameSynth allows the creation of sonic textures composed of many
small sounds. This is usually referred to as granular synthesis. It is in some way the
equivalent of particle systems for visual effects. Because of the sketch pad and the
possibility to draw sounds in GameSynth, we kept this analogy when designing the Particles
model and defining its parameters.

Emitter

The emitter is responsible for generating the particles. The pattern and rate at which it does
it depends on the parameters described below:

Shape: the shape of the emitter. It determines where the particles will be generated.
Several shapes are available:
- Point: the particles emanate from a single point located at the drawing position.
- Line: the particles emanate from a diagonal line whose length depends on the
emitter size.
- Circle: the particles emanate from the perimeter of a circle whose radius
depends on the emitter size.
- Square: the particles emanate from the perimeter of a square whose size
depends on the emitter size.
- Disc: the particles emanate from the area of a disc whose radius depends on the
emitter size.

www.tsugi-studio.com
Version 2021.1
50

- Plane: the particles emanate from the area of a plane whose size depends on
the emitter size.

Size: the size of the emitter. This is not taken into account when its shape is set to a point.

Rate: the rate at which the emitter generates particles, expressed in particles per second,
from 1.1 to 100.

Periodic: this option determines if the emission rate is periodic or if the interval between the
generations of two particles may vary. When the emission is periodic, the model can
simulate synchronous granular synthesis, otherwise it corresponds to asynchronous
granular synthesis.

Particles

The particles generated by the emitter are responsible for the playback of the sounds.

Lifetime: the lifetime of a particle determines the duration the single sound associated with
that particle. Since sound particles are usually short, it is expressed in ms, between 1 and
10000 ms.

Particles Speed: this is the initial speed of the particles that are generated.

Emission Angle: by default, particles are generated in a single direction, whose angle is
determined by this parameter. If you assign a random range, it will control the spread of the
emission around this angle. When the random range is set over the whole parameter range,
the particles can be emitted in any direction.

Movement Modulation: when enabled, this option allows the movement of an individual
particle (determined by the speed and angle parameters above) to affect its frequency / pan.

Sound

Start: the start parameter determines the starting position of the sound in the waveform.
It’s a value between 0 and 100.

Level: the level of a single particle, between 0 and 1.

Fading: the fading parameter determines the duration of the fade-in and fade-out applied
to the sound particle. It is expressed in ms between 0 and 100 ms.

www.tsugi-studio.com
Version 2021.1
51

Samples: The waveform of the particle is randomly selected among the samples specified in
this list. A weight is assigned to each wave file so it is possible to make it more probable that
some waveforms will be used compared to others.

The 4 buttons at the bottom can be used to respectively add more waveforms, remove the
selected waveforms, clear all waveforms, and reinitialize all the weights to the same value.

It is possible to use a lot of a small wave file or just a few ones (or even a single one) with
random playback starting position.

Each sample has a small playback button to check its content when assigning the weights.

Loop: if the lifetime of the particle is greater than the length of the associated wave file and
this option is selected, the sound playback jumps back to the beginning of the waveform.

Snap to Markers: if markers are detected in some or all the wave files selected, this option
will be enabled. If it is activated, the starting position of a grain will automatically snap to
the closest marker in the sample.

Pitch Scale: by default, no pitch scale is assigned to the frequency of the particles. However,
if you select a scale, such as Dorian, Pentatonic, Japanese etc., the frequency of the particles
will be constrained to that scale, allowing for more melodic effects (useful for example to
create magic spells).

Sketch Pad

X modulation: parameter modulated by the X position of the mouse / pencil / finger when
drawing on the sketch pad. By default, it is the pan, therefore the sound will follow the
movements you make on the sketch pad.

www.tsugi-studio.com
Version 2021.1
52

Y modulation: parameter modulated by the Y position of the mouse / pencil / finger when
drawing on the sketch pad. By default, it is the pitch, and it is possible to define the tuning
range between -2400 cents (- 2 octaves) and +2400 cents (+2 octaves).

Pressure modulation: parameter modulated by the pressure of the pencil / finger when
drawing on the sketch pad. By default, it is the amplitude, therefore the more your press on
a tablet or another pressure-sensitive controller, the louder the sound is.

You can set the modulation destination to “none” if you want some of the data coming from
the sketch pad to not affect the sound. Otherwise, the movements on the sketch pad can
modulate the amplitude, pitch, and pan of the sound of the particles, the rate of their
emission and their lifetime, the cutoff and resonance of the filter and dry / wet mix of the
delay. This is shown on the context menu below.

Please note that you can only assign a modulation destination once. For example, if you set
up the horizontal position to modulate the pan, you cannot select the pan as a destination
for the vertical position or the pressure anymore.

Effects

Filter Type: the type of the filter applied to the output of the granular synthesizer. It can be:
none, lowpass, highpass or bandpass. By default, it is set to none the filter is disabled.

Cutoff: the cutoff frequency of the filter from 10 Hz to 20000 Hz.

Resonance: the resonance of the filter, from 0.1 to 10.

LFO Rate: rate of the LFO applied to the amplitude of the sound

www.tsugi-studio.com
Version 2021.1
53

LFO Amount: amount of LFO applied to the amplitude of the sound

LFO Delay: delay before the LFO comes into action

LFO Attack: fade-in time of the LFO. If set to 0 the LFO will start with the full amount of
modulation, otherwise, it will appear progressively

Equalizer: this is a 5-band graphic equalizer that affects the overall sound of the particle
model.

Saturation: the second effect is saturator. This parameter lets you adjust the amount of
saturation applied to the sound generated.

Delay Time: The third effect is a delay. The time between the repetitions can be set with
this parameter.

Delay Feedback: the feedback of the delay, allowing for the creation of a denser effect.

Delay Dry/Wet Mix: the mix between the direct sound and the sound processed by the
delay.

Gain: this is the master gain of the model. When large numbers of sound particles are
played at the same time, you may want to adjust it to avoid clipping.

www.tsugi-studio.com
Version 2021.1
54

www.tsugi-studio.com
Version 2021.1
55

Footsteps Model
The footsteps model of GameSynth allows for the creation of realistic footsteps sound
effects made by different types of shoes and movements on various materials. You can
generate a single footstep by pressing play or create a full movement sequence by drawing
on the sketch pad.

The user interface of this model is divided in 3 vertical panels: the character’s panel on the
left, the surface panel in the center and the effects panel on the right.

The Character panel

The first section describes the movement of the character. It is possible to select between
walking, running, jumping and climbing up/ down the stairs. The speed of that movement as
well as the amount of scuffing can also be chosen.

www.tsugi-studio.com
Version 2021.1
56

The second section defines the body of the character: the type of the shoes, their size, and
the weight of the person.

Finally, the crowd section allows for the simulation of the movement of multiple persons
simultaneously. It is possible to select the number of persons, their proximity and the
amount of variation from one person to the other.

In conjunction with the assignment of random ranges, this allows for the creation of a large
palette of sounds, from crowds running disorderly in panic to army-like parades or even
herds of animals making their way through a grassy field.

The Surface panel

The surface panel is used to define the type of ground the character is evolving on and
therefore has a big impact on the resulting sound effect.

The simplest way to use the panel is to select a type of surface - ten of them are available,
from sand to gravel, metal, mud etc. - and to start drawing on the sketch pad, simulating the
movement of a person walking or running.

www.tsugi-studio.com
Version 2021.1
57

In this case, the ground is uniform and the sound will only change from one step to other
because of the other parameters.

It is also possible to analyze the colors of a picture to automatically trigger footsteps sound
effects on different surfaces. To display a picture in the background of the sketch pad, you
can either load one from disk, or generate a random map, using these 2 buttons:

Then you can associate a surface with one of the colors present in the picture. First, click on
the color picker above a surface and then click on the map.

The color of the pixel under the mouse is now associated with the selected surface. From
now on, every time you will draw over this color on the sketch pad, footsteps will be

www.tsugi-studio.com
Version 2021.1
58

generated using the right surface. You can associate colors from the map with all the
surfaces if you want, or simply with a few of them.

Of course, pictures can have thousands of colors and only ten of them can be associated to
surfaces. When you draw over a color which has not been associated to a surface,
GameSynth will use the surface whose associated color is the closest.

To remove the color associated with a surface, right-click on the color picker over that
surface and use the context menu that appears.

Note: you can use a map from an actual game level (heightmap or other). It will be exported
with the patch. You can then use the meta-parameters on the run-time side to change the
position on that map, automatically triggering the right footsteps sounds, based on the
materials depicted.

www.tsugi-studio.com
Version 2021.1
59

The Effects panel

The effects panel is mostly used to add a color to the environment with a graphical equalizer
and / or a reverberation unit. It also includes a ‘detune’ setting that can add some variation,
as well as a general gain for the model.

www.tsugi-studio.com
Version 2021.1
60

Voice FX

GameSynth includes a special model for VoiceFX, Tsugi’s technology for vocal processing.
VoiceFX makes it possible to easily create robot, alien or monster voices and to simulate
other effects such as radio transmissions or stadium announces.

Of course, since everything is done in GameSynth, you can add random ranges to most
parameter and also control them from the Sketch Pad!

Sound designers can build VoiceFX processing chains intuitively by stacking effect racks.
Among the effects available are: chorus, compressor / limiter, convolver, degrader, delay,
droid, graphic equalizer, filter, flanger, formant filter, gain, mixer, pitch shifter, reverb, ring
modulator, saturator and vocoder (depicted below).

www.tsugi-studio.com
Version 2021.1
61

The parameters of these effect racks can be modulated by two envelopes and two low
frequency oscillators (LFOs), and by the position and pressure on the Sketch Pad.

The audio file being processed can be analysed and its amplitude, pitch and noisiness curves
used as modulation sources as well, allowing for the creation of rich and evolving timbres.

Note: For detailed information about all the effect racks and features of VoiceFX, please
refer to the separate VoiceFX User Manual that has been installed with GameSynth.

www.tsugi-studio.com
Version 2021.1
62

Weather Model
The weather model of GameSynth allows for the realistic sound simulation of
meteorological phenomena such as rain, hail, wind and thunder. It is also possible to
generate the sound of the leaves in the wind.

Circular weather zones are created on the Sketch Pad. When drawing over them, the
corresponding weather phenomena are activated and generate audio.

The Weather Map

The central part of the model’s user interface is dedicated to the Sketch Pad and the
functions necessary to the editing of the weather zones.

Creating a new weather zone

To create a new weather zone, first select the type of meteorological phenomenon you
want to add and then click anywhere on the Sketch Pad to position its center.

www.tsugi-studio.com
Version 2021.1
63

Moving a weather zone

To move a weather zone, make sure that the edit mode is selected, click on the center of
the weather zone you want to move (where the pictogram is displayed) and drag it to its
new position. You can also move the selected weather zone by using keyboard shortcuts
(Ctrl + arrows).

Scaling a weather zone

In order to change the radius of a weather zone, make sure that the edit mode is selected,
click on the weather zone you want to resize (outside of the pictogram area) and drag the
mouse to adjust the radius. You can also increase / decrease the radius of the selected
weather zone by using keyboard shortcuts (Page Up / Page Down). The volume of a weather
zone is maximal when drawing in its center (where the pictogram is) and fades progressively
to silence at its circumference.

Note: if the weather zone you want to scale is entirely contained within another weather
zone, GameSynth has no way of knowing which zone’s radius to change. By default, it will
always scale the zone that is selected, if there is one. So, in that case, simply select the zone
to scale first by clicking on its pictogram.

Making a global weather zone

Sometimes it may be useful to have one of the weather elements (for example the wind)
always playing in the background, wherever you are on the weather map. In order to
achieve this, select the weather zone you want to make global. Its parameters are displayed,
and you can check the “Global (no radius)” option to assign the weather zone to the entire
weather map. Alternatively, you can press on the G key to switch a selected weather zone
between local and global. In order to differentiate them, the pictograms of global weather
zones have a dotted contour (as seen on the right side of the picture below). In addition,
since the radius of the zone is ignored, only the central pictogram is displayed.

Removing a weather zone

To remove a weather zone, select the edit mode, click on the zone to remove and press the
Delete key.

www.tsugi-studio.com
Version 2021.1
64

Selecting a weather zone

Weather zone are automatically selected when you click on them (and the parameters
associated with the zone appear on the left panel). But you can also use keyboard shortcuts
to quickly switch between weather zones. Press on the Z key to jump to the next weather
zone (whatever its type). You can also press on the R, W, H, T and L keys to jump to the next
Rain, Wind, Hail, Thunder and Leaves weather zone, respectively.

Creating a random weather map

It is possible to create a totally random weather map simply by clicking on the random
button located on top of the Sketch Pad (or by using the Ctrl + P keyboard shortcut). This
will generate a weather map containing 1 to 5 weather zones, each of them having a
random position and radius. The parameters associated with these zones are also
randomized.

Randomizing a weather zone

It is also possible to randomize the parameters of a single weather zone in order to quickly
try different settings. To do this, select the weather zone by clicking on its pictogram. The
parameters panel is displayed on the left and you can click on the Random button on the
top to randomize the parameters. Please note that, in order to not change your patch too
drastically, only the synthesis parameters are randomized: the center and radius of the
weather zone, its global flag and its main amplitude will stay unchanged. You can also access
this function by selecting a weather zone and pressing the P key.

The Weather Parameters

The left part of the user interface is where the parameter associated to a weather zone are
displayed. We will now describe the various types of meteorological phenomenon and their
parameters.

Hail

• Amplitude: overall amplitude of the weather zone (0 to 1).


• Shower amplitude: amplitude of the sound made by the hail shower (0 to 1).
• Shower density: simulate the number of ice pellets in the shower (0 to 1).
• Hailstone amplitude: amplitude of the sound made by the bigger hailstones (0 to 1).
• Hailstone rate: number of hailstones generated per second, expressed in Hz from 0.1
to 150 Hz.
• Ice pellet amplitude: amplitude of the sound made by the small ice pellets. (0 to 1).

www.tsugi-studio.com
Version 2021.1
65

• Ice pellet rate: number of ice pellets generated per second, expressed in Hz from 0.1
to 150 Hz.
• Tone: general tone of the ice pellets / hailstones (0 to 1).
• Inside/outside: simulate indoor / outdoor listening location (0 = inside to 1 = outside).
• Material: the surface on which the hail is falling; concrete, glass, grass, lake, metal,
plastic, umbrella, or wood.
• Global (no radius): ignore the radius of the weather zone and assign it to the whole
map.

Leaves

• Amplitude: overall amplitude of the weather zone (0 to 1).


• Wind speed: speed of the wind, which controls the amount of noise coming from the
leaves, expressed in km/h (from 0 to 50 km/h).
• Wind fluctuation: amount of change in the wind, which controls the amplitude
variations in the sound generated (0 to 1).
• Height in trees: height at which the leaves are located in the bushes / trees,
expressed in meters (from 1 to 20 m).
• Rustling: the amount of rustling of the leaves (0 to 1).
• Leafy: leafy property of the leaves (0 to 1).
• Tone: general tone of the sound produced (0 to 1).
• Large leaves: amount of large leaves in the bushes / trees (0 to 1).
• Small leaves: amount of small leaves in the bushes / trees (0 to 1).
• Close: amount of leaves in the vicinity (0 to 1).
• Far: amount of leaves in the distance (0 to 1).
• Global (no radius): ignore the radius of the weather zone and assign it to the whole
map.

Rain

• Amplitude: overall amplitude of the weather zone (0 to 1).


• Far shower distance: distance at which the far shower is located, expressed in
meters (from 500m to 1000m).
• Far shower density: density of the far shower (between 0 and 1).
• Far shower amplitude: level of the far shower (between 0 and 1).
• Close shower distance: distance at which the far shower is located, expressed in
meters (from 100m to 500m).
• Close shower density: density of the close shower (between 0 and 1).

www.tsugi-studio.com
Version 2021.1
66

• Close shower amplitude: level of the close shower (between 0 and 1).
• Heavy drip rate: rate of the heavy dripping in kHz (0.01 kHz to 10 kHz).
• Heavy drip amplitude: amplitude of the heavy dripping (from 0 to 1).
• Light drip rate: rate of the light dripping in kHz (0.01 kHz to 10 kHz).
• Light drip amplitude: amplitude of the light dripping (from 0 to 1).
• Close drip rate: rate of the close dripping in Hz (0.01 Hz to 2 Hz).
• Close drip amplitude: amplitude of the close dripping (from 0 to 1).
• Inside/outside: simulate indoor / outdoor listening location.
• Impact amplitude: level of the impacts on the surface selected (from 0 to 1).
• Material: the surface on which the rain is falling; concrete, glass, grass, lake, metal,
plastic, umbrella, or wood.
• Global (no radius): ignore the radius of the weather zone and assign it to the whole
map.

Thunder

• Amplitude: overall amplitude of the weather zone (between 0 and 1).


• Lightning amplitude: amplitude of the thunderclaps (between 0 and 1).
• Thunder amplitude: amplitude of the rolling thunder (between 0 and 1).
• Thunder delay: delay between the time of the thunderclap and the start of the
rolling thunder, expressed in seconds (from 0.01 s to 5 s)
• Lightning attack: defines the sharpness of the thunderclap (between 0 and 1).
• Discharge rate: rate at which the thunder occurs in Hz (from 0.01 Hz to 0.25 Hz).
• Distance: distance at which the thunder occurs, expressed in kilometers (from 0.2
km to 2 km).
• Tone: overall tone of the thunder (from 0 to 1).
• Rumble: amount of rumbling (from 0 to 1).
• Thunder duration: the duration of each thunder event, expressed in seconds (from 7
s to 20 s).
• Cloud density: density of the thunder (between 0 and 1).
• Global (no radius): ignore the radius of the weather zone and assign it to the whole
map.

Wind

• Amplitude: overall amplitude of the weather zone (0 to 1).


• Speed: speed of the wind expressed in km/h (from 0 to 200 km/h).
• Fluctuation: amount of variation in the wind speed (between 0 and 1).
• Day/Night: time at which the wind occurs (between 0 = day and 1 = night).

www.tsugi-studio.com
Version 2021.1
67

• Tornado diameter: adjust the size of the tornado in meters (between 0 and 1000 m).
• Whistle: adjust the whistling property of the wind (between 0 and 1).
• High: adjust the storm-like property of the wind (between 0 and 1).
• Mid: adjust the howling property of the wind (between 0 and 1).
• Low: adjust the rumbling property of the wind (between 0 and 1).
• Inside/outside: simulate indoor / outdoor listening location.
• Global (no radius): ignore the radius of the weather zone and assign it to the whole
map.

Control and modulation

In the Weather model, all the synthesis parameters can be controlled by automation curves
or meta-parameters, which gives a lot of flexibility to create evolving weather conditions.

In addition, the Sketch Pad inputs (X, Y or Pressure) can modulate most synthesis
parameters as well. All their modulation destinations can be seen on the picture below.

Most of the names of these modulation destinations are self-explanatory. However, please
note that some of these modulations will affect several parameters:

Rain showers amplitude and density: will affect both the rain’s far and close showers
parameters.

Rain dripping amplitude and rate: will affect the heavy, light and close dripping parameters.

Hail pellets amplitude and rate: will affect the hailstones and ice pellets parameters.

www.tsugi-studio.com
Version 2021.1
68

The Effects panel

The effects panel is mostly used to add a color to the environment with a graphical equalizer
and / or a reverberation unit. It also includes a general gain for the model.

www.tsugi-studio.com
Version 2021.1
69

Visual Patching

The visual patching system of GameSynth allows you to create your own procedural audio
models by connecting modules together with wires. 3 types of signals can be transmitted
through the wires: audio, control and logic.

Audio signals have values between -1.0 and +1.0 and can be sent to the audio output to be
played in the game. The plugs that input or output audio signals are green.

Control signals are used to update module parameters, for example the pitch or the
amplitude of an oscillator. Control plugs are blue.

Finally, logic signals can have a value of either 0 or 1. They are mostly used to trigger
modules. Logic plugs are red.

Note: For more detailed information about visual patching in GameSynth, please refer to
out additional manual: “Introduction to visual patching with GameSynth’s Modular
Model”.

Editing a patch

Adding modules: right-click on the work plane to make the context menu appear, select
“Add Module”, and then the module you want to add. The most commonly used modules
also have a keyboard shortcut assigned to them.

In addition, you can press the G, P, C, L and O keys to quickly access specific context menus
to add audio generators, audio processors, control modules, logic modules and outputs,
respectively.

Selecting modules: click on a module to select it or drag a rectangle around several modules
to select them simultaneously. You can also use the “Select All” command of the context
menu (or press Ctrl+A) to select all the modules currently on the work pane.

www.tsugi-studio.com
Version 2021.1
70

Removing modules: select the modules you want to delete and use the “Delete” command
of the context menu or press “Delete” on your keyboard. To remove all the modules, you
can also use the first button of the navigating bar in the top-left corner of the work pane.

Navigating:

First, let’s introduce the functions of the navigation bar in the top-left corner of the work
pane.

Clear
Zoom in
Zoom out
Center
Center and reset zoom

Zooming in and out: the mouse wheel can be used to zoom in and out. Alternatively, you
can also press on the Zoom In / Zoom out buttons of the navigation bar, or on the “Center
and reset zoom” button to come back to the default zoom level.

Center: to center the current patch in the middle of the work pane, use the “Center”
command of the context menu, or the “Center” button of the navigation bar, or press
“Home” on your keyboard.

Moving: to move the view of the patch, simply click somewhere on the patch while holding
control and start moving the mouse.

Connecting modules: to connect two modules together, click on an output of the source
module, move the mouse over the right input of the destination module and release the
button. Once you are close to the destination input, you can also press the Return key and
the wire will snap in place automatically. An output can be connected to several inputs.
However, you cannot connect two outputs to the same input, and you cannot add a wire
that would create a cycle or feedback loop.

Auto-connect: To speed up the patching process but also to help beginners design their first
modular patches, the “auto-connect” feature can be enabled (and later disabled if needed)
from the context menu. Once enabled, each time a new module is added to the patch, the
auto-connect feature will try to connect it to the existing modules. The auto-connect feature
will also automatically insert a module dropped on an existing wire or connect two modules
together after a third one that was connected between them is removed.

The new connections added by the auto-connect feature are based on the proximity
between modules, their type and function, as well as your patching history. For example, if
the auto-connect feature decided to connect an Envelope module to an Oscillator module, it

www.tsugi-studio.com
Version 2021.1
71

will check your patching history to determine on what specific plug. If you usually modulate
the amplitude or the pitch of the oscillator, it will connect the wire to the corresponding
plug.

Of course, the auto-connect feature cannot always guess what you want to do, especially
when working on complex patches or using advanced patching tricks (such as looping a
short control signal and using it as an oscillator). However, in most cases, it will improve
your patching experience.

Disconnecting modules: you can disconnect a module by right-clicking on the plug of


interest and selecting the right option in the contact menu that appears.

Organizing modules: to improve the appearance of the patch on the work pane, it is possible
to align the selected modules or to space them out evenly. To do this, select the
corresponding command in the context menu that appears when right-clicking of the work
pane.

Bypassing modules: it is also possible to enable / disable modules through the context menu.

Matching modules durations: when several generator modules are present, it may be
necessary to set them to the same duration. As this could quickly become cumbersome, the
“Match Durations” function from the context menu can be used. It will work on any type of
generator module that has a “Duration” parameter.

Replacing modules: select the module you want to replace and use the “Replace” command
of the context menu. A submenu will appear, allowing you to select a module of the same
type (generator, processor, control, logic, or output). Once the replacement module
selected, it will be inserted in the patch in place of the original module. The function will
also attempt to reconnect the wires that were attached to the plugs of the original module.
If the new module possesses plugs with the same names and types (audio, control, or logic)
than the original module, the same connections will be automatically done. If not, the first
plug of the same type will be used instead. This function is especially useful when
experimenting with different audio generators or processors while you are designing your
patch.

Importing/exporting group of modules: to speed up patching, groups of modules can be


saved and later reused in other patches. Simply select the modules of interest and call the
“Export modules” function of the context menu. When using the “Import modules” function,
you can either browse for a file you previously saved or insert one of the functional blocks
provided by GameSynth, which are directly available in the submenu. For instance, there are
blocks to control the mix of a stereo patch or to dynamically simulate the distance between
a sound and a listener.

www.tsugi-studio.com
Version 2021.1
72

When exporting blocks of modules, any meta-parameter, automation curve or event


referenced by the modules will be saved along and later added to a patch during import
(unless the maximum number of objects has been reached).

If a block containing an audio output is imported and the current patch already contains an
audio output module, the tool will let you pick what output to keep.

The module window

The module parameters can be displayed and edited either on a panel on the right of the
patching area or in a floating window. This can be selected in the Settings Window. In both
cases, a title bar at the top of the module and a tool bar at the bottom will help you edit
your module parameters faster.

The title bar displays the name of the module (i.e., the module type and a numerical suffix).
The following 3 buttons are also available:

- Enable / Disable: this button has the same effect than the Enable/Disable
function of the context menu and basically allows you to bypass the module.
- Help: this button opens the integrated documentation next to the module,
allowing you to learn what the module is doing, and what are its inputs, outputs,
and parameters.
- Close: this button allows you to close the module’s window (it is not available in
the panel mode). You can also close a module window by pressing Escape.

www.tsugi-studio.com
Version 2021.1
73

At the bottom of the module window, the tool bar offers several useful functions:

- Reset: this button resets all parameters to their default values. The module
parameters will be exactly the same than if you had just created the module.

- Random: this button sets random values to all the parameters, from a single
checkbox or slider to a full envelope, EQ curve etc. Exceptions are C# files for the
Script module, drawings for the Sketch Pad module, and patches from the Patch
Player module. In the case of samples, they are randomly picked from the audio
assets default folder specified in the Settings window.

- Ranges: this button assign random ranges to all the parameters having sliders.

- Copy: this button copies all the parameters of the current module into memory.
Once it is done, the Paste buttons in all modules of the same type will be enabled.
Please note that GameSynth simultaneously keeps one set of parameter values
in memory for each type of module. For instance, you can copy the parameter
values of an Oscillator and next copy the parameter values of an Envelope, then
click on paste on another Envelope module and click again on paste on another
Oscillator module: all parameter values will be pasted correctly. You can think
about it as a scratch pad for each type of module.

- Paste: this is the button which actually assigns the copied values from the source
module to the target module.

About triggering and polyphony

Some modules have a trigger input. If a wire is connected to that input, when a signal with a
value of “1’ is received, the module will start its processing (if no wire is connected to the
input, then the module will automatically start its processing at the beginning of the sound,
which also simplifies the patching).

The signal can be of the logic type but can also come from a control plug (or even an audio
plug). In that case, whenever the signal’s value is one, the module processing will be
retriggered. For example, this means that you can use a LFO module to trigger an audio
generator periodically.

This also means that an audio generator could be retriggered before it has finished playing a
sound, which implies a polyphonic behavior. Some audio generators are indeed polyphonic
while others are monophonic, in which case the previous sound is simply stopped and a new
one is started.

www.tsugi-studio.com
Version 2021.1
74

A polyphonic module has an extra “polyphony” section below its regular parameters. There,
you can set the maximum number of sounds that can be played simultaneously by that
module and also what happens when that limit is reached. There are two options: priority to
the oldest sound (the new trigger is ignored), or to the newest one (the oldest sound is
stopped and a new one is started).

About never-ending patches

Some modules, such as Oscillator or Noise, allow for the generation of infinite signals. This is
also true for other modules that have a looping option (e.g., Enveloper, Sequencer, Sample
Player). This means that once you start the playback, the patch will play infinitely. It will not
stop automatically, and you will have to press the “Stop” button manually. When
GameSynth detects that a patch will be playing infinitely, a small “Infinity” symbol is
displayed on the “Stop” button, to show that it is not a lengthy patch, but actually an infinite
one.

The modules which have an infinite duration have also the same symbol displayed in their
right-top corner. This way, if a patch is playing infinitely, you can quickly find out why.

Note that if you try to export or render wave files from an infinite patch, GameSynth will ask
you the duration of the sound you want to generate.

www.tsugi-studio.com
Version 2021.1
75

Adding annotations

In addition to the modules, it is also possible to add notes to a patch. It is especially useful to
make larger patches more readable, for example by labeling their different sections, or in an
educational setting. To add a note, simply select the “Add note” command from the context
menu. A window will appear, allowing you to type the text of the note, and select its font
size as well as its color. To edit an existing note, double-click on it.

www.tsugi-studio.com
Version 2021.1
76

Audio Generators

Animal: this module generates a signal that can be used as a source for the vocalizations of
various animals or monsters.

Beam: this module generates a rich signal, created by summing 2 saw oscillators and having
the result modulate the frequency of a sine wave.

Blip: this module generates a short tonal sound using FM synthesis. It can be used as a basis
for UI sounds for example.

Bubble: It is a polyphonic module that implements the physical model for a bubble. In
conjunction with an event generator and some control signals, it can be used to generate
various water-based sounds such as rain, river etc...

Bullet Casing: this module simulates the sounds of various types of cartridges being ejected
and dropping on the ground.

Chaos: this module synthesizes a wide range of sounds from FM-like tones to noises by
using cross-coupled oscillators.

Chirp: this module generates short noisy bursts. It is a polyphonic module. It can be used for
example to generate sparks-like sounds.

Clang: this module generates the sound of metal-on-metal impacts.

Creature: this module generates vocalizations that can be used as the basis of many animal
or monster sounds.

DTMF: this module generates dual-tone multi-frequency signals such as those used in
telecommunications.

Electricity: this module generates an audio output that sounds like an electric arc.

Fire: this module synthesizes fire sounds. The amounts of crackles, hiss and flames can be
controlled.

Flag: this module generates the sound of a flag in the wind and can also be used to simulate
cloth Foley.

Footsteps: this module generates footsteps sounds for different type of shoes and
movements.

Fracture: this module generates the sound of various materials under stress.

Friction: this module simulates contacts between two objects.

www.tsugi-studio.com
Version 2021.1
77

Gear: this module simulates the sound of moving gears.

Glottis: this module generates a glottis-like audio signal that can then be filtered to create
mammal-like vocalizations.

Goo: this module generates sounds giving a viscous feeling. It can be used for slime,
monster, blade wounds but also for gurgling water etc.

Granular Noise: this module provides a very cheap (CPU-wise) way to generate noisy sounds
that seem to be composed of various elements or grains.

Granular Player: it is a polyphonic module that can play a sample (or part of a sample)
selected randomly among several. Tuning, amplitude, as well as starting point and duration
of the playback can be controlled. It can therefore be used as a granular generator as well.

Gun Foley: this module generates the sounds of various gun elements and / or actions such
as inserting and removing clip, reloading etc.

Gunshot: this module simulates the firing of various types of guns.

Hail: this module generates the sound of hail falling on various surfaces.

Impact: this module generates noisy impacts based on resonant modes.

Leaves: this module simulates the sound made by tree leaves and bushes in windy weather.

Machine: this module simulates the sound of heavy machinery.

Mega Saw: this module generates a rich signal by mixing the output of several detuned saw
oscillators.

Modes: this module makes it possible to generate resonating sounds using modal synthesis
(it is similar to the impact resonance section of the impact model).

Motor: this module generates the noise made by a small motor (servo).

Noise: this module generates a band-limited noise. To achieve this, a white noise is filtered
by a lowpass and a highpass filters.

Noise Bands: this module mixes several fluctuating noise bands.

Oscillator: this is a typical oscillator with several waveforms and controllable amplitude and
pitch.

Patch Player: this module makes it possible to play another GameSynth patch from the
current patch, therefore allowing the creation of more complex audio systems.

www.tsugi-studio.com
Version 2021.1
78

Plucked String: this module simulates the sound of a plucked string using the Karplus-Strong
algorithm.

Rain: this module generates the sound of the rain (distant and close showers, drips) falling
on various surfaces.

Rocks: this module generate the sounds of rocks of various dimensions. When the size is
small it can used for debris, when it is larger it can be used for massive rolling stones etc.

Sample Player: it is a basic polyphonic sample playback module that allows the sample’s
level and pitch to be adjusted. It can also be looped.

Script: this module allows the user to write a C# script that will generate an audio signal.

Sine Bank: this module performs additive synthesis with 64 wave sine oscillators.

Steam: this module simulates the sound of the release of air under pressure.

Thunder: this module simulates the sound of the thunder (rumble and thunderclaps).

Wavetable: this module plays back sample data while allowing a signal to control the
reading position.

Wind: this module generates the sound of the wind, from gentle breeze to tornado.

Audio Processors

Allpass Filter: a typical allpass filter with feedback and order settings.

Biquad Filter: a typical biquad filter that can be configured in lowpass, highpass or bandpass
mode. The cutoff (or central) frequency and the Q factor can be adjusted.

Cabinet: a module based on a 3D waveguide.

Chorus: a chorus module that combines several delayed voices.

Clipper: a hard clipper with a selectable threshold.

Comb Filter: a typical comb filter, with feedforward and feedback modes.

Compressor: a simple compressor module.

Convolver: this module performs a convolution between two audio signals.

Cross Synthesis: the cross-synthesis module uses a carrier signal and a modulator signal.
Both are analyzed with a FFT and the spectral envelope of the modulator is applied to the
frequencies present in the carrier signal.

www.tsugi-studio.com
Version 2021.1
79

Degrader: this module degrades the quality of the input signal by decimation and
quantification, simulating both a lower sampling rate and a lower bit-depth.

Delay: a simple delay effect.

Doppler: a module that simulates pitch changes due to the relative speeds of a sound source
and a listener.

Env Follower: a module that creates a control signal from the amplitude of an audio signal.

EQ 3 bands: a typical 3-band EQ with low, mid, and high sections.

EQ 5 bands: a 5-band graphic equalizer.

EQ filter: an typical EQ filter with Lowpass, Highpass, Bandpass and Bell modes, and slopes
of 12 dB, 24 dB or 36 dB.

Flanger: a flanger module, similar to the chorus but with shorter delays and feedback.

Formant Filter: a filter that can emphasize several frequencies (formants) corresponding to
the sound of vowels. A morphing parameter allows the interpolation between two sets
formants.

Frequency Shifter: this module implements a typical frequency shifter.

Gain: a simple gain module that scales an input signal by a value that can be controlled in
real-time.

Ladder Filter: a 24 dB lowpass resonant filter similar to the Moog ladder filter.

Limiter: a typical limiter module with lookahead.

LMS Filter: this is a Least Mean Square adaptive filter.

Looper: loops the input signal for a given duration and number of times (which can both be
modulated).

Mixer: can mix up to 4 audio signals with user-defined gains. If more inputs are needed,
simply create a cascade of Mixer modules.

Noise Gate: a typical noise gate effect.

Panner: a module that distributes the input signal between its two outputs.

Pitch Shifter: this module modifies the pitch of the incoming signal. If the input is a vocal
signal, an option can be used to preserve the formants positions.

www.tsugi-studio.com
Version 2021.1
80

Rectifier: this module can simulate a half-wave or full-wave rectifier. In the first case, signal
values below 0 are set to 0. In the second case, they are mirrored over 0 (this corresponds
to taking the absolute value of the signal).

Repeater: a module that repeats the input signal in its entirety for a given number of times.
Contrarily to the Looper, the loop’s duration is not set in seconds but depends on the
duration of the input signal.

Resonator: a module that adds resonances to the input signal.

Reverb: a simple algorithmic reverberation effect. It is not intended to recreate vast


reverberant spaces by using impulses and convolution, but rather to enrich a local signal at a
low CPU cost.

Ring Modulator: the ring modulator multiplies the input signal by an oscillator.

Saturator: this module adds saturation to the input signal. Various modes are available.

Spectral Delay: a module to delay the frequency bands of a signal independently. For each
band, the level, delay, and feedback can be adjusted.

Spectral Splitter: a module that separates the input signal in 4 bands.

Threshold: a module that triggers a logic output based on the level of the input signal.

Time Shifter: a module that delays the signals that enters it by a given amount of time. It can
be useful for audio, control, and logic signals.

Transients: a module that detects and amplify transients in a signal.

Tube: a module based on a 1D waveguide.

Vocoder: this module simulates a vocoder whose number of bands can be selected. The
level of each band can be adjusted. The vocoder has an internal oscillator and a built-in
noise generator that can be combined to create the carrier signal, as well as an input for an
external carrier signal.

Control Generators

ADSR: generate an ADSR envelope whose segments durations can be randomized.

Arithmetic: perform additions, subtractions, multiplications and divisions of signals. If a


division by 0 occurs, the result will be changed to 0.

Arpeggiator: generate looping step sequences that can be used as control signals.

www.tsugi-studio.com
Version 2021.1
81

Automation Curve: allow the connection of an automation curve to the patch.

Constant: generate a constant value (e.g. for use with Arithmetic or Comparator modules).

CSV Data: generate control signals from the values in the columns of a CSV file. Useful for
example for sonification of data.

Curve: generate a control curve. A control curve is based on the analysis of an existing
sample, which allows for more realistic-sounding patches. The analysis can return the
amplitude envelope, the pitch envelope, the entropy, or the noisiness curves of the sample.
To create a curve from scratch, use the Envelope module. The duration of the curve can be
stretched or compressed, and the curve can be looped.

Derivatives: generate speed and acceleration curves from an input signal.

Envelope: generate a multi-segment control envelope. The duration of the envelope can be
specified, and it can be looped.

Evolver: generate an always-evolving control signal. The rate and the range of the signal
modifications, as well as its starting value, can be set. The Evolver can be used for example
to simulate natural sounds such as rain, wind etc… with a minimal number of modules.

Lerp: this is a linear interpolator module.

LFO: generate a periodic low frequency signal that can be used to control parameters. Its
amplitude, frequency, waveform and attack can be set.

Mapper: a module that maps the values of a control signal based on a mathematical
function or a user-drawn curve.

Meta-Parameter: allow the connection of a meta-parameter to the patch in order to control


it in real-time from the game.

Perlin Noise: a Perlin noise generator used to create pseudo-random control signals.

Scale Offset: allow to scale and to add an offset to a (control) signal.

Sketch Pad: this module allows you to draw control signals with the mouse or a graphic
tablet. The position, pressure and timing of the drawing are taken into account.

Smooth: a module similar to a filter but designed specifically to smooth control signals.

Steps: generate control signals composed of ascending and descending steps, with an
optional glide between them.

Tempo: a module that detects beats.

www.tsugi-studio.com
Version 2021.1
82

Logic Modules

Clock: periodically triggers a logic signal.

Comparator: can perform various tests between two control signals and generate a trigger
signal if a test result is true.

Distribution: generate trigger signals randomly, given an average periodicity.

Divider: discard some of the incoming trigger signals, based on a ratio or a time window.

Gait: generate human / animal / monster walking cycles. Ideal to trigger a Footsteps module
or a Clang module to simulate robots.

Logic Gate: simulate various types of logic gates: AND, OR, XOR, NOT, NAND, NOR and NXOR.
Although this is obviously aimed at logic signals, you can also connect control and audio
signals. Please note that: value of the signal = 1 -> true, otherwise -> 0.

Pattern: this module allows for the generation of rhythmic sequences by triggering several
logic outputs based on a pattern.

Retrigger: a module that sends several delayed trigger signals for each one it receives.

Selector: it is the equivalent of a multiplexer: it selects a signal coming from one of its inputs
and passes it to its single output. Each time its trigger input is activated, a new input signal is
selected based on the selection mode: sequential, random, random-no-repeat or shuffle.

Sequencer: play back a sequence of triggers with associated control values. In addition to
precise manual editing, it is possible to use functions to generate specific types of patterns,
or to extract the timing of the events by analyzing an audio file.

Switch: it is essentially a de-multiplexer. Each time the single input of this module is
activated, one of its outputs is also activated, based on the selected mode: sequential,
random, random-no-repeat or shuffle.

Transitions: this module triggers outputs based on its logic inputs and probabilities.

Outputs

Event: triggers a procedural audio event that can be received by the game engine. The event
must first be created in the patch information panel and then selected in this module. It is
possible to pass a value with the event.

Mono: simple mono audio output with an extra gain parameter.

Stereo: simple stereo audio output with an extra gain parameter.

www.tsugi-studio.com
Version 2021.1
83

Creating Random Patches

A special command from the model’s context menu lets you jumpstart your creativity.
Indeed, by selecting “Create random patch”, a brand new patch is generated from scratch.

Sound generators, event generators, audio processors, logic modules and an output are
automatically connected in a way that makes sense and with parameters that will create an
interesting sound.

All types of parameters are randomly assigned a value (this also includes envelopes, list of
events, modes and so on). In the case of sample parameters (for example in the Sample
Player and in the Granular Player modules), wave files are randomly selected from the
folder specified as the “Default Audio Assets Path” in the Settings window, or from one of its
subfolders.

You can also create your own patch but apply a random range to all the parameters
automatically by using the “Add random ranges” function of the context menu. Conversely,
you can remove all random ranges from a patch by using the “Clear random ranges”
function from the context menu.

Analyzing / Debugging Modular Patches

The last button of the navigation bar (in the top-left corner of the work pane) is a bit
different: it enables / disables the signal analyzer.

Once enabled, the signal analyzer panel appears at the bottom-right of the screen.

www.tsugi-studio.com
Version 2021.1
84

Any output plug of any module can be connected to one of the two inputs of the signal
analyzer. For each input signal, the analyzer will display a vu-meter as well as a waveform or
spectrum, all updated in real-time while the patch is playing.

You can switch between the waveform and spectrum representations by clicking on the
graph. Similarly, you can click on the vu-meter to switch between different scales to display
the level. The vu-meter also has a clipping indicator.

The analyzer can be used in different ways to debug or improve your patches. For example:

- You can connect the same signal to both inputs of the analyzer to check the
generated waveform and its spectrum simultaneously.
- You can also connect different signals and chose the same representation to
compare them (for example to check spectral changes before and after an audio
processor).
- Of course, nothing prevents you to connect a logic signal to see when events are
triggered or a control signal to check how it is evolving in time.

If you simply want to give a quick look at the signals going through the wires, you can also
move the mouse over them during playback. The cursor will then switch to a magnifier, and
you will be able to check the waveform of the signal.

www.tsugi-studio.com
Version 2021.1
85

Note that if you need to check the shape of a signal right away, it is more convenient to first
position your mouse on the correct wire and then start the playback with the space bar,
rather than pressing the play button and then moving the mouse to the right position, which
takes time and will make you miss the attack of the sound.

Getting help

If you need to check this manual while patching, you can access it directly from the context
menu of the Modular model: select “Open Modular documentation”.

The Modular model also includes a contextual documentation. It provides detailed


information about the modules, identical to what is in the reference section of this manual.

To access the integrated documentation, click on the interrogation mark located in the top-
right corner of the module’s parameter window.

Information about the way to use the module will appear, followed by the detailed
description of its inputs, outputs, and parameters. Inputs and Outputs names are color-
coded to reflect their type.

www.tsugi-studio.com
Version 2021.1
86

You can also access the module’s documentation by right-clicking on the module and
selecting the “Read about module” command from the context menu.

Patch Examples

To conclude, here are a couple of patches. The first example is a very simple footstep patch
that sounds like someone walking on gravel.

The second example is a compete patch simulating an electric arc with sparks.

www.tsugi-studio.com
Version 2021.1
87

As you can see, these patches are a lot easier to understand (and faster to build) than
similar patches in other audio-visual scripting systems.

Of course, you can still build complex systems if you wish to do so! This last patch recreates
the sound of a spaceship engine starting up and then failing.

www.tsugi-studio.com
Version 2021.1
88

Partner Models
GameSynth is more than Tsugi’s procedural audio middleware. It is an open platform for
procedural audio. We are currently working with several leading companies and researchers
in the domain of procedural audio.

SDL’s ESS

SDL, founded by a former engineer from Yamaha Motors in Japan, have provided
their exceptionally realistic vehicle engine synthesis, going much farther than the current
granular-based methods, with many types of models available from sedan to Formula 1 and
from motorcycle to heavy truck.

The Engine Sound Simulator (ESS) from SDL is now powering the new GameSynth “Engines”
plug-in, a fully-controllable, physically accurate procedural audio model for vehicle engines.

www.tsugi-studio.com
Version 2021.1
89

Full integration

Third-party plug-ins can integrate seamlessly with the GameSynth tool and run-time API.
Like Tsugi’s own models, they support GameSynth’s key concepts such as automatic random
variations, meta-parameters, automation curves or procedural audio events.

Want to develop a plug-in? Contact us!

We are currently working with several talented procedural audio companies and
researchers and will soon announce other exciting partnerships.

If you are interested in porting your existing procedural audio models or developing new
ones for GameSynth, don’t hesitate to contact us at gamesynth@tsugi-studio.com.

www.tsugi-studio.com
Version 2021.1
90

Integration
GameSynth is a procedural audio middleware that offers 3 levels of integration:

As a sound design tool

GameSynth can be used as a powerful sound design tool and the sounds you create (and
possibly variations) are in that case rendered as audio files that can be used in other
software, such as DAWs, video editing programs and so on...

To save the sounds, use the “Render” button of the command panel. In the window that
appears, you can select the name of the file(s) to save, their audio format, and whether you
want to generate variations.

File names

The audio file name is built from a base name and an optional numerical suffix (in case you
generate variations). It is also possible to make it UCS-compatible. In that case, the UCS
CatID (based on the patch’s category and subcategory) will prefix the file name. The UCS
AuthorID (coming from the patch and defined in the Settings window) and SourceID (which
can be entered here as the project name) can also be added at the end of the file name. If
you are not familiar with the Universal Category System (UCS), you can find more
information on this web site: https://universalcategorysystem.com. As there are many
variables, a preview of the final file name is displayed.

www.tsugi-studio.com
Version 2021.1
91

Audio Format

In the Audio Format section, you can select the type of audio file to save (Wave, Mp3, Ogg,
Aiff, or Flac). You can also choose the number of channels (mono or stereo), and the bit
depth (8, 16, 24 or 32-bit), or bit rate in the case of Mp3 and Ogg files.

Variations

If you want to save a single sound (which is the default setting), simply press “Render”. If
you want to generate variations, first enter the number of files you want to create, then the
starting index for the name’s suffix, as well as the amount of variation allowed. Once you
press Render and select a folder, GameSynth will generate all the sound variations
automatically!

If the “Show in folder” option is selected, the destination folder will be open in Windows
once the process is over. If the patch is playing infinitely, for example because it is looping or
a module from the Modular model has an infinite duration, GameSynth will ask you to enter
the duration of the sound to generate.

www.tsugi-studio.com
Version 2021.1
92

If you are using Reaper from Cockos as your DAW, you can export the generated wave files
and their variations directly into your .RPP project. In order to do this, select Reaper as the
target in the Export window instead of using the Render function.

After selecting the .RPP file, you will be able to configure how the samples are added to the
project (on one or more tracks, existing or new etc.). The position and offset settings will
give you extra flexibility. For example, by choosing “All sounds on one track” for the location,
“After sound end” for the offset mode and an offset of 1 second, you can have all the
sounds inserted on a single track with a 1-second silence between them.

www.tsugi-studio.com
Version 2021.1
93

As an asset creator for game audio middleware

GameSynth can also export sounds and variations directly to your game audio middleware
(ADX2, FMOD Studio or Wwise). In that case, in addition to the number of files, the base
name, the starting index and the amount of variation, you will have to specify your
destination project.

For example, this will be a .wproj file for Wwise. As depicted below, you can then choose
the work unit, the name of the container to create, its type as well as some default
parameters for the voices.

This example shows how you could generate 10 impact sounds with a variation of 15% and
export them in a random container called “Impact” within the “Physics” work unit in just
one click. All the objects needed would be created automatically in the Wwise project and
the new wave files would be imported as well.

The same thing could be done with an ADX2 or an FMOD Studio, with all the cues and the
multisound events automatically created.

www.tsugi-studio.com
Version 2021.1
94

It is also possible to export the generated sounds to a Unity project. In that case, one of the
asset folders of the project must be specified and the settings can be adjusted as needed.
The audio files will be copied into the asset folder, and the corresponding .meta files will be
generated with the right parameters.

In addition, GameSynth can generate a C# script that will implement the playback of the
sounds. This script can be used as a starting point and customized based on the actual
requirements of your game. However, it already allows some interesting behaviours. For
example, if you generate several sounds, it will be possible to specify how they will be
selected during playback. Three modes are available: sequential, shuffle (i.e. random with
no repetitions) and totally random. In addition, the playback volume and pitch can be
randomized, as shown on the next picture.

www.tsugi-studio.com
Version 2021.1
95

The playback is triggered by calling the PlaySFX() function of the script. An audio source
object is created each time a sound is started. These audio sources are automatically
destroyed when the sound has finished playing.

However, if you want to play a large number of sounds, it is recommended to create a pool
of audio sources and reuse them, while adding instances limiting to the script.

In the case of looping sounds, the StopLoops() function of the script must be called to
actually destroy the sound sources.

Finally, if you are using Cocos2d as your game middleware you can also select it as the
export target. You will be able to add the samples generated by GameSynth as audio assets
to your project.

If needed, you can also select a scene from your Cocos2d game and GameSynth will
automatically create Nodes and add Audio Source components to them. The settings - such
as volume, preloading, downloading mode etc. - can also be configured.

www.tsugi-studio.com
Version 2021.1
96

www.tsugi-studio.com
Version 2021.1
97

As a complete game audio middleware

Finally, GameSynth can be used as a full game audio middleware. Using the “Bank” button
of the command panel, you can organize several patches into a bank that can be exported
towards the game as a binary data file. It will be accompanied by a header file containing
the definitions for the patches as well as their meta-parameters, automation curves and
events. The game programmer can refer to the IDs in that file to start and update
GameSynth patches at run-time.

At run-time, GameSynth generates PCM buffers based on the patches settings and the input
from the game. These buffers can be passed directly to the audio library of the game
platform or to a voice created by a third party game audio middleware.

In this third scenario, GameSynth truly becomes a procedural audio middleware, allowing
for a lot of variation and interactivity for your sounds and saving memory at run-time.

The Bank window is shown above. Each row corresponds to a patch. At the moment,
patches must first be saved on disk and then added to the bank. It is also possible to drag
and drop them from Windows Explorer.

www.tsugi-studio.com
Version 2021.1
98

Each row of the bank displays the model of the patch, its name, the list of automation
curves, meta-parameters and events it contains, as well as the memory footprint of the
patch data. By clicking on the column headers, it is possible to sort the patches by model,
name or memory cost. By double-clicking on the name of a patch, this patch will be loaded.

The total number of patches in the bank and total memory footprint are displayed at the
top of the bank window.

The bank can be saved and reloaded as an XML file that references the patch files. To export
it to the game, first select the target platform using the combo box and press the “Export”
button. Two files will be generated: a .gsbin file for the binary bank itself and a .h header
with the IDs for the patches, their meta-parameters, automation curves and events.

www.tsugi-studio.com
Version 2021.1
99

Settings
The Settings window lets you configure the general properties of GameSynth.

Default Patch Path: this is the path of the folder into which GameSynth will look for patch
files (extension .gspatch) when using the load or save buttons of the command panel for the
first time. For subsequent patch loading / saving operations, GameSynth will look into the
latest folder used.

Default Bank Path: this is the path of the folder into which GameSynth will first look for
bank files (extension .gsbank) when using the load or save buttons in the Bank editor
window. For subsequent bank loading / saving operations, GameSynth will look into the
latest folder used.

Default Binary Export Path: this is the path of the folder to which GameSynth will point
when exporting binary bank files (extension .gsbin) for the first time (using the export
button in the Bank editor window). For subsequent binary bank export operations,
GameSynth will look into the latest folder used.

www.tsugi-studio.com
Version 2021.1
100

Default Middleware Export Path: this is the default path used to export patches towards a
game audio middleware with the export button of the command panel. It is convenient to
set it to the root of your audio project.

Default Audio Rendering Path: this is the default path used to automatically save the wave
files generated by the render function of the command panel.

Default Audio Assets Path: this is the path default path when loading or saving audio files (in
WAVE format).

Default Picture Assets Path: this is the default folder where GameSynth will be looking for
picture files (in the JPEG or PNG formats), for example when loading a background picture
on the sketch pad.

Default Scripts Path: this is the default folder where GameSynth will be looking for C# scripts
(extension .cs). There are currently two types of scripts: for the Script module and for the
Sketch Pad.

Patch Repository Path: this is the default folder where all the assets from the Patch
Repository are downloaded and stored for quick access. Although it is not very large in size,
it will grow over time and it is stored in the User/App Data folder of your C: drive. In case
you need to free some space on your C: drive, you can change this path here. Please note
that once you have changed the path, the Repository data will be copied to the new location,
which may take some time.

Wwise Executable Path: this is the path to the executable of the Wwise authoring tool. It is
used when Wwise is automatically started after an export operation.

AtomCraft Executable Path: this is the path to the executable of the ADX2 authoring tool. It
is used when AtomCraft is automatically started after an export operation.

FMOD Studio Executable Path: this is the path to the executable of the FMOD Studio
authoring tool. It is used when FMOD Studio is automatically started after an export
operation.

Cocos Creator Executable Path: this is the path to the Cocos editor that will be launched
automatically after an export to Cocos2d project.

Reaper Executable Path: this is the path to the Reaper DAW that will be launched after
exporting towards an RPP project file.

www.tsugi-studio.com
Version 2021.1
101

Patch Author Name: this is the name that will be saved for the author of the patch. By
default, it is the name of the computer’s user, as defined in the Windows settings.

Default Model: this is the model that will be automatically selected when starting
GameSynth (if no patch is loaded from the Project Launcher), for example Modular, Particles
etc. It is also possible for it to be the latest model used (by choosing <Last Used>) or to
disable this feature by selecting <None>.

Sample rate: this is the sample rate at which the patches are generated (44.1 or 48 kHz).

Do not start Project Launcher: this option allows the bypass of the project launcher window
that otherwise appears when GameSynth is started.

Automatically play selected preset: if this option is checked, each time a new preset is
selected in the patch information panel (either by clicking on it or using the arrow keys) it
will be automatically played back.

Display module parameters in floating windows: this option is for the visual patching model
of GameSynth. When it is selected, module parameters are displayed in floating windows
when double-clicking on a module of the patch, instead of being displayed on a separate
panel on the right of the screen.

www.tsugi-studio.com
Version 2021.1
102

Command Line Version

GameSynthC is the command line version of GameSynth. It is located in the same folder
than the authoring tool.

GameSynthC currently provide five commands. The first one, render, allows you to
automatize the rendering of patches into wave files from your build pipeline.

Its syntax is as follows:

GameSynthC -render -input [-number] [-variation] [-channels] [-bits] [-output]

-input path to the patch (or folder of patches) to render.


-number number of variations to generate for each patch (default = 1).
-variation percentage of variation to apply (default = 0%).
-channels number of channels (default = 1).
-bits bit depth (8,16,24 or 32, default = 16).
-output output folder (default: same folder as patches).

The second one, random, generates a given number of totally random sounds. In order to
do this, the tool calls the random patch creation function of the Modular model for each
sound to generate and renders the corresponding wave file.

The syntax is as follows:

GameSynthC -random -output [-name] [-number] [-channels] [-bits] [-patch]

-output output folder for the sounds.


-name base name of the sounds (default = ‘random’).
-number number of random sounds to generate (default = 1).
-channels number of channels (default = 1).
-bits bit depth (8,16,24 or 32, default = 16).
-patch ‘true’ to also save the patch, ‘false’ otherwise (default).

www.tsugi-studio.com
Version 2021.1
103

The third command, export, will generate binary banks for either single .gsbank files or
entire folders of them, targeting the specified platform.

GameSynthC -export -input [-platform] [-output]

-input path of the bank or folder of banks to export.


-platform name of the target platform (default = PC).
-output output folder (default: same folder as banks).

The fourth command, stats, collects statistics on a folder of patches.

GameSynthC -stats -input -output

-input path of the folder of patches to get statistics for.


-output path of the text file in which to save the statistics.

Among the statistics collected are:


- the total number of patches, patches per model, and number of unreadable patches
- the number of patches per author
- the number of patches having automation curves, meta-parameters and activated events
- the number of patches referencing external assets
- the patch sizes: smallest, largest, average
- the last modification dates of the patches: oldest and most recent
- the average number of modules and type of modules used in the Modular patches

Finally, the fifth and last command returns information about your version of GameSynth. It
does not have any parameters:

GameSynthC -info

The information displayed includes:


- the version number of the tool
- the available models
- the modules available in the Modular model
- the plug-ins installed
- the types of animation curves that can be imported
- the middleware exporters supported

Note: we often build special versions of GameSynthC with specific commands for our clients,
so please do not hesitate to contact us if you have any requests.

www.tsugi-studio.com
Version 2021.1
104

Support

Should you have any questions about the GameSynth tool, any feedback, bug reports or
feature requests, don’t hesitate to contact us directly at the following email address:
support@tsugi-studio.com

We value your feedback and we are constantly working with professional game studios to
bring the features the most needed to GameSynth, so don’t hesitate to get in touch!

Note: GameSynth generates a log file to keep track of potential issues. In case of problem, please
send us this file (C:\Users\YourName\AppData\Local\tsugi\GameSynth\log.txt) to speed up support.

Extra manuals

More detailed manuals are available for the VoiceFX and Modular models, as well as for the
plug-ins (such as the Engines model). They can be found in the GameSynth folder in the
Windows Start menu.

The “Quick Start” and “Modular Tips” Japanese manuals can also be found at that location.

Online resources

To get quickly up to speed with GameSynth and procedural audio in general, please read our
blog:
http://tsugi-studio.com/blog/category/procedural-audio/

The corresponding Japanese articles can be found here:


http://tsugi-studio.com/web/jp/gamesynth_blog/blog1.html

Also, don’t forget to check our videos on Tsugi’s YouTube channel (there is a playlist
dedicated to GameSynth):
https://www.youtube.com/user/tsugistudio

Additionally, you can visit the GameSynth patch repository, a free online resource for the
GameSynth community to share patches:
http://procedural-audio.com/patch/

Finally, for the most recent information about GameSynth and to download the latest
version, check GameSynth’s page on Tsugi’s web site:
http://www.tsugi-studio.com/products-gamesynth.html

www.tsugi-studio.com
Version 2021.1
105

Annex 1: Keyboard Shortcuts

Command Panel

New Patch Ctrl + N


Load Patch Ctrl + O
Save Patch Ctrl + S
Get Patch (from repository) Ctrl + G
Render Ctrl + R
Export Ctrl + E
Bank Ctrl + B
Select model F1~F24

Envelope Editor (and Meta Parameter / Automation Curves)

Add node at cursor position Insert


Remove selected nodes Delete
Move selected nodes left (earlier) Left
Move selected nodes right (later) Right
Move selected nodes down (quieter) Down
Move selected nodes up (louder) Up
Shift curve up/down Mouse wheel
Scale curve up/down Ctrl + mouse wheel

Deflectors / Noise Bands Editor

Add band at cursor position Insert


Remove selected bands Delete
Move selected bands left (lower freq) Left
Move selected bands right (higher freq) Right
Move selected bands down (quieter) Down
Move selected bands up (louder) Up
Change bandwidth of selected band Ctrl + mouse

Modes Editor

Add mode at cursor position Insert


Remove selected modes Delete
Move selected modes left (lower freq) Left
Move selected modes right (higher freq) Right
Move selected modes down (quieter) Down
Move selected modes up (louder) Up
Increase selected modes damping +
Decrease selected modes damping -

www.tsugi-studio.com
Version 2021.1
106

Sketch Pad

Constraint drawing to horizontal line Ctrl + mouse


Constraint drawing to vertical line Shift + mouse

Common to all Models

Open patch folder in Explorer Ctrl + L


Open Category window Alt + C

Voice FX model

Select first rack in chain Home


Select last rack in chain End
Select next rack Ctrl + Tab
Delete selected rack Delete

Weather model

Switch to Edit mode E


Switch to Drawing mode D
Select next weather zone (any type) Z
Select next Rain zone R
Select next Wind zone W
Select next Hail zone H
Select next Thunder zone T
Select next Leaves L
Remove selected weather zone Delete
Switch between local / global weather zone G
Randomize parameters of weather zone P
Create a random weather map Ctrl + P

Move selected weather zone left Ctrl + Left


Move selected weather zone right Ctrl + Right
Move selected weather zone up Ctrl + Up
Move selected weather zone down Ctrl + Down

Increase radius of selected weather zone Page Up


Decrease radius of selected weather zone Page Down

www.tsugi-studio.com
Version 2021.1
107

Visual Patching model

Cut selected modules Ctrl + X


Copy selected modules Ctrl + C
Paste copied modules Ctrl + V
Delete selected modules Delete
Select all modules Ctrl + A
Deselect all module Ctrl + D
Select unused modules Ctrl + U
Close all floating module windows Ctrl + Shift + W
Open context menu Menu
Center modules Home
Move selected modules Arrows
Connect wire to closest plug Return
Cut the wire under the mouse Alt + Click
Switch parameters display mode Ctrl + Tab
Create a random patch Ctrl + P
Align selected modules left Ctrl + ←
Align selected modules right Ctrl + →
Align selected modules up Ctrl + ↑
Align selected modules down Ctrl + ↓
Align selected modules center Ctrl + *

Audio generators context menu G


Audio processors context menu P
Control modules context menu C
Logic modules context menu L
Output modules context menu O

Add Bubble module Ctrl + M, Ctrl + B


Add Ladder Filter module Ctrl + M, Ctrl + F
Add Gain module Ctrl + M, Ctrl + G
Add LFO module Ctrl + M, Ctrl + L
Add Mixer module Ctrl + M, Ctrl + X
Add Modes module Ctrl + M, Ctrl + M
Add Noise module Ctrl + M, Ctrl + N
Add Oscillator module Ctrl + M, Ctrl + O
Add Output module Ctrl + M, Ctrl + U
Add Reverb module Ctrl + M, Ctrl + R
Add Sample Player module Ctrl + M, Ctrl + S
Add Automation Curve module Ctrl + M, Ctrl + A
Add Curve module Ctrl + M, Ctrl + C
Add Envelope module Ctrl + M, Ctrl + E
Add Meta Parameter module Ctrl + M, Ctrl + P
Add Distribution module Ctrl + M, Ctrl + D
Add Sequencer module Ctrl + M, Ctrl + Q

www.tsugi-studio.com
Version 2021.1
108

Patch Repository

Load a patch Ctrl + Click


Load a patch and close window Ctrl + Double-Click

Display all patches Ctrl + Home


Clear the search box Ctrl + Delete
Toggle search in names option Ctrl + N
Toggle search in categories option Ctrl + C
Toggle search in tags option Ctrl + T
Toggle search in authors option Ctrl + A

Display patches from all models Alt + A


Display Engines patches Alt + E
Display Footsteps patches Alt + F
Display Impact patches Alt + I
Display Modular patches Alt + M
Display Particles patches Alt + P
Display Retro patches Alt + R
Display VoiceFX patches Alt + V
Display Weather patches Alt + H
Display Whoosh patches Alt + W

Open Tag Cloud window Alt + T

Help Center

Mark all resources as viewed Ctrl + A


Mark all English resources as viewed Ctrl + E
Mark all Japanese resources as viewed Ctrl + J

www.tsugi-studio.com
Version 2021.1
109

Annex 2: Sketch Pad scripting

In order to create curves that are too difficult to draw on the Sketch Pad (either because
they are too complex or must be very accurate), C# scripts can be written to
programmatically generate the points of the curve. For more information about the C#
language, please refer to online documentations such as: https://docs.microsoft.com/en-
us/dotnet/csharp/programming-guide/

When clicking on the Script button under the Sketch Pad, you will be presented with the
scripting editor. The upper part is where the code is to be written (the editor support syntax
highlighting) and the lower part is where potential warnings or errors will be displayed.

The buttons between these two areas allow you to clear the script, load and save a script,
and finally execute it. The C# script code you write will be inserted in the body of a function.
Therefore, any C# statement that can be written inside a function is valid. However, this also
means that you cannot write your own functions and call them.

Points are added to the curve by calling a special AddPoint function. Calls to this function
appear in red in the script to make them more obvious. The AddPoint function takes 4
arguments: the x and y positions of the point, the pressure applied when drawing, and
finally a time stamp. Therefore, C# scripts also provide a way to generate curve with
pressure information in case you are using a mouse and not a graphic tablet.

The valid range is [0…1] for the x, y and pressure arguments. Values outside the range will
be clipped by GameSynth. The time stamps are expressed in seconds and their valid range is

www.tsugi-studio.com
Version 2021.1
110

[0…60]. If necessary, GameSynth will reorder the points to make sure the timestamps are
increasing. It will also make sure the curve starts when the play button is pressed.

A simple example of script is displayed on the previous screenshot. It generates a Lissajous


figure that would otherwise be hard to draw manually. The resulting curve is shown below
in the Particles model. Notice how the pressure is gradually increasing over time, making the
line thicker.

www.tsugi-studio.com
Version 2021.1
111

Annex 3: Universal Category System (UCS) support

The Universal Category System (UCS) is a public domain initiative supported by sound
vendors, tool developers and users all around the world. The official web page can be found
here: https://universalcategorysystem.com/

UCS provides a list of categories and sub-categories that can be used to classify sound
effects in a consistent manner, as well as rules to use when naming these sound files. The
goal is to make it easier to maintain libraries or projects containing thousands of sound
effects and for users to know what to expect when they see the category of a sound.

GameSynth is the very first procedural audio tool to support UCS. However, it is important
to note that using UCS is totally optional, and that you can enjoy all GameSynth features
without ever thinking about the UCS. First, it is possible to assign a UCS category and sub-
category to any patch. They are displayed at the top of the patch information panel.

Each model has a default category and sub-category, for


example “Metal - Impact” for the Impact model and
“Footsteps - Human” for the Footsteps model. To change
them, simply click on the icon on the left.

www.tsugi-studio.com
Version 2021.1
112

The window that appears displays all available categories in the UCS specification (at the
time of this writing, UCS 8.0 is the latest version). In GameSynth, an icon has been
associated to each category, in order to quickly identify them. Once you click on a category,
the list of its subcategories will appear. Choose one and the window will close, going back to
the main GameSynth window. If the subcategories do not match your sound effect, just
press Escape to choose another category.

The category and subcategory you set are stored in your patch when you save it. The
Repository window of GameSynth makes good use of this information, allowing you to
search and sort patches based on their categories and subcategories. The Tag Cloud feature
also offers a good way to visualize the number of patches present in the repository per
category. For more information, please refer to the Repository section of this
documentation.

Finally, GameSynth can use the UCS naming scheme when rendering audio files. In the
Render settings window, simply enable UCS and you will be able to save files with names
prefixed by the CatID (a unique ID combining the UCS category and subcategory) and
optionally suffixed by the author and project names (AuthorID and SourceID, respectively).

www.tsugi-studio.com
Version 2021.1
113

For more information, please check the section about the Rendering function of GameSynth
in this documentation.

www.tsugi-studio.com
Version 2021.1

You might also like