Open main menu

Changes

Documentation/Engine/Sound

2,735 bytes added, 13:13, 2 August 2023
Sound documentation
=== WARNING ! ==='''The sound system and current pages are in 'work in progress' state.'''We continuously update content of the site and the audio data structures.__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>
=FMOD Studio builds the "[bank name].bank" file for each bank in the sound project. 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. There are no Events in the bank.
Master Bank is primary sound bank of the sound system.<br>
There are not any 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. 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}'') The sound system uses GUIDs internally for the processing objects. 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. 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. 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 ===/Mixer|Audio buses, routing and mixer]]* (WIP) Global parameters* [[Documentation/Engine/Sound/TruckEngine|Sounds - Truck Engine]]A common sound in game is the '''Event''' in the FMOD Studio project.<br>* [[Documentation/Engine/Sound/TruckTransmission|Sounds - Truck Transmission and Retarder]]* [[Documentation/Engine/Sound/TruckChassis|Sounds - Truck Chassis]]* [[Documentation/Engine/Sound/TruckCabin|Sounds - Truck Cabin (horns and noises)]]Each object * [[Documentation/Engine/Sound/TruckCabinFiltering|Sounds - Truck Cabin Filtering (bank, bus, event, parameterin/out, etc.windows) used by FMOD system has unique identifier ]]* [[Documentation/Engine/Sound/TruckRemote|Sounds - '''GUID'''.<br>Remote Truck (multiplayer)]]* (''GUID is somthing like this: {1315eda7WIP) Sounds -1829Truck Interior* [[Documentation/Engine/Sound/Tires|Sounds -4dd8Tires]]* (WIP) Sounds -9d1aCollisions* (WIP) Sounds -176f65637ab2}''Traffic* [[Documentation/Engine/Sound/SoundWorld|Sounds - World]]* (WIP)<br>Sounds - Game UI and Music<br>* [[Documentation/Engine/Sound/Modding|Modding sounds]]The sound system use GUIDs internally for the processing objects.<br>It's very important. If you delete object in the sound project * [[Documentation/Engine/Sound/Downloads|Downloads (bustemplates, event, etc.samples) and create new object even with the same name it will be different object because the object has a different GUID.]]