FMOD Studio User Manual 2.02

28. Glossary

This page includes definitions for various common FMOD Studio terms, along with references to related terms and documentation.

28.1 3D Event

A 3D event is an event whose position in three-dimensional space affects its behavior. To be 3D, an event must feature at least one built-in parameter or effect with spatial behavior.

The most common way of making an event 3D is to add an FMOD spatializer effect to one of its tracks. This effect pans and attenuates the signal as if it came from a particular direction and distance relative to the listener. Other effects with spatial behavior, such as the FMOD object spatializer and the Resonance Audio source, also make an event 3D.

Built-in parameters only audibly alter an event's behavior if they are used to trigger instruments in that event, to automate properties of that event, or to automate the properties of that event's instruments.

When viewing a 3D event in the event editor window, the 3D preview appears in the overview pane.

28.2 3D Preview

The 3D Preview is a tool for auditioning any behavior of an event that depends on the event's position relative to the listener in three-dimensional space. The 3D Preview appears in the overview pane when a 3D event is displayed in the editor.

The 3D preview represents a top-down view of a spherical area surrounding the listener. The radius of this circle is equal to the event's max distance, as defined by either the max distance property of the event's spatializer effect, or by the maximum value of its distance parameter. The listener is always located at the exact center of the circle, facing forward ('up' on the 3D preview).

The arrow-shaped icon represents the event emitter, and the direction that the arrow points represents the direction the emitter is facing. By default, the emitter is positioned in the same location as the listener and facing the same direction. You can change the position of the emitter by clicking and dragging it to any new location in the circle, and you can rotate the emitter by hovering the mouse cursor over the 3D preview and spinning the mouse wheel. Holding down the Ctrl key while dragging the listener changes the emitter's elevation. (If the current elevation of the emitter is above or below that of the listener, the difference in elevation is indicated by a dashed line.) Double-clicking on the 3D Preview returns the emitter to its default position and facing.

3D Preview

The light-gray circle surrounding the arrow represents the event's envelopment, as defined by the sound size property of the event's spatializer effect. The light gray arc or circle that appears around the edge of the 3D preview represents the current extent of the event. If a spatializer's minimum extent has been set to a value greater than 0 degrees, the minimum extent is shown as a white arc overlapping the light gray arc that represents current extent.

28.3 3D Snapshot

a 3D snapshot is a snapshot whose position in three-dimensional space affects its behavior. To be 3D, a snapshot must feature at least one built-in parameter or effect with spatial behavior.

28.4 Action Sheet

An action sheet is a single page of an event that contains a playlist of instruments to be triggered when playing that event.

Action Sheet

Action sheets can be either concurrent or consecutive. You can change whether an action sheet is consecutive or concurrent by using the consecutive/concurrent drop-down menu.

Consecutive Drop-down Menu Concurrent Drop-down Menu

A concurrent action sheet triggers all the instruments in its playlist at the same time as soon as the event starts.

A consecutive action sheet triggers its instruments sequentially, starting with the first. Whenever an instrument finishes playing, the next begins, until all the instruments have finished.

Action sheets can contain any type of instrument except scatterer instruments and plug-in instruments. Instruments on an action sheet cannot be given trigger conditions. For more information about specific types of instrument, see the Instruments section of this chapter.

For more information about using action sheets in events, see the Authoring Events chapter.

28.5 Adaptive Audio

Adaptive audio, also known as "data-driven audio" or "dynamic audio," is audio that reacts to changes in the state of an associated game project or other complex simulation. Adaptive audio is most commonly used in interactive media such as video games, which react to the player's input by changing their behavior and state.

By contrast, linear audio sounds the same every time it is played, and is associated with non-interactive media such as movies, radio plays, and television shows.

FMOD Studio is an application that allows sound designers and composers to create adaptive audio content for games, and the FMOD Engine is a runtime library for playing adaptive audio in games.

28.6 AHDSR Modulator

An AHDSR modulator can be applied to the properties of any project element that can be started and stopped, including instruments, events, and snapshots. AHDSR modulators respond to the starting of their associated project elements by ramping their modulated properties up from neutral values to specified values, and to the stopping of their associated project elements by ramping their modulated properties down from those specified values to neutral values.

AHDSR modulators are most commonly used to add fade-ins and fade-outs to instruments without those fades being dependent on the position of the playback position. This is especially useful for instruments on parameter sheets other than that of the timeline.

28.7 Analytic Effect

An analytic effect is an effect that provides you with useful diagnostic information about the signal at its position in the signal chain.

The loudness meter effect is an example of an analytic effect.

Because analytic effects consume resources and do not affect your game's audio output unless they're also creative effects or routing effects, it is good practice to remove them from your FMOD Studio project prior to your game's release.

Analytic effects are one of the three main categories of effect, along with creative effects and routing effects. Effects may fall into more than one category; for example, the object spatializer effect is both a creative effect and a routing effect.

28.8 Assets Browser

The assets browser is a tool for managing, organizing, and auditioning your project's imported audio files. It can be found in the assets tab of the event editor window, as well as in the audio bin window

The Assets Browser

For more information on assets and the assets browser, see the Managing Assets chapter. For more information about the assets browser, see the Assets Browser section of the Organizing the Project chapter.

28.9 Assets Folder

Your project's assets folder is the folder in which the audio files used in your project's events are stored. Importing an audio file into your project automatically copies it into this folder if it is not already present.

By default, the assets folder is a folder named Assets, located inside your FMOD Studio project folder. This helps ensure that, when you move the project folder to a new location, the audio files used by that project are not left behind. If you prefer to store your assets in a different location, you can set a different path for your project's assets folder in the "Assets" tab of the preferences dialog.

For more information about assets and the audio bin, see the Managing Assets chapter.

28.10 Assets Tab

The assets tab appears in the event editor window and the audio bin window. Clicking on it allows you to access the assets browser.

28.11 Asynchronous

In asynchronous instruments, the precise position of the playback position within the instrument's trigger region has no bearing on which part of each audio file plays. This allows you to treat instruments as switches that can be turned on and off, adding sounds to the event on demand.

The synchronous or asynchronous behavior of an instrument can be identified by the appearance of the waveform graphics drawn on its trigger region: If the waveforms stretch all the way to the edge of the trigger region, the instrument is synchronous; And if the waveforms are contained within borders, the instrument is asynchronous.

28.12 Audio Bin Window

The audio bin window contains tools for importing, managing, organizing, and auditioning audio files in your project, as well as to specify loading behavior and platform encoding settings. It also allows you to access FMOD.io.

The two main tabs of the audio bin window are the assets tab and the FMOD.io tab.

28.13 Audio File

An audio file is a file formatted such that its content can be played audibly using a media player application.

Audio files are the raw building blocks used to construct instruments and events in FMOD Studio.

28.14 Audio Track

An audio track is a kind of event track that functions as a group bus within an event, allowing each event instance to function as a small mixer. Audio tracks can hold and receive input from instruments of all kinds. Audio tracks can be routed into other audio tracks, or into the event's master track.

An event's tracks can be viewed in the event editor window by selecting the event in the events browser.

The signal chain of an audio track can be seen by clicking on the audio track's head in the editor.

The content on a track can not vary between instances of an event.

The output of a track can vary between instances of an event.

28.15 Audition

For the purposes of this manual, auditioning is playing the content of an FMOD Studio project through FMOD Studio. Auditioning allows you to preview and tweak your project's events, assets, and mix prior to their being implemented into your game.

Events can be auditioned in the editor by using the transport controls. They can also be auditioned in the sandbox window by clicking and dragging events from the events browser into the sandbox.

Assets can be auditioned in the assets browser by selecting the asset to be auditioned, then clicking on the play button or waveform graphic at the bottom of the browser. They can also be auditioned in the deck if they're part of the selected single, multi, or scatterer instrument.

Programmer instruments cannot be auditioned, as they depend on your game's code to select an asset to play, but each programmer instrument can be assigned a placeholder asset for the purposes of auditioning the event. These placeholder assets can be auditioned in the deck.

Your project's mix is automatically applied to all events auditioned through FMOD Studio. You can audition a snapshot in the mixer window by selecting it in the snapshots browser and using the transport controls that appear in the mixing desk.

Auditioning should not be confused with playing the content of an FMOD Studio project in your game.

28.16 Automation

Automation is a means to map the possible values of a parameter to specific values of properties, such that setting the automating parameter to a particular value sets the automated property to the corresponding value specified by its automation. Automation can be added to most track properties, event and snapshot macros, parameter properties (including parameter value), and effect properties.

Automation is displayed in the deck when the instrument, track, or parameter whose property is automated is selected. Automation of an instrument or track's properties may also be displayed in the editor in an automation track.

Automation

An automation curve is displayed as a red line. The circular points on the line define the points through which the line passes, while the diamond shape handles allow the line's curve to be adjusted.

A given property may be subject to multiple automation curves, each on a different parameter.

Automation can be added to a property by right-clicking on that property and selecting "Add Automation" from the context menu. This adds an automation widget to the deck. Once an automation widget is present, click on the "Add Curve" button to begin creating automation.

28.17 Bank

A bank is a collection of events and assets from your FMOD Studio project, formatted and compressed for use with the version of the FMOD Engine integrated into in your game. Banks allow you to choose which content is loaded into memory at any given time.

Bank

The "Built bank file separation" setting in the build tab of the preferences dialog determines how your project's sample data and metadata are built into banks.

If the "Build metadata and assets to a single bank" option is selected, building your project creates a .bank file in your project's built banks output directory for each bank built.

If the "Build metadata and assets to separate banks" option is selected, building your project creates a .bank file and an .assets.bank file in your project's built banks output directory for each bank built.

If the "Build metadata, non-streaming assets, and streaming assets to separate banks" option is selected, building your project creates a .bank file, a .streams.bank file, and an .assets.bank file in your project's built banks output directory for each bank built.

These built bank files are all your game code needs to make use of the events they contain. Built bank files are compatible with any version of the FMOD Engine with the same major and product version numbers as the version of FMOD Studio used to create them. For example, a bank built in FMOD Studio version 2.00.03 is compatible with FMOD Engine versions 2.00.03, 2.00.00, and 2.00.10, but not with versions 1.10.14, 1.00.03, and 2.01.03.

Built banks output directory

At least one bank in your FMOD Studio project must be a master bank. A master bank contains data relevant to your entire FMOD Studio project, and so at least one master bank must be loaded into memory before any event in any bank may be used by your game. In most games, the master bank is kept loaded into memory at all times.

28.18 Banks Browser

The banks browser displays your project's banks and bank folders, as well as the events and audio tables assigned to each bank. It allows you to create, edit and organize your project's banks, as well as to assign events to banks. It is found in the event editor window.

The Banks Browser

For more information on banks, please see the Banks section of the FMOD Studio Concepts chapter. For more information about the banks browser, see the Banks Browser section of the Organizing the Project chapter.

28.19 Base Property Value

A property's base value is the value of that property before it is modified by modulators, automation, and snapshots. If all automation and modulation is removed from a property and it is not scoped into any active snapshots, the property returns to its base value.

28.20 Browser Hierarchy

The browser hierarchy is the heart of every browser in FMOD Studio. By default, the hierarchy contains a tree view similar to that found in many file browser applications, which includes all the items that can be handled in that browser. This view can be further filtered by using the search bar or the flatten button.

A Browser Hierarchy

For more information about browser hierarchies, see the Anatomy of Browsers section of the Organizing the Project chapter.

Browser search bars appear at the top of every browser in FMOD Studio, just below the browser tabs.

Browser Search Bar

As the name suggests, browser search bars are used when searching browsers for specific content. Typing text into the search bar causes the browser to display items whose names contain that text. Entering a GUID into the search bar causes that browser to display items with that GUID and items which contain other items with that GUID. Typing a hash symbol ("#") followed by the name of a tag into the events browser, routing browser, VCAs browser, or banks browser's search bar causes that browser to display events that feature that tag.

Clicking on a search bar's magnifying glass icon opens the magnifying glass menu. Clicking on any item in the magnifying glass menu adds a special search term to the search bar.

For more information about the search bar, see the Searching section of the Organizing the Project chapter.

28.22 Browser Tray Button

The browser tray buttons are found at the bottom of every browser in FMOD Studio.

Browser Tray Buttons
The events browser's tray buttons. Different browsers have different buttons.

They typically include one or more buttons for creating new items appropriate to the browser, as well as a flatten button. The flatten button is a toggle that causes all folders in the hierarchy to be hidden, and all of the non-folder items in the hierarchy to be displayed in a flat list. This is useful when trying to find items whose locations you do not know, and for comparing items without respect to the folders that they reside in.

The Flatten Button

28.23 Build

Building is the process of creating .bank files from your project's banks, so that those .bank files can be used by your game. When you build, FMOD encodes copies of the internal structure of your FMOD Studio project's events and mixer into .bank files as metadata, and encodes a copy of the audio files used in your events and audio tables into the .bank files as sample data. Sample data in .bank files is encoded using the compression and encoding formats specified for the audio files in FMOD Studio, rather than the compression and encoding formats of those audio files.

You can build all the banks in your project for all of your target platforms by selecting "File > Build All Platforms," and for the currently selected target platform by selecting "File > Build." You can build a single bank for all of your target platforms by right-clicking on it and selecting "File > Build All Platforms" from the context menu, and for the currently selected target platform by right-clicking on it and selecting "Build."

Built .bank files are output to the directory specified in the build tab of the preferences dialog.

28.24 Built Banks Output Directory

The built banks output directory is the folder on your hard drive that FMOD Studio outputs built bank files into when you build your project. By default, this is a folder named Build found inside your FMOD Studio project folder once you have built the project.

You can change the built banks output directory in the build tab of the preferences dialog.

28.25 Built-in Parameter

Built-in parameters are parameters whose values automatically update based on the 3D attributes of the event instance and listener in your game engine.

For more information about built-in parameters, see the Built-in Parameters section of the Parameters chapter and the Built-in Parameters section of the Parameters Reference chapter.

28.26 Bus

In FMOD Studio, a bus is a modular component of the mixer that produces a submix from the signals that are routed into it and has its own signal chain. All buses, other than port buses and the master bus, can be routed into group buses, into port buses, or into the master bus.

28.27 Bypass

Any effect in a signal chain may be bypassed.

Bypassed effects continue to up-mix or down-mix the channel format as usual, but do not otherwise process the signal.

Effects that are bypassed when you build your project will be bypassed in your project's banks, and therefore won't process the signal in your game.

To bypass an effect or make an effect no longer bypassed, right-click on the effect in the deck and select "Bypass" from the context menu.

28.28 Channel Format

A channel format is the number and configuration of audio channels used at a point in a signal chain. Commonly-used channel formats include mono, stereo, surround 5.1, surround 7.1, and surround 7.1.4, though there are many others.

The channel format of a signal chain can be changed at the input and output of any bus or track. It can also be changed by certain effects.

By default, the input and output formats of tracks and buses are set to "automatic."

For more information about channel formats, see the Channel Formats section of the Mixing chapter.

28.29 Command Instrument

Command instruments are a type of instrument that can issue a specific command to your game's FMOD Studio system. This command is treated just as if it was issued through the FMOD Studio API.

Command Instrument

For more information about command instruments, see the instrument types section of the working with instruments chapter.

28.30 Compression Format

Compression format is a property of audio files, being the encoding format used by those files. Note that an audio file's compression format has no effect on the size or performance of your game, as FMOD Studio's build process recompresses all audio files according to their platform-specific encoding settings, effectively replacing any existing compression.

28.31 Context Menu

The context menu is a menu of commands that appears when you right-click on something in FMOD Studio. The commands in a context menu always apply to the specific thing you clicked on when selected.

Context menu

28.32 Continuous User Parameter

Continuous user parameters are a kind of parameter that use floating point (decimal) numbers.

Each continuous parameter has a minimum and maximum value, and can be set to any floating point value within that range.

Like all user parameters, continuous user parameters can be customized to represent any variable in your game project. The values of user parameters may be updated from your game's code by using the FMOD Studio API, and can also be set by automation and adjusted by modulators. Continuous parameters are most commonly used for variables that can change in very fine or arbitrary gradations.

28.33 Creative Effect

A creative effect is an effect that processes the signal at its position in the signal chain, altering its audible qualities in some way.

Examples of creative effects include the chorus and delay effects. Most effects are creative effects.

Creative effects are one of the three main categories of effect, along with routing effects and analytic effects. Effects may fall into more than one category; for example, the object spatializer effect is both a creative effect and a routing effect.

28.34 Cursor

The cursor is a vertical gray line that appears on each parameter sheet in your project. It represents the value to which the displayed parameter was last set. Note that the actual current value of the parameter may be different from the cursor value, and is indicated by the playback position.

Cursor

You can reposition the cursor by clicking on any part of the parameter sheet's ruler. Note that repositioning the cursor also changes the playback position in most cases.

In versions of FMOD Studio prior to 1.10.00, the playback position was called the 'cursor,' and the cursor was called the 'ghosted cursor.'

28.35 Cut Behavior

The cut behavior of an instrument is how it acts when untriggered. The most common cut behaviors are "cut immediately" and "play to end."

"Cut immediately" cut behavior causes the instrument to immediately stop producing output when untriggered. All synchronous instruments use this cut behavior.

"Play to end" causes the instrument to continue playing any existing output to completion when untriggered.

For more information about cut behavior, see the instrument reference chapter.

28.36 Deck

The deck is found below the birdseye view in the event editor window, the mixer window and the profiler window. In the event and mixer windows it allows you to view and edit the properties or signal chain of the currently-selected item in the editor or mixing desk. In the profiler window it displays values of the currently-selected item.

Event Editor Deck
An event's master track while selected in the event editor.

Profiler Deck
An event's properties while selected in the profiler.

28.37 Default

A default is an event on which new events may be based. You can use a default to quickly create copies of an existing event. These copies may subsequently be customized freely.

The "#default" tag appears next to defaults when they are displayed in the events browser. Defaults do not display the "#unassigned" tag when not assigned to a bank.

You can designate an event as a default by right-clicking on the event in the events browser, then selecting "Add to Defaults" from the context menu. Nested events may not be designated as defaults.

An event created based on a default is initially identical to the default, but has no special connection to the default thereafter. Editing an event based on a default does not change the default, and editing a default does not change events that were based on that default. You can create an event based on a default by right-clicking on the events browser, then selecting "New Event > Defaults" from the context menu and selecting the desired default event.

Defaults are otherwise identical to other events.

28.38 Destination Marker

A destination marker is a kind of logic marker that defines a possible destination for a transition marker or transition region.

Destination marker

To add a destination marker to the event displayed in the editor, right-click on the logic tracks, then select "Add Destination Marker" from the context menu. Like other logic markers, destination regions can only be added to the timeline of an event and not to its other parameters.

To rename a destination marker, double-click on it, then enter a new name. Renaming a destination marker automatically updates all transition markers or regions linked to that marker to the new name.

You can move a destination marker to a new logic track or location on the timeline by clicking and dragging it to the new location.

28.39 Destination Region

A destination region is a kind of logic marker that defines a possible destination for a transition marker or transition region.

Destination Region

To add a destination region to the event displayed in the editor, right-click on the logic tracks, then select "Add Destination Region" from the context menu. Like other logic markers, destination regions can only be added to the timeline parameter sheet of an event, and not to its other parameter sheets.

To rename a destination region, double-click on it, then enter a new name. Renaming a destination marker automatically updates all transition markers or regions linked to that marker to the new name.

You can move a destination marker to a new logic track or location on the timeline by clicking and dragging it to the new location.

It is technically possible to add a transition timeline to a destination region. However, such a transition timeline does not do anything unless the region is converted into a magnet region or loop region. If you want to create a transition timeline to a destination region without converting it into a magnet region, the transition timeline must instead be placed on the transition marker or transition region linked to that destination region.

28.40 Discrete User Parameter

Discrete user parameters are a kind of parameter that use integer (whole) numbers.

Each discrete parameter has a minimum and maximum value, and can be set to any integer value within that range.

Like all user parameters, discrete user parameters can be customized to represent any variable in your game project. The values of user parameters may be updated from your game's code by using the FMOD Studio API, and can also be set by automation and adjusted by modulators. Discrete parameters are most commonly used to represent variables in your game that increase and decrease in increments of fixed size.

28.41 Early Access Version

The first few minor versions within each major version of FMOD Studio are early access versions. Early access versions have passed our internal QA testing and been deemed stable, but include features that (at the time of release) had not yet been used in games.

For more information about early access versions and their potential impact on your game, see the FMOD Versions section of the FMOD Studio Concepts chapter.

28.42 Editor

The editor is the main or central pane of several different windows in FMOD Studio.

An editor is found in the center of the event editor window, and allows you to view, edit, and audition events. To view an event in the event editor window's editor, click on it in the Events browser.

An editor is found in the center of the sandbox window, and allows you to view, edit, and audition event and snapshot instances in scenes. To view a scene in the sandbox window's editor, click on it in the scenes browser.

An editor is found in the center of the profiler window, and allows you to view, record, and audition profiler sessions. To view a profiler session in the profiler window's editor, click on it in the sessions browser.

28.43 Effect

An effect is a modular unit that can be inserted into the signal chain of a track or bus to perform real-time signal processing. There are many different effects, and different effects process the signal in different ways.

Effects

The effects in an event are the same in all instances of that event, but the property values of those effects can vary between event instances if they are affected by automation or modulation.

Some effects are instances of preset effects and can be present in multiple different events in the project. All instances of a single preset effect feature the same basic property values, automation, and modulation.

See the Effect Reference chapter for information about specific effects.

28.44 Effect Bypass

Individual effects can be bypassed to prevent them from affecting your project without completely removing those effects. This is useful when rapidly iterating on content, when trying to isolate the behavior of specific effects, and when comparing different effects within the same event.

An excluded effect does affect the channel format of the signal at its position in the signal chain, but does not otherwise process the signal.

To toggle whether an effect is bypassed, right-click on the effect and select "Bypass" from the context menu.

28.45 Effects Browser

The effects browser displays your project's preset effects and effect chains, and allows you to create, edit, and organize both. It can be found in the preset browser window.

The Effects Browser

For more information about effects, see the Effects section of the FMOD Studio Concepts chapter. For more information about the effects browser, see the Effects Browser section of the Organizing the Project chapter.

28.46 Encoding Settings

Encoding settings determine the format and compression to be used when building the sample data of your assets into banks. They can differ from the existing format and compression settings of your source audio files, as assets are automatically re-encoded as part of the bank building process.

Platform Encoding Settings

By default, your project's assets use the encoding settings you've specified for your project's target platforms in the build tab of the preferences dialog. You can override this on a per-asset or per-folder basis in the assets browser by specifying custom encoding settings for individual assets or folders. Encoding settings must be specified separately for each platform.

Asset Encoding Settings

28.47 Event

An event is an instanceable unit of sound content that can be triggered, controlled and stopped from game code. Everything that produces a sound in a game should have a corresponding event.

step 0

An event contains and is composed of tracks, instruments, and parameters. The parameters trigger the instruments, which route audio content into the tracks. The tracks route into other tracks, or into the event's master track; The output of the event's master track routes into the project mixer. In addition, the event's parameters can control and manipulate most properties of the event, of the event's instruments and logic markers, and of effect modules on the event's tracks.

28.48 Event Editor Window

The event editor window contains tools for creating, viewing, organizing, editing, and auditioning events. Its major components include the events browser, banks browser, and assets browser, the editor, the overview, the birdseye view, and the deck.

step 0

The event editor window can be opened by selecting "Windows > Event Editor" in the menu bar.

28.49 Event Instance

Your game can play multiple instances of each event in your project. It is even possible for multiple instances of the same event to be playing simultaneously.

For example, an event that represents a gunshot might play very frequently in a game. Perhaps guns may be fired simultaneously in two different parts of the same map, or a gun might be fired again before the previous gunshot's tail has ended.

All instances of the same event have the same content. However, each event instance has its own timeline position, position in 3D space, random modulator adjustments, playlist selections, and parameter values. Different instances of the same event can therefore produce very different output, even if they play simultaneously.

For information on creating and playing event instances in your game's code, see the Studio API Guide chapter of the FMOD Engine User Manual.

28.50 Event Instrument

An event instrument (also known as an "event reference instrument") is a type of instrument that spawns an instance of a specified event when triggered. The resultant instance's output is routed into the track that holds the event reference instrument.

For more information about event instruments, see the Event Instruments section of the Working with Instruments chapter and the Event Instrument section of the Instrument Reference chapter.

28.51 Event Property

An event property is any attribute of an event that can be randomized, or which could be made to vary over time.

The value of an event property can vary between instances of an event.

28.52 Event Reference Instrument

An event reference instrument (or 'event instrument') is a kind of instrument that plays an instance of a specified event elsewhere in the project when triggered. The resultant instance's output is routed into the track that holds the event reference instrument.

28.53 Event State

The state of an event instance is what that instance is currently doing: Whether it is currently playing, paused, stopping, or stopped. The state of an event instance influences how and when it is loaded into memory, the amount of memory it consumes, and the number of voices it requires. As such, a detailed understanding of event states can help you improve your game's performance.

Each event state is associated with certain behaviors.

A playing event instance outputs to the mixer. Its timeline playback position automatically advances until it encounters a sustain point. If one of its parameters is set to a new value, that parameter's playback position changes to the new value at a rate defined by that parameter's seek speed. If any of its parameters have velocity, the playback positions of those parameters automatically advance.

A playing event instance can be made to enter the paused, stopping, or stopped event states. A playing instance of a non-persistent event automatically enters the stopped event state if there is no content to the right of its timeline playback position and no instruments in that event instance are currently producing output.

A paused event instance does not produce output, but continues to consume system resources as if it were playing. The playback positions of its timeline and parameters do not automatically advance. If one of its parameter values is changed, that parameter's playback position is updated when the event instance is next unpaused. An event instance that was paused while stopping resumes stopping when unpaused.

A paused event instance can be unpaused, which causes it to enter the event state it was in prior to being paused. Immediately stopping a paused event instance causes it to enter the stopped event state.

A stopping event instance behaves identically to a playing event instance, except that the release periods of AHDSR modulators on the event's properties are applied to those properties, and that the event instance automatically enters the stopped event state once all of those release periods are completed and the tails from all its reverb and delay effects have played out.

A stopping event instance can be made to enter the paused or stopped event states. A stopping event instance automatically enters the stopped event state once the release periods of all AHDSR modulators on the event's properties are completed.

A stopped event instance does not produce output. Its playback positions do not automatically advance. If its parameter values are changed, the playback positions of those parameters instantly move to their new positions.

A stopped event instance can be made to enter the playing event state.

28.54 Event State Condition

An event state condition is a kind of trigger condition for instruments and logic markers that is met when the event instance is in a specified event state.

Stopping Event State Condition Not Stopping Event State Condition

For more information, see the Event State Conditions section of the Working With Instruments chapter.

28.55 Event State Trigger Condition

An event state trigger condition is a trigger condition for an instrument or logic marker that depends on the event state of the instrument or logic marker's parent event instance.

The Not Stopping Event Condition The Stopping Event Condition

There are two types of event state trigger condition: "Stopping" and "Not Stopping." The stopping event state condition is met when the event instance is in the stopping event state, as well as when the event instance is in the paused event state after being in the stopping event state. The not stopping event state condition is met when the event instance is in the playing event state, as well as when the event instance is in the paused event state due to being paused while in the playing event state.

For more information about event state trigger conditions, see the Trigger Conditions section of the Working with Instruments chapter.

28.56 Events Browser

The events browser is a tool for creating, naming, and organizing events. It can be found in the event browser window, as well as under the events tab of the event editor window.

step 0

For more information about events, see the Authoring Events chapter. For more information about the events browser, see the Events Browser section of the Organizing the Project chapter.

28.57 File Manager

A file manager is an application that allows you to view and manage files and folders. Most operating systems include a file manager.

The file manager included in Windows is Explorer. The file manager included in macOS is Finder.

28.58 Final Property Value

The final value of a property includes adjustments applied by automation, modulation, and snapshots.

By comparison, the base value of a property does not include adjustments applied by automation, modulators, and snapshots that affect that property, and displayed property value includes adjustments applied by automation but not modulators or snapshots. If a property is not subject to modulation or snapshots, its final value is equal to its displayed value. If a property is subject to neither automation, nor modulation, nor snapshots, its final value is equal to both its base value and its displayed value.

28.59 Flatten Button

The Flatten Button

For information about flatten buttons, see the Browser Tray Button section of this chapter.

28.60 FMOD Controller Output

FMOD Controller Output is an Output Device available on Windows that supports outputting to a PS5 controller. It supports auditioning a combination of stereo output (for playing via the headphone jack) and a vibration port with stereo output. You can select it in the audio tab of the preferences dialog.

For optimal use, test the controller behavior with official tools on Windows prior to using with FMOD Studio.

28.61 FMOD Core API

The FMOD Core API is the part of the FMOD Engine that allows a game's audio programmer to create audio content without using FMOD Studio, and to interact with the FMOD Engine's underlying mechanisms.

For detailed guidance on how to use the FMOD Core API, see the Core API Guide chapter of the FMOD Engine User Manual.

28.62 FMOD Engine

The FMOD Engine is a runtime library for playing adaptive audio in games. It consists of two APIs: FMOD Studio API, and the FMOD Core API. Content created in FMOD Studio can be built as .bank files, which can then be loaded and played in the FMOD Engine using the FMOD Studio API. The FMOD Core API allows audio programmers to create audio content without using FMOD Studio, and to interact with the FMOD Engine's underlying mechanisms.

For more information about the FMOD Engine, see the FMOD Engine User Manual.

28.63 FMOD for Unity

FMOD for Unity is a packaged software integration of the FMOD Engine for use with the Unity game engine. This integration makes it possible use dynamic audio content created in FMOD Studio in your Unity game.

FMOD for Unity includes a full copy of the FMOD Engine, so it is not necessary to install the FMOD Engine separately.

For detailed guidance on FMOD for Unity, see our Unity Integration documentation.

28.64 FMOD for Unreal Engine

FMOD for Unreal Engine is a packaged software integration of the FMOD Engine for use with the Unreal Engine game engine. This integration makes it possible use dynamic audio content created in FMOD Studio in your Unreal Engine game.

FMOD for Unreal Engine includes a full copy of the FMOD Engine, so it is not necessary to install the FMOD Engine separately.

For detailed guidance on FMOD for Unreal Engine, see our Unreal Engine Integration documentation.

28.65 FMOD.io

FMOD.io is an online store that sells a variety of audio files suitable for use as sound effects. It can be found in the audio bin window, or by selecting "Jump to FMOD.io" from the "FMOD.io" menu.

For more information about FMOD.io, go to www.fmod.io.

28.66 FMOD Studio

FMOD Studio is an application that allows sound designers and composers to create adaptive audio content for games. Content created in FMOD Studio can be built as .bank files, which can then be loaded and played in the FMOD Engine using the FMOD Studio API.

For more information about FMOD Studio, see the FMOD Studio User Manual. You're reading it right now.

28.67 FMOD Studio API

The FMOD Studio API is the part of the FMOD Engine that allows a game's audio programmer to load and play content created in FMOD Studio.

For detailed guidance on how to use the FMOD Studio API, see the Studio API Guide chapter of the FMOD Engine User Manual.

28.68 Follow Playback Position Mode

Follow playback position mode is a tool for auditioning events repeatedly. Follow playback position can be set by clicking on the follow playback toggle button that appears to the right of the time/beats display.

Follow playback position on

When follow playback position mode is on, the editor and mixing desk automatically scroll to keep the playback position visible. In addition, any transition timelines that the playback position enters are automatically expanded.

When follow playback position mode is off, the editor and mixer may only be scrolled manually.

Follow playback position mode can also be turned on or off by selecting "View > Follow Playback Position".

Follow playback position command

28.69 Forward Vector

The forward vector of an event instance or listener is the direction in which that listener or instance is facing. In games where the listener is attached to the camera, the forward vector matches the direction the camera is facing.

Listener's Horizontal Plane
In this diagram, the head represents the listener, and the blue line represents its forward vector.

The forward vector and up vector of a listener are used to calculate that listener's horizontal plane.

28.70 Frame

A frame is the period of time between successive updates of the FMOD Studio system. When in synchronous mode, the FMOD Studio system updates whenever Studio::System::update is called. When in asynchronous mode, it updates when the asynchronous update thread triggers (by default, every 20 ms).

28.71 Frequency Band

A specific range of frequencies within a given signal. Some effects allow you to define frequency bands in order to process or change only some frequencies of the signal.

28.72 Global Parameter

A global parameter is a parameter, all instances of which share the same current and set values even if they are in different events. Global parameters make it possible for different events and event instances's parameters to be updated in unison.

Timeline parameters are always local and cannot be global. Parameters of all other types can be changed between local and global in the edit parameter dialog.

28.73 Group Bus

A group bus is a kind of bus. Like other kinds of bus, group buses create a submix of all signals routed into them, and have their own signal chains. Any bus or event that is neither a port bus, the master bus, nor a nested event, can be routed into a group bus.

Group buses can be created, modified and routed in the routing browser.

28.74 Input Meter

An input meter is a graphical display of the levels of the submix of signals received by a track or bus as input, and can be found at the left end of the deck when a track or bus is selected in the event editor window or mixer window.

Mono Input Meter Stereo Input Meter 5.1 Input Meter

Each input meter consists of one sub-meter for each channel in the input channel format of the bus or track.

28.75 Instrument

Instruments are triggerable elements that route audio content into the tracks of an event or trigger behavior through snapshots and commands. Instruments appear in the 'editor' section of the event editor window as colored boxes.

Instruments

Each instrument is triggered by a particular parameter sheet or action sheet of an event, and is only displayed on that sheet.

The instruments in an event can not vary between instances of that event.

The output of an instrument can vary between instances of an event.

Instruments were called "Sound Modules" in FMOD Studio versions 1.09 and earlier.

For more information about instruments and specific instrument types, see the instrument reference chapter.

28.76 Key Off Command

A key off command is a command given to an event instance that tells the timeline playback position to continue past the next sustain point it encounters. Key off commands serve no purpose in events without sustain points.

You can audition key off commmands in the event editor window by clicking on the "Key Off" button in the event editor window's editor's transport bar. This button only appears if the event displayed in the event editor window's editor contains at least one sustain point.

The Key Off Button and a Sustain Point

Key off commands are reference-counted, meaning that if you give multiple key off commands to an event instance, the playback position remembers the number of times you gave the command and will move past sustain points it encounters that many times.

Note that there is no way to send a key off command to an event instance created by an event reference instrument. If you want to mimic the effect of a key off command in a way that works in referenced events, it is best to use a sustain point or loop region with a parameter condition, and change the parameter's value instead of using a key off command.

28.77 Labeled User Parameter

Labeled user parameters are a kind of parameter that use strings (labels).

Each labeled parameter has a predefined list of labeled values, and can be set to any of those values.

Like all user parameters, labeled user parameters can be customized to represent any variable in your game project. The values of user parameters may be updated from your game's code by using the FMOD Studio API, and can also be set by automation and adjusted by modulators. Labeled parameters are commonly used for variables whose possible values don't have any obvious order or sequence.

28.78 Linear Audio

Linear audio, also known as "traditional audio" or "non-dynamic audio," is audio content that plays out in exactly the same way every time it is played. Linear audio is associated with non-interactive media such as movies, radio plays, and television shows.

By contrast, adaptive audio reacts to changes in the state of an associated game project or other complex simulation, and is associated with interactive media such as video games.

28.79 Listener

A listener represents a virtual pair of ears that pick up output from event instances. Event instances with a spatializer effect or built-in parameter can respond to the relative listener location. This can be used to process audio signals in a way that gives the perception of 3D space.

Each listener has a weight that determines how much that listener contributes to the mix. Listener weights are useful for setting up multiple listeners, such as for multiplayer games, or to smoothly transition from one listener to another, such as for moving from camera to camera during an action replay. Listener weights are set via Studio::System::setListenerWeight.

It is possible to have more than one listener active at the same time. These situations are handled as follows:

28.80 Listener's Horizontal Plane

The listener's horizontal plane is an imaginary flat plane that moves with the listener, such that its surface is always parallel to the listener's forward vector and perpendicular to the listener's up vector. For example, if the listener "looks up" by tilting upward 14 degrees, the listener's horizontal plane also tilts upward 14 degrees.

Listener's Horizontal Plane
In this diagram, the head represents the listener, and the grid represents the listener's horizontal plane.

Because the listener's horizontal plane moves the with listener, it is not necessarily always parallel with the in-game horizon, nor with the 3D space's zx, xy, or yz planes.

The listener's horizontal plane is used for spatialization, as well as for calculating the values of built-in parameters. Because the listener's horizontal plane moves with with listener at all times, FMOD is able to treat individual speakers as being in fixed positions relative to that plane for the purposes of spatializing event instances. Similarly, because the listener's horizontal plane is always in a fixed position relative to the listener, the FMOD Engine is able to use the position and orientation of the listener's horizontal plane to calculate certain built-in parameter values.

28.81 Live Update

The live update feature lets you connect FMOD Studio to your game as it runs. Live update can be used to record and analyse your game's audio in FMOD Studio's profiler window. It also allows you to make changes to your FMOD Studio project and immediately hear those changes in your game, making it easier to test and iterate on your game's sound design.

For more information on live update, see the Profiling and Editing During Live Update chapters.

28.82 Local Parameter

If a parameter is based on a local preset parameter, that parameter can have a different current and set value in every event instance. Local parameters make it possible for different concurrently-playing instances of an event to produce different output.

Timeline parameters are always local. Parameters of all other types can be changed between local and global in the edit parameter dialog.

28.83 Logic Marker

Logic markers are flags placed along an event's timeline that change how the timeline playback position moves and how instruments in the event react to the passage of time.

The markers of an event appear on an event's logic tracks when the event's timeline is displayed in the editor.

There are several different types of logic marker: Destination markers, destination regions, tempo markers, loop regions, magnet regions, sustain points, transition markers, and transition regions. All of these can be added to an event by right-clicking on the event's logic tracks in the editor and selecting the marker to be added from the context menu.

28.84 Logic Point

A logic point is a collection of transition markers, transition region quantization points, magnet region quantization points, and/or loop region end points in the same event that share the same position on the timeline. In conjunction with probability conditions and parameter conditions, logic points are a way of creating decision trees that determine the behavior of the playback position at that point.

When the playback position encounters multiple transition markers, transition regions, magnet region quantization points or loop region end points at a single timeline position, the highest marker whose probability and parameter conditions are met is the one that determines the behavior of the playback position.

If a destination marker or the beginning of a magnet or destination region shares the same timeline position as a logic point, the playback position, upon transitioning to that timeline position, immediately encounters the logic point.

28.85 Logic Track

The logic tracks are black tracks that appear in the editor, and hold the logic markers of an event.

To add logic markers to the logic track, right-click on a logic track and select the desired marker from the context menu. Logic markers can only be placed on logic tracks while viewing the event's timeline.

You can add more logic tracks to an event by clicking and dragging existing logic markers up and down. The height of a marker on the logic tracks determines which transition marker, transition region quantization point, or loop region end point should take priority when more than one exists at the same timeline position. Higher markers take priority.

28.86 Loop Playback Mode

When loop playback mode is on, an auditioning event automatically begins auditioning again from the beginning if it automatically stops due to there being no content currently playing and no further content on its timeline.

When loop playback mode is off, an auditioning event that automatically stops does not automatically begin auditioning again.

Loop playback mode can be set by clicking on the loop playback toggle button that appears to the right of the time/beats display.

Loop playback on

Loop playback mode can also be set by selecting "View > Loop Playback".

Loop playback on

28.87 Loop Region

A loop region is a kind of logic marker that defines two points on the timeline that the playback position is to loop between. Whenever the playback position reaches the end of a loop region, it returns to the beginning of that loop region.

In addition to causing the timeline playback position to loop, a loop region defines a possible destination for a transition marker or transition region.

Loop region

To add a loop region to the event displayed in the editor, right-click on the logic tracks, then select "Add Loop Region" from the context menu. Like other logic markers, loop regions can only be added to the timeline parameter sheet of an event, and not to its other parameter sheets.

You can move a loop region to a new logic track or location on the timeline by clicking and dragging it to the new location.

To resize a loop region, click and drag either of its ends. It is not possible to move the end point of a loop region to the same position as its start point, or vice versa.

To name or rename a loop region, right-click on it, select "Rename" from the context menu, then enter a new name. Renaming a loop region automatically updates all transition markers or regions linked to that marker to the new name.

You can add trigger conditions to a loop region so that it only functions under certain circumstances. To do this, click on the loop region, then change its trigger behavior in the deck. The two kinds of trigger behavior available for transition markers are probability conditions and parameter conditions. The parameter conditions of a loop region are evaluated each time the playback reaches the end of the loop region, and do not affect transition markers and transition regions linked to that loop region.

You can add a transition timeline to a loop region by double-clicking on it, or by right-clicking on it and selecting "Add Transition Timeline" from the context menu. The playback position enters the transition timeline of a loop region when it jumps from the end point of that loop region, but not when it jumps from a transition marker or region that targets the loop region.

Loop regions that feature transition timelines are indicated by a hollow circle icon. Double-clicking on a loop region that already features a transition timeline opens that transition timeline, or closes it if it is already open.

28.88 Magnet Region

A magnet region is a kind of logic marker that makes the playback position jump to the start of the region from any part of the timeline outside of the region.

In addition to being able to summon the playback position, a magnet region defines a possible destination for a transition marker or transition region.

Magnet Regions

To add a magnet region to the event displayed in the editor, right-click on the logic tracks, then select "Add Magnet Region" from the context menu. Like other logic markers, magnet regions can only be added to the timeline parameter sheet of an event, and not to its other parameter sheets.

You can move a magnet region to a new logic track or location on the timeline by clicking and dragging it to the new location.

To name or rename a magnet region, right-click on it, select "Rename" from the context menu, then enter a new name. Renaming a magnet region automatically updates all transition markers or regions linked to that marker to the new name.

You can add trigger conditions to a magnet region so that it only functions under certain circumstances. To do this, click on the magnet region, then change its trigger behavior in the deck. The three kinds of trigger behavior available for magnet regions are probability conditions, parameter conditions, and quantization. The parameter conditions of a magnet region are evaluated continuously as long as the playback position remains outside the transition region, but the probability condition of a magnet region is evaluated only when the playback position arrives outside the region (if it is not quantized) or when it encounters one of the region's quantization points (if it is quantized).

You can add a transition timeline to a magnet region by double-clicking on it, or by right-clicking on it and selecting "Add Transition Timeline" from the context menu. Magnet regions that already feature transition timelines are indicated by a hollow circle icon.

Double-clicking on a magnet region that already features a transition timeline opens that transition timeline, or closes it if it is already open.

28.89 Magnifying Glass Icon

The magnifying glass icon appears in the search bars of browsers throughout FMOD Studio. It indicates that you can filter what content is displayed in the browser's hierarchy by entering search terms into the browser search bar.

The Magnifying Glass Icon

In most browsers, clicking on the magnifying glass icon opens the magnifying glass menu. This menu contains a selection of search commands that can be used in that browser. Clicking on an entry in the menu adds the equivalent search term to the search bar.

For more information about searching for content in FMOD Studio, see the Searching section of the Organizing the Project chapter.

28.90 Magnifying Glass Menu

Clicking on the magnifying glass icon found in any browser search bar opens the magnifying glass menu.

The Magnifying Glass Menu

This menu contains a selection of search commands that can be used in that browser. Clicking on an entry in the menu adds the equivalent search term to the search bar.

28.91 Master Bank

A master bank is a kind of bank. In addition to the sample data and metadata of the events assigned to it, a master bank contains data related to your project as a whole, including its mixer, buses, routing, and VCAs.

Assigning events to a master bank is not recommended. This is because a master bank must be loaded at all times, meaning that it is not possible to unload the bank in order to conserve memory. However, in small projects where only one bank is needed, assigning events to the master bank may be viable.

By default, a newly created FMOD Studio project contains one master bank.

28.92 Master Bus

Every FMOD Studio project has exactly one master bus. Every signal in your project is eventually routed into the master bus, which creates and outputs the final mix that the player hears when playing your game. The master bus can be seen and edited in the mixer window.

Master bus mixer strip

28.93 Master Track

The master track functions as the master bus of an event instance. It produces a submix of the tracks and instruments that route into it.

step 0

The content on a track can not vary between instances of an event.

The output of a track can vary between instances of an event.

28.94 Metadata

There are two distinct definitions of metadata in FMOD Studio: Project metadata, and bank metadata.

Project metadata includes events, buses, parameters, instruments, automation, tracks, modulators, instruments, and all the other data that makes up an FMOD Studio project, with the exception of its audio assets and other binary format files. This kind of metadata is stored in xml format in your project folder's Metadata subdirectory.

Bank metadata is project metadata that has been built into banks. This kind of metadata is stored in binary format in your project's built .bank files.

Bank metadata is created based on project metadata as part of building your project's banks.

28.95 Mixer

The mixer is what mixes the outputs of your events into a coherent whole. It functions continuously while your game runs, and can be adjusted and updated in real time by means of snapshots.

The mixer window contains tools and features that allow you to set up routing and mix your project, to apply effects to its signal chains, and to define how those effects and that mix can change in response to game events.

28.96 Mixer Strip

Mixer strips resemble the channel strips found on a hardware mixing desk, and are found in the mixing desk of the mixer window. Each mixer strip is a visual representation of a bus or event in your project's routing browser.

You can use the sliders that appear on mixer strips to tweak your project's levels while auditioning events in the sandbox window, or while using live update to connect to a running copy of your game.

28.97 Mixer Window

The mixer window contains tools for setting up and editing your project's routing, as well as for mixing your project and defining how that mix changes in response to events in your game. Its major components include the routing browser and snapshots browser, the mixing desk, the birdseye view, and the deck.

step 0

The mixer window can be opened by selecting "Windows > Mixer" in the menu bar.

28.98 Mixing Desk

The mixing desk is found in the mixer window, and allows you to view and edit your project's mixer. In the mixing desk, buses are represented by mixer strips, and selecting one of these strips causes the signal chain of the associated bus to appear in the deck.

Mixing desk

28.99 Modulator

Modulators are devices that modify the value of an event property over time, independent of the event or snapshot's timeline. They appear in the modulation drawer of the modulated property's associated panel, when that panel is displayed in the deck.

There are four kinds of modulator in FMOD Studio: Random modulators, AHDSR modulators, autopitch modulators and sidechain modulators.

Modulators

To add a modulator to a property, right-click on the property's controller, then select "Add Modulation" from the context menu.

28.100 Multi Instrument

A multi instrument is a kind of instrument with a playlist. When the instrument is triggered, an item from its playlist is selected for play. A multi instrument's playlist can contain single instruments, event instruments, programmer instruments, command instruments, and silence instruments, and other multi instruments.

A playlist that is set to loop plays the number of times specified by the loops counter.

Playlist entries can also be set to loop, but only count as one played item of their parent playlist.

Randomize playlist toggle button

The item selected from a multi instrument's playlist depends on the instrument's playlist selection mode. By default, a multi instrument's playlist selection mode is set to shuffle. To change it, use the playlist selection mode dropdown menu.

Dragging assets onto the trigger region of a multi instrument has different results, depending on which part of the trigger region you drag the assets onto. Dragging assets onto the trigger region's title bar creates a new instrument, just as if you'd dragged them onto an empty section of the track; whereas dragging assets onto the body of the trigger region appends them to the instrument's playlist.

28.101 Natural End

A natural end is when an event instance finishes playing its content and automatically stops.

The FMOD Engine deems an event instance to have finished playing its content when it is not producing any output and its timeline playback position is to the right of all content on the event's timeline sheet.

Only non-persistent events naturally end. Persistent events are not automatically stopped when they finish playing their content, and so never end naturally.

Stopped event instances that have finished playing are usually released by your game's code. This frees up the resources they consumed to be used for other things. For more information about resource management in the FMOD Engine, see the Playing Events section of the FMOD Engine User Manual.

28.102 Nested Event

A nested event is a kind of event that can only be referenced by its parent event, and does not route into the project's mixer. Nested events are displayed below and slightly to the right of their parent events in the events browser, similarly to how other events are displayed below and slightly to the right of their containing folders.

Nested Events

Most nested events are referenced events, as referencing a nested event allows it to be played by its parent event. Nested events that aren't referenced cannot be played by your game.

For more information about nested events, see the Nested Events section of the Authoring Events chapter.

28.103 Object Spatialization

Object spatialization is the blanket term for a variety of specialized spatialization technologies available on some platforms. The specifics of how these technologies work differs from one technology to the next, but they all offer more specialised or higher-quality spatialization than would be possible without those technologies.

For information about using object spatialization in FMOD Studio, see the Spatialization Options and Auditioning Object Spatialization and Height Panning sections of the Advanced Topics chapter.

28.104 Panel

A panel is a gray box that represents a selected project element in the deck when that project element is selected, and holds a number of controls that represent that element's properties.

28.105 Panner

Every audio track, return track and master track features a panner that determines how the output of that track is panned. The form of the panner corresponds to the output format of the track.

28.106 Parameter

A parameter is an event property that can be used to trigger and control an event's instruments, logic markers, and automatable properties.

step 0

There are three broad types of parameter: Timeline parameters, user parameters, and built-in parameters.

Every user parameter and built-in parameter is a reference to a preset parameter, which defines the type and properties of the parameters referencing it. The only properties that belong to parameters and not their associated preset parameters are the current values of local parameters.

For more information about parameters, see the Parameters and Parameters Reference chapters.

28.107 Parameter Condition

Parameter conditions can be added to any instrument, transition marker, transition region, or loop region. A parameter condition specifies a parameter and a range of values that that parameter's value must fall between for the instrument or marker to trigger when encountered by the playback position.

Parameter conditions

To assign a parameter condition to a marker or instrument, select the marker or instrument in the editor, click on the "Add Condition" button in the deck, then select the desired preset parameter from the menu. This automatically adds a parameter based on the preset parameter to the event if one was not already present. Once a parameter condition has been added, click and drag the handles of the ribbon slider to change the parameter condition's range.

The parameter conditions of an instrument are evaluated continuously for as long as the playback position continues overlapping the instrument. The parameter conditions of a transition marker are evaluated once each time the playback position encounters it. The parameter conditions of a transition region are evaluated continuously for as long as the playback position remains inside the region (if it is not quantized) or once each time the playback position encounters one of the region's quantization points.

28.108 Parameter Cursor

The parameter cursor indicates the value to which a parameter was most recently set. It appears as a ghosted gray vertical line when a parameter sheet is displayed in the editor.

Clicking on the parameter ruler or adjusting the parameter's value knob sets the parameter to a new value, repositioning the cursor.

Depending on your parameter's seek speed settings, the playback position may travel instantly or at a fixed rate to the parameter cursor. Seek speed is only applied to playing events; if an event is stopped when the parameter is set to a new value, the playback position jumps to the parameter cursor immediately.

Note that the parameter cursor indicates the set value of the currently displayed event instance only. Event instances triggered by other events or in other windows may have completely different parameter values.

28.109 Parameter Linking

FMOD Studio links the values of local parameters of an event and its event instruments. This happens when both the following rules are true:

When a linked parameter is displayed on an event instrument in the deck, a small hollow circle is displayed next to the parameter to indicate that it is linked.

Parameter Linking Circle

Linked parameters are instances of the same preset parameter. With any two instances of a preset parameter, if one is subject to automation and modulation, the other is subjected to the same automation or modulation.

Only base property values, not final property values, are linked. This means that modulators in the parent event may not effect the parameter in the child event the way you expect; to get the behavior you want, you may need to link or unlink your parameters using the two linking rules.

28.110 Parameter Ruler

The parameter ruler is a horizontal bar located directly under the sheet tab bar and above the event's logic tracks when a parameter sheet is displayed in the event editor window's editor or the mixer window's mixing desk. Each parameter ruler is labeled or numbered with the possible values of the parameter it represents.

Timeline Parameter Ruler Labeled Parameter Ruler

Any instruments and logic markers on a parameter sheet are shown below the parameter values that trigger those instruments or logic markers. Similarly, when automation curves are shown on parameter sheets, the curve functions as a line graph that represents the value the automated property should have for each possible value of the parameter.

Depending on your current zoom level, only part of a parameter's ruler may be visible at a time. When this is the case, you can change which section is shown by scrolling or zooming.

28.111 Parameter Sheet

A parameter sheet is a single page of an event or snapshot that can contain instruments associated with the sheet's parameter in an event, and can display the automation curves associated with that parameter in an event or snapshot. You can view a parameter sheet by clicking the parameter's tab while in the tracks view. The instruments on a parameter sheet are shown on the event tracks into which they are routed.

Parameter Sheet

When a parameter's playback position overlaps an instrument on that parameter's sheet, the instrument is triggered. For more information about instruments and trigger conditions, see the Working With Instruments chapter.

You can add additional parameter sheets to an event or snapshot by right-clicking on the tab for an existing sheet or the + tab in the sheet tab bar and selecting "Add Parameter Sheet" from the context menu. If an event does not have a timeline parameter sheet, you can add one by right-clicking on the sheet tab bar and selecting "Add Timeline Sheet" from the context menu.

Removing a sheet from an event removes all instruments on that sheet from the event, but has no effect on automation. You can remove a parameter sheet from an event by right-clicking on the parameter tab and selecting "Remove Parameter Sheet" or "Remove Timeline Sheet" from the context menu.

28.112 Parameters Browser

The parameters browser displays your project's preset parameters. It allows you to create, edit, and organize preset parameters, and can be found in the preset browser window.

The Parameters Browser

For more information about the parameters browser, see the Parameters Browser section of the Organizing the Project chapter. For more information about parameters and preset parameters, see the Parameters chapter.

28.113 Parent Event

"Parent event" means different things depending on what type of item it's the parent of.

The parent event of an instrument, track, or logic marker is the event that contains that instrument, track, or logic marker.

The parent event of a referenced event or snapshot changes depending on how it is triggered. When an instance of a referenced event or snapshot is created due to an event instrument or snapshot instrument being triggered, that instrument's parent event is also the referenced event or snapshot's parent event; but when the referenced event or snapshot is triggered by your game's code rather than by an event instrument, that referenced event or snapshot has no parent event.

A nested event's parent event is the event that contains that nested event. Because a nested event can only be referenced by its parent event, if a nested event is referenced, its parent event is the same regardless of whether it is referred to as a nested event or a referenced event.

28.114 Persistent

A persistent event instance does not naturally end, meaning that it does not automatically enter the stopped event state when there is no content to the right of its timeline playback position and no instruments in that event instance are currently producing output.

You can change whether an event is persistent or not by clicking the "Persistent" toggle button in the event's macros drawer. By default, a newly created event is not persistent.

28.115 Platform Encoding Settings

Platform encoding settings are the encoding settings specified for your project's target platforms, and are used when building banks for those platforms.

Platform Encoding Settings

Platform encoding settings can be overridden by the custom encoding settings of individual assets or folders in the assets browser.

Asset Encoding Settings

28.116 Platform Exclusion

Individual effects and tracks can be excluded from specific platforms. This allows you to alter the behavior and resource requirements of your project on a per-platform basis.

If a track is excluded from a platform, content on that track is not included in the banks built for that platform. If a bypassed track is an audio track into which other tracks are routed, those tracks are instead routed directly into whichever track the excluded audio track is routed into.

If an effect is excluded from a platform, that effect is not included in the banks built for that platform. An excluded effect does affect the channel format of the signal at its position in the signal chain, but does not otherwise process the signal.

To exclude a track or effect from a platform, right-click on the effect or the head of the track to open the context menu, select the "include on" menu item, then select the relevant platform.

28.117 Playback Position

The playback position of a parameter is the actual value of that parameter. When a parameter sheet is displayed in the editor, the parameter's playback position is displayed as a vertical white line.

Playback position

When viewing an event in the editor or a snapshot in the mixing desk, the playback position of a parameter indicates which content on that parameter would play if that event or snapshot were auditioned; or, if the event or snapshot is currently auditioning, it indicates which content on that parameter is currently playing.

Note that repositioning the cursor also changes the playback position in most cases.

In versions of FMOD Studio prior to 1.10.00, the playback position was called the 'cursor,' and the cursor was called the 'ghosted cursor.'

28.118 Playlist

A playlist is a list found in multi instruments and scatterer instruments. Playlists can contain single instruments, programmer instruments and event reference instruments, allowing multi instruments and scatterer instruments to produce a variety of possible outputs instead of just one.

Multi instruments select entries to play from their playlists when triggered, and again subsequently if their playlists are set to loop. See multi instruments in the instrument reference chapter for more information about multi instruments.

Scatterer instruments select entries to play from their playlists when triggered, and again subsequently every time their spawn interval passes, subject to the limits imposed by their polyphony and spawn total properties. See scatterer instruments in the instrument reference chapter for more information about scatterer instruments.

28.119 Playlist Selection Mode

A playlist selection mode is the method by which a multi instrument or scatterer instrument selects items to play from its playlist. Both instrument types allow you to choose from the same list of modes.

For more information about playlist selection modes, see the multi instrument Playlist Selection Mode and scatterer instrument Playlist Selection Mode sections of the Instrument Reference chapter.

28.120 Port Bus

A port bus is a kind of bus whose output is routed to a device associated with that port. The list of devices that can be associated with ports varies from platform to platform.

Like other kinds of bus, ports create a submix of all signals routed into them, and have their own signal chains. Any bus or event that is not a port, the master bus, or a nested event, can be routed into a port.

Ports can be created, modified and routed in the routing browser.

For more information about ports, see the Ports section of the Mixing chapter.

28.121 Post-fader

An effects module is said to be post-fader if its panel is positioned to the right of the fader panel in a signal chain. The panels in a signal chain are processed from left to right, meaning that a post-fader effect is applied to the signal after the fader.

An effects module whose panel is positioned to the left of the fader panel is instead pre-fader.

Post-fader effect

28.122 Pre-fader

An effects module is said to be pre-fader if its panel is positioned to the left of the fader panel in a signal chain. The panels in a signal chain are processed from left to right, meaning that a pre-fader effect is applied to the signal before the fader.

An effects module whose panel is positioned to the right of the fader panel is instead post-fader.

Pre-fader effect

28.123 Preset Browser Window

The preset browser window contains tools for managing your project's preset effects, effect chains, and preset parameters.

The Parameters Browser The Effects Browser
The Presets Window's Effects Browser and Parameters Browser.

The presets window can be opened by selecting "Windows > Preset Browser" in the menu bar.

For information about the browsers found in the preset browser window, see the Effects Browser and Parameters Browser sections of the Organizing the Project chapter.

28.124 Preset Effect

A preset effect is a version of an effect, send, sidechain, or effect chain that you can create multiple instances of throughout your project, all of which share the same property settings. They allow you to save time when making changes to your project, as any change made to a preset effect affects every instance of that preset effect throughout your project.

Preset effects can be used in the signal chains of events' tracks, but not in the signal chains of mixer buses.

To convert an existing effect or sidechain into a preset effect, right-click on the effect or sidechain in the deck and select "Convert to Preset" from the context menu.

Convert to Preset

To create a new preset effect from scratch, navigate to the effects browser in the preset browser window, right-click on the gray space, select "New Preset" from the context menu, then select the appropriate kind of effect, send, sidechain, or effect chain from the submenu.

You can create an instance of an existing preset effect anywhere in an event where an effect, send, sidechain, or effect chain of that type could exist. To do this, right-click on the desired location and select "Add Effect > Preset Effects" from the context menu, then select the desired preset effect. Alternatively, click and drag the preset effect from the effects browser to the desired location. Preset effects cannot be added to the signal chains of mixer buses.

All instances of a preset effect have the same property settings, including any automation and modulators. Because the property values of a preset effect can be subject to automation and modulation, it is possible for different instances of a preset effect to have different current property values. If a preset effect makes use of user parameters or built-in parameters (for example, for automation), those parameters are automatically added to every event that contains an instance of the preset effect.

Preset effects are identified in the deck by an arrow icon next to the effect's name. This icon is called the preset effect indicator icon. If this icon is present, the effect is a preset.

Preset effect indicator icon

Editing any property of any instance of a preset effect causes the preset effect indicator icon to flash. This indicates that all instances of the preset effect are affected by the change.

You may rename a preset effect by double-clicking on it in the effects browser. The name of a preset effect is displayed below every instance of that preset effect.

You can detach an instance of a preset effect from that preset effect. This causes that instance to become a normal effect or sidechain of the same type, no longer linked to the preset effect. To do this, right-click on the preset effect instance and select "Detach from Preset" from the context menu.

Note that if an event contains multiple instances of a sidechain preset effect, anything in the event that uses that sidechain as its input will receive input from all instances of that preset effect in the effect instance.

28.125 Preset Parameter

Every user parameter and built-in parameter is a reference to a preset parameter, and a preset parameter defines the type and properties of all parameters referencing it.

Most of the properties associated with such parameters are actually properties of the associated preset parameter; editing these properties alters the properties of the preset parameters. The only properties that belong to parameters and not their associated preset parameters are the current values of local parameters.

Preset parameters can be viewed and edited in the parameters browser.

28.126 Probability Condition

A probability condition can be specified for any instrument, loop region, transition marker or transition region. It specifies the probability of that marker or instrument being triggered each time the playback position interacts with it.

Probability condition

To assign a probability condition to a marker or instrument, select the marker or instrument in the event editor window's editor, click on the dice icon in the deck, then click and drag the probability dial to the desired value.

The probability condition of an instrument is evaluated once each time the playback position enters the instrument. The probability condition of a transition marker is evaluated once each time the playback position encounters it. The probability condition of a transition region is evaluated once each time the playback position enters the region (if it is not quantized) or once each time the playback position encounters one of the region's quantization points.

28.127 Programmer Instrument

A programmer instrument is a placeholder for a sound to be selected at run time. When a programmer instrument is triggered, it generates a callback which is passed to your game's code. Your game's code can then specify an audio file for the FMOD Engine to play.

For an example of how programmer instruments can be used in a game's code, see the Dialog and Localization section of the FMOD Engine User Manual.

For the purposes of auditioning in FMOD Studio, programmer instruments can be assigned placeholder audio files. These placeholder files are not built into banks and do not play when the instrument is triggered in your game. They exist purely so that programmer instruments can make a sound when auditioned in FMOD Studio.

28.128 Project Migration

Project migration is the process of adapting the format of an FMOD Studio project from one major version of FMOD Studio to that of a later major version. It is a one-way process, for example, if a project was originally created in FMOD Studio version 2.01.15, but you need to take advantage of features only available on FMOD Studio version 2.02.00 and later, you will need to migrate that project. After migrating, it is impossible to open the project using an earlier major version.

Bank files built with FMOD Studio are compatible only with FMOD Engine versions that share the same major and product version numbers. As a result, migrating a project to a newer major version of FMOD Studio requires upgrading your game to the same or a later major version of the FMOD Engine.

To migrate a project, open the project in the version of FMOD Studio you wish to migrate it to, and follow the on-screen prompts.
Prompt to migrate FMOD Studio project

We recommend that you do not migrate your project mid-way through a game project's development. This is because new major versions may change behavior in ways that go beyond bug fixes. If you must migrate to a new major version, be sure to allocate plenty of time to testing your game's audio output afterwards.

28.129 Project Mixer

The mixer represents and allows you to edit your project's routing and mix.

The mixer may be found in the mixer window.

28.130 Quantization

Quantization is a behavior that can be added to any instrument or transition region. It causes the quantized transition region or instrument to trigger only on certain beats or bars.

The beats and bars of an event are positioned along the timeline based on the event's tempo markers. If there are no tempo markers in the event, it defaults to 120 beats per minute and 4/4 time for this purpose.

When a quantized transition region has a probability trigger condition, the probability condition is checked once each time the playback position reaches a quantization point.

To quantize an instrument or transition region, select it in the editor, then select the desired quantization interval in the deck.

28.131 Referenced Event

A referenced event is an event that is referenced by an event instrument in at least one other event. The event that contains the event instrument is referred to as the referenced event's parent event.

An event instrument allows an event to create and stop instances of the event referenced by that event instrument. This makes it possible to combine different events to achieve a vast range of output results.

Nested events can only be referenced by their parent events, and cannot be played by other means.

For more information about referenced events, see the Referenced Events section of the Authoring Events chapter.

28.132 Return Bus

A return bus is a type of bus. Like a group bus, it creates a submix of the signals it receives; However, unlike a group bus, events and buses cannot be routed into a return bus. Instead, a return bus receives signals from sends in the signal chains of buses and tracks.

Return buses may be created and modified in the routing browser.

28.133 Return Track

A return track is a kind of track. Like an audio track, it creates a submix of the signals it receives. However, unlike an audio track, instruments and other tracks cannot be routed into a return track. Instead, a return track receives signals from sends in the signal chains of tracks.

Return tracks may be created and modified in the editor of the event editor window.

Return buses can be displayed as return tracks in the mixing desk. To do this, select a snapshot whose scope includes the return bus, then set the mixing desk to tracks view.

28.134 Routing

Routing is the process by which audio signals are transported from one element of a project to another. The outputs of instruments are routed into the audio tracks or master tracks on which those instruments are placed, the outputs of audio tracks are routed into other audio tracks or into the event's master track, the output of events' master tracks are routed into group buses or the project's master bus in the mixer, and the outputs of buses in the mixer are routed into other group buses or into the project's master bus.

Routing browser

In the Routing Browser, the arrangement of buses represents the routing of the project; Signals are routed from right to left, with the outputs of the leftmost buses being routed into the project's master bus.

Setting up routing is an essential part of mixing your project.

28.135 Routing Browser

The routing browser is a tool for viewing and editing your project's bus and event routing. It can be found under the 'Routing' tab in the mixer window, as well as in the mixer routing window.

The Routing Browser

For more information about routing, see the Mixing chapter. For more information about the routing browser, see the Routing Browser section of the Organizing the Project chapter.

28.136 Routing Effect

A routing effect is an effect that uses the signal at its position in the signal chain to create a new signal that's routed somewhere else.

The send and transceiver effects are examples of routing effects.

Creative effects are one of the three main categories of effect, along with creative effects and analytic effects. Effects may fall into more than one category; for example, the object spatializer effect is both a creative effect and a routing effect.

28.137 Sandbox Window

The sandbox window contains tools for auditioning your project's events and snapshots in a game-like context. This allows you to more easily audition 3D behavior or mix your project without using live update to connect to a running instance of your game.

step 0

The sandbox window can be opened by selecting "Windows > Sandbox" in the menu bar.

A scene is required to audition events. If no scene has been created yet you can create one by right clicking in the scenes area and selecting "New Scene".

28.138 Scatterer Instrument

The scatterer instrument is a type of instrument with features that permit spatial and temporal randomization.

When the instrument is triggered, an item from its playlist is selected for play. A scatterer instrument's playlist can contain single instruments, event instruments, programmer instruments, multi instruments, command instruments, and silence instruments.

A scatterer instrument can select and spawn an instrument from its playlist regardless of when the previous one it spawned finishes playing, can randomize the volume and pitch of each spawned instance individually, and can assign a different location to each spawned instance for the purposes of panning and other location-dependent behaviors.

Playlist entries can be set to loop. The item selected from a scatterer instrument's playlist depends on the instrument's playlist selection mode. By default, a scatterer instrument's playlist selection mode is set to shuffle. To change it, use the playlist selection mode dropdown menu.

For more information on scatterer instruments, please see the instrument types of the working with instruments chapter.

28.139 Scene

A scene is a virtual 3D environment used for auditioning your project's events and snapshots as if they were in a game environment.

For more information about scenes, see the Scenes section of the The Sandbox chapter.

28.140 Scenes Browser

The scenes browser is a tool for creating, naming, and organizing scenes. It can be found in the sandbox window.

The Scenes Browser

For more information about the scenes browser, see the Scenes Browser section of the Organizing the Project chapter.

A search bar is a text entry field marked with a magnifying glass icon. They're found in browsers, as well as in FMOD.io, and are used to search for items that match the text entered into the field.

Browser Search Bar

For information about browser search bars, see the Browser Search Bar glossary entry and the Searching section of the Organizing the Project chapter. For information about searching in FMOD.io, see the Browsing the Catalog section of the Managing Assets chapter.

28.142 Searching

Large projects often contain hundreds, thousand or even tens of thousands of events, audio files, buses, and other items. Being able to find specific elements of a project quickly and efficiently is a critical aspect of project management and workflow.

To simplify searching for items, each browser has a search bar below its browser tabs, marked by a white magnifying glass icon.

Browser Search Bar

You can type in complete words, partial words, or even single letters to define a search. FMOD Studio instantly updates the items displayed in the browser that match the search terms. The items listed are relevant only to the type associated with the active browser, so searching in the event browser finds matching events, searching in the asset browser only finds matching sound files, and so on.

All search bars can be used to search for items using the following terms:

  • Snippets of text inserted
  • {%items_GUID%} - The item's GUID
  • event:/%path_to_item% - The item's path

Items can be dragged onto the browser search bar to find out the GUID and path, as well as right clicking and choosing "Copy GUID" or "Copy Path".

You can find a menu of pre-defined search terms by clicking on the magnifying glass icon.

28.143 Send

A send creates a duplicate of the signal at the send's location, and sends the duplicate signal to a specified return track or return bus. Sends exist in signal chains, and can be placed before or after specific effects modules in the chain in order to duplicate the signal before or after it is processed by those effects modules.

Send

Sends in events can target both return tracks within the same event and return buses in the mixer. Sends on buses can only target return buses in the mixer.

28.144 Sheet

A sheet is a single page of an event, capable of triggering instruments. Sheets allow you to visualize and define the circumstances in which your events do the things that they do.

A sheet can be either an action sheet, or a parameter sheet. For example, a timeline sheet is a common type of parameter sheet.

28.145 Sheet Tab

Sheet tabs represent the sheets of an event. They are labeled with the names of their sheets, and appear in the sheet tab bar at the top of the event editor window's editor when the event is selected in the events browser.

The Sheet Tab Bar

Clicking on a sheet tab causes the associated sheet to be displayed in the editor.

28.146 Sheet Tab Bar

The sheet tab bar appears at the top of the event editor window's editor and mixing desk. It contains the sheet tabs of the currently selected event or snapshot.

The Sheet Tab Bar

28.147 Sidechain Effect

A sidechain effect is an effect whose function is to create a duplicate signal that may be used by an effect or modulator that can be sidechained, such as an FMOD compressor effect or a sidechain modulator.

If a sidechain effect is a preset, and there are multiple instances of that preset in an event, any modulator in that event set to receive a signal from that sidechain will receive a signal from all of them.

28.148 Signal

The signal is an abstraction of the audio data flowing through an FMOD Studio project. Understanding how signals flow through a project is necessary to understand how routing and signal chains work.

In most cases, signals originate from instruments, which route their output signals into the event tracks that contain those instruments. (Instruments on action sheets are considered to be on the event's master track for this purpose.) Each track and bus creates a submix of all the signals flowing into it; this submix's signal then flows through that bus or track's signal chain, passing through each of the effects in that signal chain from left to right before reaching its output; from there, the signal is routed to that track or bus's routing destination. All signals eventually flow to the master bus or a port bus.

In some cases, a signal may originate from a plug-in effect rather than an instrument. When this occurs, the signal originates at the effect's position in the track or bus signal chain. Depending on the design of the plug-in, such a signal may either replace or be mixed with the signal that would otherwise exist at that position in the signal chain.

28.149 Signal Chain

A signal chain is a representation of the processing undergone by a signal as it passes through a bus or track. Clicking on a bus or the head of a track causes that bus or track's signal chain to be displayed in the deck.

Signal chain

The signal chain of an event's track is the same in all instances of that event.

28.150 Silence Instrument

A silence instrument is a kind of instrument that does not produce any output. When added to a consecutive action sheet or the playlist of a multi instrument or scatterer instrument, a silence instrument allows you define a circumstance in which the action sheet or instrument does not produce any sound.

For more information about silence instruments, see the Silence Instrument section of the Instrument Reference chapter.

28.151 Single Instrument

Single instruments are a kind of instrument that can hold only one audio file. As such, single instruments lack playlists, but otherwise closely resemble multi instruments.

The content of a single instrument can not vary between instances of an event.

The output of a single instrument can vary between instances of an event.

28.152 Snapshot

A snapshot is an instanceable unit of changes to the project mix that can be triggered, controlled, and stopped from game code in the same manner as an event. Each snapshot represents a different way your game's mix can change in response to the circumstances in your game as it runs.

Snapshots in the snapshots browser

Like events, snapshots are ongoing once triggered, and last until they're stopped. An active snapshot replaces some property values of the project mix until the snapshot is stopped, at which point the mix reverts to the state it would have been in were the snapshot never active.

Snapshots can be created in the snapshots browser, under the snapshots tab of the mixer window. Clicking on a snapshot in the snapshots browser displays it and makes it editable and auditionable in the mixing desk.

Mixing desk with snapshot selected

Most snapshots only include a small subset of the properties in your project. Properties not included in a snapshot are never affected by that snapshot, meaning that they can be freely altered by other snapshots with no chance of a clash. This means that you can have multiple snapshots active at once without them overriding each other as long as each snapshot affects a different subset of the project's properties.

The properties that a snapshot affects are said to be 'scoped in' to that snapshot. The controllers of properties not scoped in to a snapshot are displayed as dashed outlines in the mixing desk and deck. To change whether a given property is scoped in to the currently selected snapshot, right-click on the desired property in the mixing desk or deck, then select "Scope In" from the context menu.

When two different snapshots that affect the same property (or two instances of the same snapshot) are active at the same time, the mix's behavior depends on the priority and intensity of those snapshots, and whether those snapshots are blending or overriding. For detailed information about combining multiple snapshots, see Snapshots and the Tracks View in the Mixing chapter.

28.153 Snapshot Instance

Your game can play multiple instances of each snapshot in your project. It is even possible for multiple instances of the same snapshot to be playing simultaneously.

For example, a snapshot that represents a cave reverb might be needed in multiple locations in your game. An instance of this cave snapshot might be placed in each cave in your game.

All instances of the same snapshot have the same content. However, each snapshot instance has its own timeline position, position in 3D space, random modulator adjustments, and local parameter values. Different instances of the same snapshot can therefore have different effects on the mix, even if they play simultaneously.

For information on creating and playing snapshot instances in your game's code, see the Studio API Guide chapter of the FMOD Engine User Manual.

28.154 Snapshot Instrument

Snapshot instruments are a type of event instrument. Triggering a snapshot instrument causes a new instance of the corresponding snapshot to begin playing. When the playback position leaves the snapshot instrument, the instrument is untriggered, and the corresponding snapshot instance stops.

Each triggered snapshot instrument causes a new instance of the snapshot to play. Multiple simultaneous instances of a snapshot can also be triggered by multiple simultaneous instances of an event.

The property values of a snapshot instance started by a snapshot instrument are affected by the snapshot instrument's intensity.

Snapshot instances can also be started and stopped by your game's code. For more information about snapshots, see the snapshots and the tracks view section of the mixing chapter.

28.155 Snapshots Browser

The snapshots browser displays your project's snapshots and snapshot groups. It allows you to create, prioritize, and edit snapshots, and is found in the mixer window.

The Snapshots Browser

The order in which snapshots and snapshot groups appear in the snapshots browser determines their priority, and thus which snapshots determine a property's value when multiple snapshots that change a given property are active simultaneously. For information about snapshot priority, see the Overriding versus Blending Snapshots section of the Mixing chapter.

For more information about the snapshots browser, see the Snapshots Browser section of the Organizing the Project chapter.

28.156 Spatial Randomization

Spatial randomization is the name for causing an instrument in an event to be panned as if it were located a random distance in a random direction from the event's actual location.

Spatial randomization may be applied to an instrument if that instrument is in the playlist of a scatterer instrument. The area within which such an instrument could potentially be for the purposes of panning when randomly spatialized is defined by the scatterer instrument's min & max scatter distance ribbon slider.

28.157 Spatialization

Spatialization is the term for any method of processing audio to seem as if it comes from a particular position in 3D space. It helps make a game's world seem immersive and realistic by making the audible positions of objects in your game better match what the player sees on their screen, and also allows your game to communicate information about the distance and direction of in-game objects and events to the player.

In FMOD Studio, spatialization is most commonly achieved by adding an FMOD Spatializer effect to the master track of each event you want to spatialize. If you create an event by using the "New 3D Action" or "New 3D Timeline" context menu command, the spatializer effect is added for you.

For more information about spatialization, see the Spatialization Options section of the Advanced Topics chapter.

28.158 Spatializer Effect

The spatializer effect is an effect that attenuates and pans a signal based on the event emitter's position relative to the listener and the spatializer effect's properties. This "spatializes" the signal, making it sound as if it came from a particular direction and distance.

Spatializer Effect

Note that the spatializer effect up-mixes signals to the platform surround speaker mode in order to apply panning and attenuation in that mode, and so may result in minor changes to the stereo or surround qualities (including panning) that the signal had prior to being spatialized if it was in a different format.

Note also that, as each instance of an event can have a different position relative to the listener, each instance may be affected differently by that event's spatializer. This is the most common method by which event instances in different game locations are made distinct.

The min & max distance properties and rolloff mode of a spatializer effect together determine how much the signal is attenuated at different distances. By default, the spatializer effect uses the min and max distance of the event, but you can override this behaviour and specify a different min and max distance for the effect in the effect's distance override drawer.

Distance Override Drawer Collapsed Distance Override Drawer Expanded
The distance override drawer, collapsed and expanded.

The default rolloff mode is linear squared, and is suitable for the vast majority of games and events without further modification. In linear squared rolloff mode, the signal is not attenuated when the listener is within the spatializer's min distance, is -∞ dB when the listener is beyond the spatializer's max distance, and drops off according to a linear squared curve as the listener moves from the min distance to the max distance. The other available rolloff modes are linear, inverse, inverse tapered, and off.

The distance property uses the same unit of distance as your game unless your game code provides a conversion. (The FMOD for Unreal Engine integration includes such a conversion by default: It converts from Unreal units to FMOD Studio distance units at a rate of 100 Unreal units = 1 FMOD Studio distance unit.) Note that most examples and tutorials for FMOD Studio are designed for distance units one meter long, as many modern game engines use meters as their standard unit of measurement.

The min & max distance properties override section of the spatializer effect is accessed by clicking on the disclosure triangle labeled "Distance Override". When enabled, the settings in the override section are used for that specific spatializer effect instead of the min & max distance properties in the event's macros drawer. If there are multiple spatializer effects in an event, enabling the distance override on one of them only enables it for that one. All other spatializer effects will continue using the min and max distance specified in the event macro controls.

The 2D pan mix section of the spatializer effect is accessed by clicking on the disclosure triangle labeled "2D Pan Mix". The pan override panner allows you to manually define panning for the signal, and the mix property allows you to blend between this manually defined panning and the automatic panning based on the event emitter's position relative to the listener. Note that the panning specified using the pan override panner does not depend on the event emitter's position relative to the listener.

Envelopment determines the extent of the event at any distance from the listener. The default, auto mode, sets min extent to 0 degrees and sets sound size to twice the spatializer's min distance property, and is usually sufficient to prevent event instances from suddenly "flipping" from one side of the listener to the other when they pass the listener at close range. User mode allows you to specify the spatializer's sound size and min extent manually, and off mode disables sound size and min extent.

Note that even if the listener is inside the diameter defined by the sound size, the event will still have some directional qualities unless the listener is at the exact same location as the emitter.

The spatializer's LFE property determines the volume of the Low Frequency Effect (LFE) channel in the spatializer's output. If the signal has no LFE content prior to being spatialized, you can click on the speaker icon below the LFE slider to enable or disable LFE up-mix, which automatially generates LFE output based on the output of the other channels.

The spatializer's meters show the levels of each channel in the spatializer's output.

28.159 Speaker Channel

An individual channel within a given speaker channel format, theoretically corresponding to a specific hardware speaker in a speaker system or pair of headphones.

Speaker channels are often called by referencing the hardware speaker positions they represent. The most commonly used speaker channels in FMOD Studio (and their abbreviations) are as follows:

28.160 Speaker Channel Format

See channel format.

28.161 Sustain Point

Sustain points are a type of logic marker.

When the timeline playback position reaches a sustain point, it stops there. This effectively pauses any synchronous instrument overlapped by the timeline playback position, without affecting the playback of asynchronous instruments.

The playback position can continue past the sustain point once either the event instance has received a key off command or the sustain point no longer meets its parameter conditions or event conditions.

Note that even if an instrument falls silent due to being paused, that instrument is still technically outputting a signal and taking up voices within your project. This means that an event that falls silent due to a sustain point may continue to take up system resources as if it was still audible.

Note that sustain points do not respect logic marker priority. When the timeline playback position arrives at a sustain point, it stops there even if there are other higher-priority logic markers at the same timeline position.

28.162 Synchronous

In synchronous instruments, the part of the audio file that plays always corresponds to the part of the trigger region's waveform graphic that is overlapped by the timeline playback position. This allows you to seek within the audio files in a synchronous instrument by repositioning the timeline playback position.

The synchronous behavior of an instrument can be identified by the appearance of the waveform graphics drawn on its trigger region: If the waveforms stretch all the way to the edge of the trigger region, the instrument is synchronous; And if the waveforms are contained within borders, the instrument is asynchronous.

Synchronous instruments were called "Timelocked Sound Modules" in FMOD Studio versions 1.09 and earlier.

28.163 Tag

A tag is a customizable label that can be attached to events, snapshots, and scenes. Tags have no effect on in-game behavior, but may be used to categorize items so that they may be more easily searched for in FMOD Studio.

The tags associated with a snapshot or event are displayed near the bottom of the events browser or snapshots browser when the event or snapshot is selected in that browser.

Event Tags

You can search for items with a specific tag by typing a hash ("#") followed by the name of that tag into the browser search bar of the events browser, banks browser, routing browser, VCAs browser, snapshots browser, sessions browser, and scenes browser.

Searching for Events by Tag

You can create, edit, and organize tags in the tags browser.

The Tags Browser

28.164 Tempo Marker

A tempo marker is a kind of logic marker that defines the beats per minute and time of an event. These properties are used when quantizing instruments, magnet regions, and transition regions to beats and bars. If there is more than one tempo marker in an event, each tempo marker sets the BPM and time for the region of the timeline between that marker and the next tempo marker to the right. If there are no tempo markers in an event, it defaults to 120 BPM and 4/4 time.

Tempo marker

To add a tempo marker to the event currently displayed in the editor, right-click on the logic tracks, then select "Add Tempo Marker" from the context menu. Like other logic markers, tempo markers can only be added to the timeline of an event and not to its other parameters.

To change the beats per minute or time specified by a tempo marker, double-click on it, then enter new values with your keyboard.

You can move a tempo marker to a new logic track or location on the timeline by clicking and dragging it to the new location.

28.165 Timeline

Timelines are a type of parameter with special properties.

An event can contain no more than one timeline parameter.

A timeline automatically increases its value over time while the event plays. The initial value of a timeline is always zero.

Timelines are the only parameters capable of triggering logic markers.

Timelines are not based on preset parameters.

28.166 Timeline Logic

Timeline logic is the behavior of the playback position of the timeline parameter defined by the logic markers in an event. Timeline logic is used to create complex time-based behaviour, such as loops and transitions.

28.167 Timeline Parameter

A timeline parameter is a parameter whose value automatically advances when the event instance containing that parameter is playing, unless its current value reaches a sustain point.

Unlike other parameters, timeline parameters do not reference preset parameters, cannot be created or changed with the edit parameter dialog, and cannot be used for the parameter trigger conditions of instruments and logic markers. Timeline parameters are also the only type of parameter whose parameter sheets can contain logic markers.

Timeline parameters are always local in scope, and the value of a timeline parameter cannot be modulated or automated.

For more information about timeline parameters, see the Timeline Parameters section of the Parameters chapter and the Timeline Parameters section of the Parameters Reference chapter.

28.168 Timeline Parameter Sheet

A timeline parameter sheet is the parameter sheet associated with the timeline parameter of an event.

A Timeline Sheet

Because timeline parameters increment over time from when the event starts and timeline parameter sheets support timeline logic, timeline parameter sheets are especially useful for music and other sounds whose behavior is time-dependent.

28.169 Timeline Sheet

A timeline sheet is a parameter sheet for a timeline parameter. Like other parameter sheets, it's a single page of an event or snapshot that can contain instruments associated with that event's timeline, and can display the automation curves associated with that event's timeline. You can view a timeline sheet by clicking its tab while in the tracks view. The instruments on a timeline sheet are shown on the event tracks into which they are routed.

Timeline Sheet

When a parameter's playback position overlaps an instrument on a parameter sheet, the instrument is triggered. For more information about instruments and trigger conditions, see the Working With Instruments chapter.

Unlike other kinds of parameter sheets, timeline sheets can support logic markers. Because of this, timeline sheets are often used for sounds that need complex time-based behavior, such as music and dialog. For more information about logic markers, see the Timeline Logic section of the Authoring Events chapter.

If an event or snapshot does not already have a timeline sheet, you can add one by right-clicking on the tab for an existing sheet or the + tab in the sheet tab bar and selecting "Add Timeline Sheet" from the context menu.

Removing a sheet from an event removes all instruments on that sheet from the event, but has no effect on automation. You can remove a timeline sheet from an event by right-clicking on its tab and selecting "Remove Timeline Sheet" from the context menu.

28.170 Track

With the exception of automation tracks, tracks function as buses within an event, allowing each event instance to function as a small mixer. Depending on their type, tracks can receive input from instruments, effects, sends, and other tracks.

An event's tracks can be viewed in the event editor window by selecting the event in the events browser. Tracks can additionally be viewed as mixer strips in the event editor window's strips view.

step 0

The content and routing of a track can not vary between instances of an event.

The output of a track can vary between instances of an event.

See also master track, audio track and return track.

28.171 Track Head

Track heads are gray panels that appear down the left side of the editor or mixing desk when in tracks view. Each track head shows the associated track's name and simplified output meter, as well as monitoring controls and the track's fader control.

Clicking on a track head selects the associated track and causes its signal chain to be displayed in the deck.

28.172 Track Output Panner

A track output panner allows you to pan the output signal of a track or bus. Each track or bus whose output channel format is something other than mono has a track output panner, and the track output panner associated with a track or bus can be found in the deck when that track or bus is selected in the editor or mixing desk.

The track output panner's processing is applied to the signal after that of all the effects in the signal chain of the track or bus.

The appearance and controls of the track output panner change depending on the channel format of the bus or track's output.

If the output's channel format is stereo, the track output panner is a dial labeled "pan." Adjusting this dial adjusts the panning of the signal.

stereo track output panner

If the output's channel format is a surround format and the signal it receives from the rightmost effect in the signal chain is any channel format other than stereo, the surround panner lets you pan the signal between all available speakers by clicking and dragging the white dot at its center. This alters the effect's "direction" and "extent" properties.

5.1 track output panner 7.1.4 track output panner

If the output's channel format is a surround format and the signal it receives from the rightmost effect in the signal chain is in stereo channel format, the surround panner has two possible modes for converting the stereo signal to surround. In "Stereo In: Distributed" mode, the surround panner lets you pan the signal between all available speakers by clicking and dragging the white dot at its center, as above. In "Stereo In: L/R" mode, the white dot represents the left speaker and the red dot represents the right speaker. Moving the empty circle pans the sound (altering the "axis" property), and moving the red or white dots adjusts the stereo width (altering the "width" property). To switch between these two modes, right click on the track output panner and select your choice of mode from the context menu.

28.173 Transition Marker

A transition marker is a kind of logic marker that makes the playback position jump from the transition marker's location to a specified destination marker or loop region elsewhere in the event.

Transition markers

To add a transition marker to the event displayed in the editor, right-click on the logic tracks, then select "Add Transition Marker" from the context menu. Like other logic markers, transition markers can only be added to the timeline of an event and not to its other parameters.

You can move a transition marker to a new logic track or location on the timeline by clicking and dragging it to the new location.

You can add trigger conditions to a transition marker so that it only functions under certain circumstances. To do this, click on the transition marker, then change its trigger behavior in the deck. The two kinds of trigger behavior available for transition markers are probability conditions and parameter conditions. Note that the parameter conditions of a transition marker are evaluated each time the playback position reaches the transition marker.

You can add a transition timeline to a transition marker by double-clicking on it. Transition markers that already feature transition timelines are indicated by a hollow circle icon.

Transition marker with hidden transition timeline

Double-clicking on a transition marker that already features a transition timeline opens that transition timeline, or closes it if it is already open.

28.174 Transition Region

A transition region is a kind of logic marker that makes the playback position jump from the transition region's location to a specified destination marker or loop region elsewhere in the event.

Transition regions

To add a transition region to the event displayed in the editor, right-click on the logic tracks, then select "Add Transition Region" from the context menu. Like other logic markers, transition regions can only be added to the timeline of an event and not to its other parameters.

You can move a transition region to a new logic track or location on the timeline by clicking and dragging it to the new location.

You can add trigger conditions to a transition region so that it only functions under certain circumstances. To do this, click on the transition region, then change its trigger behavior in the deck. The three kinds of trigger behavior available for transition regions are probability conditions, parameter conditions, and quantization. The parameter conditions of a transition region are evaluated continuously as long as the playback position remains inside the transition region, but the probability condition of a transition region is evaluated only when the playback position enters the transition region (if it is not quantized) or encounters one of its quantization points (if it is quantized).

You can add a transition timeline to a transition region by double-clicking on it. Transition regions that already feature transition timelines are indicated by a hollow circle icon.

Transition region with hidden transition timeline

Double-clicking on a transition region that already features a transition timeline opens that transition timeline, or closes it if it is already open.

28.175 Transition Timeline

A transition timeline is a special timeline that can exist between a transition marker (or transition region) and its associated destination marker, destination region, magnet region, or loop region, between a loop region's endpoint and its beginning, or between the outside of a magnet region and its inside. When the playback position is inside a transition timeline, it is not present on the normal timeline. Transition timelines may contain instruments and automation points, and can be used to make transitions more complex and detailed.

To add a transition region to a marker or region that doesn't already have one, double-click on the marker or region. Transition markers and transition regions that already feature transition timelines are marked with a hollow circle icon.

Transition region with hollow circle icon

You can open an existing transition timeline for display in the editor by double-clicking on the associated marker or region. Double-clicking on the transition marker or transition region of an open transition timeline closes the transition timeline.

Only one transition timeline can be displayed in the event editor window's editor at any given time. If a transition timeline is already open for display and you double-click on another transition marker or transition region to open its transition timeline, the displayed transition timeline will automatically close.

Transition timelines can be made to play content from parts of the main timeline. To play content from after the transition marker on a transition timeline, click and drag the left edge of the transition timeline to the right to create a source region on the track. To play content from after the destination marker or loop region of a transition timeline, click and drag the right edge of the transition timeline to the left to create a destination region on the track.

Transition timeline with source and destination regions

Source and destination regions can be crossfaded with each other, as well as with instruments on the transition timeline.

28.176 Transport Controls

The transport controls are a collection of buttons used to audition content in FMOD Studio. Transport controls are found in several places throughout FMOD Studio.

Transport Controls

In the editor, the transport controls allow you to play, pause and stop the currently displayed event. For more information about auditioning events, see the auditioning events section of the authoring events chapter.

In the sandbox, the transport controls allow you to play and stop the currently selected event emitter. These controls are grayed out when no event emitter is selected.

In the mixing desk, the transport controls allow you to play, pause and stop the currently selected snapshot. These transport controls appear only when a snapshot is selected in the snapshots browser.

In the profiler, the transport controls allow you to play, pause, stop and record the currently selected profiler session. When no session is selected, clicking the record button creates a new session.

28.177 Trigger

An instrument is triggered when the playback position begins to overlap the instrument's trigger region, and the instrument's trigger conditions are met.

A logic marker is triggered when the timeline's playback position overlaps the marker and the marker's trigger conditions are met.

An instrument or logic marker's behavior when triggered depends on the instrument or logic marker's type. For information about the various types of instruments and logic markers, see the Instruments and Timeline Logic sections of the Authoring Events chapter.

28.178 Trigger Condition

A trigger condition of an instrument or logic marker defines a circumstance under which that instrument or logic marker may be triggered. If the trigger condition list is set to "AND" mode, the instrument or logic marker can only be triggered when the playback position of the timeline overlaps the marker or instrument's trigger region and all the conditions in the trigger condition list are met. If an list is instead set to "OR" mode, the instrument or logic marker can only be triggered when the playback position overlaps the marker or instrument's trigger region and at least one of the conditions in the list are met.

Continuous Parameter Condition Labeled Parameter Condition Not Stopping Event State Condition

The trigger conditions of an instrument also define the conditions under which it untriggers.

There are two kinds of trigger condition. Parameter conditions are met when a specified parameter's value is within a specified range. Event state conditions are met when the event instance is in a specified event state. Trigger conditions that are currently met are highlighted. For information about each of these trigger condition types, see the Parameter Conditions and Event State Conditions sections of the Working With Instruments chapter.

28.179 Trigger Condition List

A trigger condition list is the collection of trigger conditions associated with an instrument or logic marker.

By default, a trigger condition list is set to "AND" mode. In this mode, the instrument or logic marker can only be triggered when the playback position overlaps the logic marker or instrument's trigger region and all the conditions in the list are met. If an instrument or logic marker is instead set to "OR" mode, it can only be triggered when the playback position overlaps the logic marker or instrument's trigger region and at least one of the conditions in its list are met.

Any trigger condition that is currently met is highlighted in the trigger condition list.

28.180 Trigger Region

A colored box that represents the range of parameter values that can trigger an instrument or snapshot. Trigger regions that represent instruments are displayed on the tracks to which they output a signal when triggered.

28.181 Untrigger

An instrument is untriggered when the playback position ceases to overlap the instrument's trigger region or the instrument's trigger conditions stop being met.

The behavior of an untriggered instrument is determined by a number of factors, including its cut behavior, whether it is synchronous or asynchronous, and whether any of its properties are subject to AHDSR modulation.

28.182 Up Vector

The up vector of an event instance or listener is the direction in which the top of that listener or instance is pointing. In games where the listener is attached to the camera, the listener's up vector matches the direction coming out of the top of the camera.

Listener's Horizontal Plane
In this diagram, the head represents the listener, and the green line coming from the top of the head represents its up vector.

Because the forward vector is the direction in which the front of the listener or instance is pointing, the angle between the up vector and the top vector is always 90 degrees.

The forward vector and up vector of a listener are used to calculate that listener's horizontal plane.

28.183 User Parameter

A user parameter is a type of parameter that's created and defined by an FMOD Studio user, such as you. A user parameter can be customized to represent any variable in your game.

Unlike timeline parameters and built-in parameters, user parameters do not update automatically, and must be set and adjusted by your game's code, command instruments, automation, or modulators.

The three types of user parameter are continuous user parameters, discrete user parameters, and labeled user parameters.

For more information about user parameters, see the User Parameters section of the Parameters chapter and the User Parameters section of the Parameters Reference chapter.

28.184 User Property

User properties are custom variables created for events. They can be read by a game at run time, and are most commonly used to mark specific events for special treatment. The value of a user property can be either a floating point number or a string.

For more information about user properties, see the User Properties section of the Advanced Topics chapter.

28.185 VCA

A VCA (or "Voltage Controlled Amplifier") is a volume property that adjusts the volume of the buses, events, and other VCAs assigned to that VCA. You can assign events and buses to VCAs regardless of their routing, and the value of a VCA can be set by your game's code, meaning that VCAs provide an easy way for your game to adjust the volumes of multiple unrelated buses that do not share routing.

A VCA in the Browser
A VCA Mixer Strip

When a bus is assigned to a VCA, the VCA adjusts the final volume of the signal output by that bus, not the volume of that bus's fader. Similarly, when an event is assigned to a VCA, the VCA affects the volume of the signal output by that event, not the volume of its master track's volume fader.

You can create and manage VCAs in the VCAs browser of the mixer window. You can assign a bus, event, or VCA to an existing VCA by right-clicking on the item to be assigned in any browser, and selecting "Assign to VCA" from the context menu.

For more information about VCAs, see the VCAs section of the Mixing chapter.

28.186 VCAs Browser

The VCAs browser displays your project's VCAs. It allows you to create, edit, and organize VCAs, and is found in the mixer window.

The VCAs Browser

For more information about VCAs and the VCAs browser, see the VCAs section of the Mixing chapter and the VCAs Browser section of the Organizing the Project chapter.

28.187 Version

The version number of an FMOD product. Version numbers are split into three parts, in the format: productVersion.majorVersion.minorVersion. For example, the version 1.23.45 would indicate product version 1, major version 23, and minor version 45 of that major version.

28.187.1 Product and Major Version

New product and major versions contain significant changes, add new features, and may affect bank compatibility and change playback behavior in some cases. Updating to a new product or major version usually requires project migration.

28.187.2 Minor Version

Minor versions, also known as patch versions, contain bug fixes and smaller workflow improvements. Updating to a new minor version does not require project migration.

The first few minor versions within each major version are early access versions. Early access versions have passed our internal QA testing and been deemed stable. However, because the new features and changes that they include have not yet been used in games, they may in some cases include bugs that only become apparent during actual game development.

28.187.3 Version Compatibility

Built bank files are compatible with any version of the FMOD Engine with the same product and major version numbers as the version of FMOD Studio used to build them. For example, a bank built in FMOD Studio version 2.02.03 is fully compatible with FMOD Engine versions 2.02.03, 2.02.00, and 2.02.10, but not with versions 1.02.03, 2.01.03, and 2.03.03.

In addition, a bank built by a given major version of FMOD Studio can be loaded by any later major version of the FMOD Engine. However, because new major engine versions frequently include minor changes to behavior, banks loaded in later major versions may behave exhibit small changes in behavior in some circumstances. For example, banks created in FMOD Studio version 1.10.xx can be loaded in FMOD Engine version 2.00.xx or 2.02.xx, but might sound slightly different in those versions than in 1.10.xx.

For advice on picking which version to use, see the FMOD Versions section of the FMOD Studio Concepts chapter.