---
name: "Arma 3: Sound: SoundShader"
type: topic
aliases: ["Arma 3 Sound: SoundShader"]
source: https://community.bistudio.com/wiki/Arma_3:_Sound:_SoundShader
revid: 364233
updated: 2024-05-06T09:38:15Z
---

# Arma 3: Sound: SoundShader

### SoundShader

SoundShader is the lowest level of sound configuration. It contains the definition of sound files and basic set of parameters.

All SoundShaders have to be defined in the base class **CfgSoundShaders**.

> [!NOTE]
> For single SoundShader (SoundSet respectively), use sound files with the same sampling rate.

| Parameter | Unit/values | Default | Description |
|---|---|---|---|
| *samples* | { ["path/sound",p], ... } | none | - array containing sound file name with paths and probability values (p), wav, wss, ogg are accepted file types, 16bit/44.1KHz wav converted to wss should always work fine<br>- probability values are normalized to 1, in every case there is one sample selected<br>- no immediate repeat (engine never selects the same sample twice in a row) |
| *volume* | float (0..n) or [dBFS] | 1 (= db0) | - base volume value<br>- use format db*x* for decibels in dBFS (e.g. db-6 for -6 dBFS)<br>- use float number to specify amplitude value directly |
| *frequency* | (0.5..2) | 1 | - base pitch value, 1 = no change<br>- if shader is used in submix (more than one SoundShader in SoundSet), this parameter is currently ignored |
| *range* | (0..n) [m] | 0 | - radius of sphere (with center on sound source position) where sound is playing |
| *rangeCurve* | {{d0, v0}, {d1, v1}, ... } or Class name | none | - array of points & corresponding amplitude multipliers or class name defined in [cfgSoundCurves](../topics/Sound~3A_Sound_Curves.md)<br>- if shader is not used in submix (meaning it is the only one SoundShader in SoundSet), this parameter is currently ignored |
| *limitation* | bool | false | - adds SoundShader to the group of SoundShaders, where number of simultaneously playing SoundShaders will be limited (within single SoundSet) |

```cpp
class CfgSoundShaders
{
    class ACPC2_closeShot_SoundShader
    {
        samples[] =
        {
            { "A3\Sounds_F\arsenal\weapons\Pistols\Acpc2\ACPC2_closeShot_01", 1 },
            { "A3\Sounds_F\arsenal\weapons\Pistols\Acpc2\ACPC2_closeShot_02", 1 },
            { "A3\Sounds_F\arsenal\weapons\Pistols\Acpc2\ACPC2_closeShot_03", 2 } // example: sample has a higher chance of being picked
        };
        volume = db3; // additional gain, +3dB
        range = 50;
        rangeCurve = closeShotCurve; //classname of a curve, defined in cfgSoundCurves
};
```

<sub>Source: [BI Community Wiki — Arma 3: Sound: SoundShader](https://community.bistudio.com/wiki/Arma_3:_Sound:_SoundShader) (revision 364233).</sub>
