Call of Duty 2 Soundalias CSV Format
The soundalias CSV file in Call of Duty 2 defines audio asset properties for in-game sounds. For custom multiplayer maps, create a new file named yourmapname.csv in a soundalias folder inside the “main” folder of the *Call of Duty 2* directory (e.g., main/soundalias/) and include it in your map’s IWD file to ensure proper integration.
Note: Never modify existing soundalias.csv files in the game’s main directories. Create a new yourmapname.csv file for your custom map to avoid conflicts and ensure compatibility. The header row (name,sequence,file,vol_min,vol_max,vol_mod,pitch_min,pitch_max,dist_min,dist_max,channel,type, probability,loop,masterslave,loadspec,subtitle,compression,secondaryaliasname,volumefalloffcurve, startdelay,speakermap,reverb,lfe percentage) must be included in the CSV file and is not optional.
Overview
The soundalias CSV format specifies sound aliases for in-game audio, such as ambient effects, weapon sounds, or dialogue. Each row in the file represents a sound alias, defining its playback behavior, channel, and map-specific usage. This documentation outlines the fields, their purposes, and how to configure them for custom multiplayer maps.
CSV Fields
The table below describes each field in the soundalias CSV file, including possible values for fields with preset options.
| Field | Description | Possible Values |
|---|---|---|
name |
The identifier used to reference the sound alias in the game. | Any unique string (required). |
sequence |
Identifies duplicate aliases when multiple sound files are tied to a single alias, used to detect unwanted duplicates. | Any integer or blank. |
file |
The path to the audio file relative to the game’s sound directory. | Path to a valid audio file (e.g., .mp3, .wav) (required). |
vol_min |
The minimum volume at which the sound plays. | Any float or blank. |
vol_max |
The maximum volume for randomizing volume between vol_min and vol_max. |
Any float or blank. |
vol_mod |
References a volume modifier group to adjust vol_min and vol_max based on a predefined multiplier. |
Any string matching a volumodgroups.def category (e.g., ambience, wpnplyr) or blank. |
pitch_min |
The minimum pitch affecting the playback speed and tone of the sound. | Any float or blank. |
pitch_max |
The maximum pitch for randomizing pitch between pitch_min and pitch_max. |
Any float or blank. |
dist_min |
The distance within which the sound plays at full volume. | Any float or blank. |
dist_max |
The distance beyond which the sound does not play. | Any float or blank. |
channel |
The audio channel determining how the sound is processed. | auto, menu, weapon, voice, item, body, local, music, announcer, auto2d, or blank. |
type |
Specifies whether the sound is streamed from disk, primed for streaming, or pre-loaded into memory. | primed, streamed, loaded, or blank. |
probability |
The weighted probability of playing this sound when multiple sounds are available for the same alias. | Any float or blank. |
loop |
Indicates whether the sound loops continuously or plays once. | looping, nonlooping, or blank. |
masterslave |
Defines if the sound is a master sound or if its volume is scaled when a master sound plays. | master, any float, or blank. |
loadspec |
Lists the maps where the sound alias is loaded, optimizing memory usage. | Space-separated map names or blank. |
subtitle |
Text for subtitles, typically used for dialogue sounds. | Any string or blank. |
compression |
Specifies the compression type for the audio file. Note: This references an external file, likely part of another SDK (e.g., XMAUpdate), and may require further investigation. | Any string matching an entry in XMAUpdate.tbl or blank. |
secondaryaliasname |
References an additional sound alias to play alongside the current sound. | Any valid sound alias name or blank. |
volumefalloffcurve |
Defines the curve for how volume decreases with distance. Note: Most of these are typically not required, as seen in examples where this field is often left blank. | Any string referencing a .vfcurve file or blank. |
startdelay |
The delay before the sound starts playing. | Any integer (milliseconds) or blank. |
speakermap |
Defines the speaker output configuration. Note: Most of these are typically not required, as seen in examples where this field is often left blank. | Any string referencing a .spkrmap file or blank. |
reverb |
Controls how the sound is affected by reverb settings, such as wet and dry levels. Note: In multiplayer, reverb settings have no effect as they are not included in multiplayer utility scripts. | fulldrylevel, nowetlevel, or blank. |
lfe percentage |
The percentage of the sound sent to the low-frequency effects (subwoofer) channel. | Any float or blank. |
Volume Modifier Groups
The vol_mod field references categories defined in the volumodgroups.def file, which apply multipliers to adjust the volume of sounds based on their type. Below are the categories and their purposes:
- ambience: Ambient streams, such as background environmental sounds.
- bodyfall: Sounds for bodies hitting the ground or similar impacts.
- chatteral: Battle chatter for allied forces.
- chatterax: Battle chatter for axis forces.
- element: Ambient element sound effects, such as wind or water.
- emitter: Point emitter sound effects, like machinery or fires.
- explosion: Explosion-related sound effects.
- foley: Foley sounds, such as gear rattles or foliage movement.
- footstep: Footstep and landing sound effects.
- impact: Bullet impact sound effects.
- interface: User interface sound effects.
- music: Level music, excluding title or fluff music.
- reactional: Allied character reaction sound effects.
- reactionax: Axis character reaction sound effects.
- vehicle: Vehicle and vehicle-related sound effects.
- voiceover: Mission-based speech.
- wpnai: AI-controlled weapon sounds.
- wpnplyr: Player-controlled weapon sounds.
- na: Non-categorized sounds.
Note: Use the appropriate vol_mod category to balance sound types in-game. For example, use ambience for background sounds to ensure they blend well with louder effects like explosion or wpnplyr.
Example
Below is a sample yourmapname.csv file for a custom multiplayer map, placed in a soundalias folder inside the “main” folder (e.g., main/soundalias/) and included in the map’s IWD file. This example includes ambient sounds and speech, reflecting common configurations from the game’s sound aliases.
name,sequence,file,vol_min,vol_max,vol_mod,pitch_min,pitch_max,dist_min,dist_max,channel,type,probability,loop,masterslave,loadspec,subtitle,compression,secondaryaliasname,volumefalloffcurve,startdelay,speakermap,reverb,lfe percentage
ambient_custom_map,,ambient/custom_ambience.mp3,0.6,,ambience,,,,,local,streamed,,looping,,custom_map,,,,,,,
speech_custom_cmd,,Voiceovers/MP/custom_cmd_01.wav,0.93,,,,7,3000,voice,streamed,,,,custom_map,,,
Usage Notes
- Create a new
yourmapname.csvfile in asoundaliasfolder inside the “main” folder of the *Call of Duty 2* directory (e.g.,main/soundalias/) and include it in your map’s IWD file. - Use unique
namevalues to avoid conflicts with other sound aliases. - Ensure the
filepath points to a valid audio file in the game’s sound directory. - Use
vol_modto apply volume adjustments based on sound type, referencingvolumodgroups.defcategories. - Set
loadspecto your map’s name to restrict the sound to your custom map. - For ambient sounds (e.g.,
ambient_custom_map), consider usingloopingand leavingdist_maxblank for omnipresent audio, as seen in examples likeambient_france. - The
reverbfield (fulldrylevel,nowetlevel, or blank) has no effect in multiplayer, as reverb settings are not included in multiplayer utility scripts. volumefalloffcurveandspeakermapare typically not required, as most examples (e.g.,ambient_africa,ctf_touchenemy) leave these fields blank unless a specific volume falloff or speaker configuration is needed.- Test sounds in-game to verify volume, pitch, and spatial behavior.
Note: Validate the CSV structure and ensure audio files exist in the specified paths. Include the main/soundalias/yourmapname.csv file in your map’s IWD file to ensure the game loads it correctly. Be aware that reverb settings are ineffective in multiplayer due to the absence of reverb support in multiplayer utility scripts. The header row must be included in the CSV file and is not optional.

