Changes

Jump to navigation Jump to search

Documentation/Engine/Sound

801 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.<br><br>__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.com www.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:'''
'''Sound definition'''<br>Soundref file is a text file (with UTF-8 encoding).The game use two ways how to define using of sound object:# Direct ''* Its contents are a 'sound id'''<br>"Sound id" i string in on one line with following format : source="[bank filename]#[event name]".<br>[bank filename] * There is possibility in the file to change 3D placement of the bank sound relative to the game "base" folderdefault position.<br>[event name] Format is name of the event in the FMOD Studio project.<br>''Sample: "/sound/ui/ui.bank#click"''# Sound reference file<br>Sound reference file is used as indirection for the sound specification.<br>It is simple path to the soundref file (''samplefollows, on a separate line: "position_offset=-left/sound+right;-down/ui+up;-front/ui_click.soundref+back"'').<br>Soundref file is text file (UTF-8in meters) contents 'sound id' on the separate line at the format: source="[bank filename]#[event name]".<br>''Sample Example of content of the file ''"ui_click.soundref": <code>source="/sound/ui/ui.bank#click"''<br/code>
== Sound documentation ==
* (WIP) Global parameters
* [[Documentation/Engine/Sound/TruckEngine|Sounds - Truck Engine]]
* (WIP) [[Documentation/Engine/Sound/TruckTransmission|Sounds - Truck Transmission and Retarder]]* [[Documentation/Engine/Sound/TruckChassis|Sounds - Truck Chassis]]* [[Documentation/Engine/Sound/TruckCabin|Sounds - Truck Cabin (WIPhorns and noises) ]]* [[Documentation/Engine/Sound/TruckCabinFiltering|Sounds - Truck EffectsCabin Filtering (in/out, windows)]]* (WIP) [[Documentation/Engine/Sound/TruckRemote|Sounds - Remote Truck Noise(multiplayer)]]
* (WIP) Sounds - Truck Interior
* (WIP) [[Documentation/Engine/Sound/Tires|Sounds - Tires]]
* (WIP) Sounds - Collisions
* (WIP) Sounds - Traffic
* (WIP) [[Documentation/Engine/Sound/SoundWorld|Sounds - World]]
* (WIP) Sounds - Game UI and Music
* [[Documentation/Engine/Sound/Modding|Modding sounds]]
* [[Documentation/Engine/Sound/Downloads|Downloads (templates, samples)]]

Navigation menu