This article discusses best practices for volume setting adjustments of the Vivox output device, also referred to as the render device, playback device, or speaker.
Related article: Vivox: Best practice volume settings (input device/microphone)
Important General Advice
It is strongly recommended that developers keep the game's default voice chat output volume equal to the Vivox SDK's default output volume setting. The Vivox default output volume applies no amplification or attenuation to the render signal. Any volume setting higher than the Vivox default might cause distortion. It is of course reasonable for the game to allow players the option to set the speaker volume above Vivox's default, but it is never recommended that the game default is above Vivox's default.
Although somewhat counter-intuitive, when setting the range for volume option sliders, it is not recommended to map the settable range (0-100%) to the extreme lowest and highest volume values settable in the SDK. Please see the Suggested Ranges sections below for recommendations on clamping the allowable output volume range below the maximum to minimize the possibility of rendering distorted audio.
SDK Specific Advice
Click one of the quick links below to jump to that section:
Unity and Unreal SDKs
The following guidance applies to all versions of Vivox for Unity (including both 16.x and 15.x packages) as well as to the Vivox Unreal plugin.
Volume range is from -50 to 50 inclusive, with 0 being the default (no adjustment to the signal). Each step away from 0 is equivalent to +/- 1 dB. A setting of -50 mutes the signal instead of attenuating by 50 dB.
Volume settings and their effects
Value | Gain | Result |
0 | 0 dB (no change) | No amplification or attenuation is applied to the render signal received by the Vivox servers. The received data is rendered at the same volume that was received by the SDK. |
50 | +50 dB | Amplify the signal by 50 dB. |
-49 | -49 dB | Attenuate the signal by 49 dB. |
-50 | -Infinity dB | Completely silence the signal. This is better done through muting commands. |
To offer users the ability to boost the audio signal above what was received, provide some render volume settings over 0. Although the Vivox API supports up to +50 dB of amplification, this easily causes clipping. It is not recommended that you allow users to apply that much boost. For example, if the user sets the OS speaker volume to 100%, and then applies +20 dB boost through the voice settings, they will probably be rendering highly distorted speech.
Suggested ranges
Range | Default | Result |
[-50, 0] | 0 | No attenuation is applied to the render signal received by the Vivox servers. The received data is rendered at or below the same volume that was received by the SDK. |
[-50, 10] | 0 | A +10 dB boost is possible, which would correspond to a doubling in perceived loudness. |
[-30, 20] | 0 | Reduced to the effective usable range. Attenuation below -30 dB is generally not noticeable (especially alongside other game audio) and amplification above +20 dB causes extreme distortion. |
Core SDK library
Volume range is from 0 to 100 inclusive, with 50 being the default (no adjustment to the signal). Each step away from 50 is equivalent to +/- 1 dB. A setting of 0 mutes the signal instead of attenuating by 50 dB.
Volume settings and their effects
Value | Gain | Result |
50 | 0 dB (no change) | No amplification or attenuation is applied to the render signal received by the Vivox servers. The received data is rendered at the same volume that was received by the SDK. |
100 | +50 dB | Amplify the signal by 50 dB. |
1 | -49 dB | Attenuate the signal by 49 dB. |
0 | -Infinity dB | Completely silence the signal. This is better done through muting commands. |
To offer users the ability to boost the audio signal above what was received, provide some render volume settings over 50. Although the Vivox API supports up to +50 dB of amplification, this easily causes clipping. It is not recommended that you allow users to apply that much boost. For example, if the user sets the OS speaker volume to 100%, and then applies +20 dB boost through the voice settings, they will probably be rendering highly distorted speech.
Suggested ranges
Range | Default | Result |
[0, 50] | 50 | No attenuation is applied to the render signal received by the Vivox servers. The received data is rendered at or below the same volume that was received by the SDK. |
[0, 60] | 50 | A +10 dB boost is possible, which would correspond to a doubling in perceived loudness. |
[20, 70] | 50 | Reduced to the effective usable range. Attenuation below -30 dB is generally not noticeable (especially alongside other game audio) and amplification above +20 dB causes extreme distortion. |