The smartCARS client allows for the creation of custom sound packs, which enables the replacement of the default crew announcements, flight attendant announcements, GPWS callouts, and chat notification sounds. This documentation explains the architecture of sound packs in smartCARS and what is required to make your own.
In order to create a sound pack, we first need to understand the folder structure of the default sound pack. Let’s start by opening the default sound pack folder, located in the following directory:
<INSTALL DIRECTORY>\smartCARS\<AIRLINE ID>\<LANGUAGE>\soundpacks\smartCARS Default\
Never rename or modify the default sound pack. This can prevent other sound packs from functioning.
The default sound pack folder contains four folders: copilot, fa, gpws and system.
smartCARS will use the name of the soundpack folder as the soundpack name. For example, the soundpack in the “smartCARS Default” folder will appear as “smartCARS Default” in the soundpack selector in the smartCARS settings menu.
The sound.config file defines which audio files play for what events. This file must be in your sound pack folder. The sound.config file can be edited with any text editor, such as Notepad or Notepad++.
Below, we will break apart each variable to explain what its purpose is. If you wish to disable a variable without removing it from the configuration file completely, you can add a double forward slash (//
) at the start of the line. Leaving variables disabled allows you to easily store them for future reference.
Best Practices
- In this documentation, "variable" refers to the text before the equal sign, "value" refers to the text after the equal sign, and "macro" refers to the %{data}% placeholders that smartCARS will replace with relevant data when playing sounds.
- Do not use an equal sign in any value string.
- Do not use a space in between the equal sign in any value string or the first character of a value
- All audio files must be saved in WAV file format.
- smartCARS will alias a default sound if an audio file is not defined in the sound.config file. If it is defined, but cannot be found, no sound will play at all.
This is the version number of your sound pack. It is used by the web system to determine if it is the latest version of the sound pack.
Example:
version=1
The relative location of the boarding audio file. This plays directly after you launch a flight. When defining flight attendant announcements, you can put %tod% in the value and when played, it will be replaced with one of three time of day-based strings.
Between 5:00 AM and 11:00 AM, %tod% will become “morning”, between 11:00 AM and 5:00 PM, %tod% will become day, and between 5:00 PM and 5:00 AM, %tod% will become “evening”. All times are based on the local time of your flight simulator.
Example:
boarding=fa\boarding.wav
The relative location of the pushback audio file. This plays when pushback is initiated. This variable supports the %tod% macro.
Example:
pushback=fa\door_closure.wav
The relative location of the safety announcement audio file. This plays during taxi to the runway. This variable supports the %tod% macro.
Example:
safety=fa\safety.wav
The relative location of the cruise audio file. This is played once the aircraft has reached cruising altitude. This variable supports the %tod% macro.
Example:
cruise=fa\cruise.wav
The relative location of the descent audio file. This is played when the aircraft begins its descent. This variable supports the %tod% macro.
Example:
descent=fa\descent.wav
The relative location of the landing audio file. This is played after the aircraft has touched down. This variable supports the %tod% macro.
Example:
landing=fa\landing.wav
The relative location of the GPWS callouts (different from the copilot callouts). These callouts are played during approach and before landing. When played by smartCARS, %gpwsaltitude% will be replaced with the altitude that the callout represents (at 50 feet, %gpwsaltitude%.wav would become 50.wav). If you wish, you may add a prefix and/or suffix to the filename. A prefix or suffix can be anything within the filename character limit of Windows.
The available GPWS callout altitudes are 2500, 1000, 500, 400, 300, 200, 100, 50, 40, 30, 20, and 10.
Note: If one GPWS callout is missing, that one will not play, but the others will.
Example:
gpws_system=gpws\%gpwsaltitude%.wav
orgpws_system=gpws\myprefix_%gpwsaltitude%.wav
The relative location of the copilot altitude announcements. ‘The 10000.wav’ and ‘18000.wav’ clips are played during climb and descent. The rest are played during approach and final only. Copilot altitude announcement clips should only be a few seconds long. You may add a prefix and/or suffix to the filename, but it is not necessary.
A prefix or suffix can be anything within the filename character limit of Windows. When played, %altitude% works the same as %gpwsaltitude% but for copilot callouts; %altitude% will be replaced with the altitude the callout represents (a callout for 500 feet would cause smartCARS to look for 500.wav).
If one of the copilot callout is missing, that specific clip will not play, but the others will. The 10000ft and 18000ft announcements are not controlled by the GPWS settings, but by their own settings. The available copilot altitude announcements are 18000, 10000, 2500, 1000, 500, 400, 300, 200, 100, 50, 40, 30, 20, and 10.
Example:
copilot_altitude_announcements=copilot\%altitude%.wav
orcopilot_altitude_announcements=copilot\myprefix_%altitude%.wav
The relative location of the private message audio file. This is played when a user receives a new message via the chat system.
Example:
chat_global=system\chat_global.wav
The relative location of the airline-only chat audio file. This is played when a user receives a new airline-specific chat message.
Example:
airline_message=system\airline_message.wav
The relative location of the global chat message audio file. This is played when a user receives a new global chat message.
Example:
global_message=system\global_message.wav