Changes

Jump to navigation Jump to search

Documentation/Engine/Sound

1,416 bytes added, 13:13, 2 August 2023
Sound documentation
=== WARNING ! ===__TOC__  {{Note|'''The sound system and current pages are in 'work in progress' state.'''We will continuously update content of the site and the audio data structures.'''}}
== FMOD® ==
The FMOD® system is now (from 1.37 version) used as a core sound engine in the game.<br>
The FMOD® Studio 2.0001.07 05 version is currently in use(from 1.39 version).<br>
''See FMOD documentation ([http://www.fmod.comwww.fmod.com]) to get a better understand understanding of the sound system.''
== Sound and Sound Bank(s) ==
Each sound is represented by the sound '''Event'''. An Event is an instanceable sound unit of the FMOD Studio project.<br>All sounds/events are provided by sound banks. The final sound banks are builded built by FMOD Studio.<br><br>
FMOD Studio builds the "[bank name].bank" file for each bank in the sound project.<br>It is a collection of the Events and Parameters used for the sound playing in the game.
== Master Bank ==
Master Bank is the primary sound bank of the sound system.<br>There are not any no Events in the bank.<br><br>
'''The Master Bank defines:'''
* The sound buses<br>Events in FMOD Studio do not exist in a vacuum. Their output is routed into the project mixer.<br>The Events have to be routed to one of the some bus buses registered at in the Master Bank.<br>User Users can set the sound volume and mute state in the application settings for each bus which is used as a routing target for sound events.<br><br>* Mixer and Routing<br>The project mixer consists of a number of interconnected buses. Connection between the audio buses describe the sound event flow through the sound system.<br><br>* Global Parameters<br>An event contains and is primarily composed of tracks and parameters.<br>Some parameters are defined in the master. This These parameters are global and can be used for Automation and Modulation of events across all banks.<br><br>The Master Bank is a fundamental building block of the sound system.<br>so: '''Never change the Master Bank!'''<br> Only if you are absolutely sure what you are doing and you are rewriting all the sounds of the game you can change it.
== Sound definition ==
A common sound in game is the '''Event''' in the FMOD Studio project.<br>Each object (bank, bus, event, parameter, etc.) used by the FMOD system has a unique identifier - '''GUID'''.<br>(''GUID is something like this: {1315eda7-1829-4dd8-9d1a-176f65637ab2}'')<br><br>The sound system use uses GUIDs internally for the processing objects.<br>It's very important. If you delete an object in the sound project (bus, event, etc.) and create a new object even with the same name , it will be a different object because the object has a different GUID.<br><br>
FMOD Studio exports GUIDs to the txt file.
# Use FMOD Studio menu command: File / Export GUIDs...
# There is new file GUIDS.txt in the "build" subfolder of the project main folder.
# The file has to be renamed to "[bank filename].guids" and has to be placed next to "bank" file.<br>This file is It's a "dictionary" between names of the objects in the bank and their GUIDs. The game uses two ways to define usage of sound object:# Direct 'sound id':<br>"Sound id" is string in format "[bank filename]#[event name]". Where [bank filename] is file of the bank relative to the game "base" folder and [event name] is name of the event in the FMOD Studio project.<br>Example: ''"/sound/ui/ui.bank#click"''# Sound reference file:<br>Sound reference file is used as link for the sound specification. It uses a simple path to the soundref file (e.g. ''"/sound/ui/ui_click.soundref"''). == Sound reference file == We prefer and we recommend to use sound reference files.* There are more possibilities to configure sound.* It is easier to change / modding individual sounds.  '''Sound reference file structure:''' Soundref file is a text file (with UTF-8 encoding).* Its contents are a 'sound id' on one line with following format: source="[bank filename]#[event name]".* There is possibility in the file to change 3D placement of the sound relative to the default position. Format is as follows, on a separate line: "position_offset=-left/+right;-down/+up;-front/+back" (in meters).<br>Example of content of the file ''"ui_click.soundref": <code>source="/sound/ui/ui.bank#click"''</code> == Sound documentation ==
'''* [[Documentation/Engine/Sound definition'''<br>/Mixer|Audio buses, routing and mixer]]The game use two ways how to define using of sound object:* (WIP) Global parameters# Direct '''sound id'''<br>"* [[Documentation/Engine/Sound id" i string in format "/TruckEngine|Sounds - Truck Engine]]* [[bank filenameDocumentation/Engine/Sound/TruckTransmission|Sounds - Truck Transmission and Retarder]#]* [event name[Documentation/Engine/Sound/TruckChassis|Sounds - Truck Chassis]".<br>]* [[bank filenameDocumentation/Engine/Sound/TruckCabin|Sounds - Truck Cabin (horns and noises)]] is file of the bank relative to the game "base" folder.<br>* [event name[Documentation/Engine/Sound/TruckCabinFiltering|Sounds - Truck Cabin Filtering (in/out, windows)]] is name of the event in the FMOD Studio project.<br>''Sample: "* [[Documentation/soundEngine/uiSound/ui.bank#click"''TruckRemote|Sounds - Remote Truck (multiplayer)]]# Sound reference file<br>Sound reference file is used as indirection for the sound specification.<br>It is simple path to the soundref file * (''sample: "WIP) Sounds - Truck Interior* [[Documentation/soundEngine/uiSound/ui_click.soundref"''Tires|Sounds - Tires]]* (WIP).<br>Soundref file is text file Sounds - Collisions* (UTFWIP) Sounds -8Traffic* [[Documentation/Engine/Sound/SoundWorld|Sounds - World]]* (WIP) contents 'sound id' on the separate line at the format: source="Sounds - Game UI and Music* [bank filename[Documentation/Engine/Sound/Modding|Modding sounds]#]* [event name]".<br>''Sample of content of the file "ui_click.soundref": source="[Documentation/soundEngine/uiSound/ui.bank#click"''Downloads|Downloads (templates, samples)]]

Navigation menu