Important: This is documentation for the legacy version of the Vivox Unity SDK. This documentation will be removed after July 2025. Refer to the v16 documentation for the new version of the SDK.
Codec comparison
You can set the codec of your Vivox voice client during initialization using VivoxConfig and DefaultCodecsMask.
The following table compares the four codecs that the Vivox SDK uses.
Opus | Siren 14 | Siren 7 | PCMU | |
Network Bitrate* | 40 kbit/s | 32 kbit/s | 32 kbit/s | 64 kbit/s |
CPU Usage (Encoding) | Moderate | Low | Lower | Lowest** |
CPU Usage (Decoding) | Low | Low | Lower | Lowest |
Supports configurable bitrate? | Yes (6 to 128 kbit/s) | No | No | No |
Audio Sample Rate† | 48 kHz | 32 kHz | 16 kHz | 8 kHz |
Audio Quality | Best (20+ kbit/s) | Good | Fair | Poor |
* Numbers listed represent the default bitrate for each codec for one voice stream at theoretical max. Codec bitrates are only in effect while speech is active (either being transmitted or received). These exclude 14.4 kbit/s of overhead from Vivox packet headers while speech is active.
** PCMU is essentially free in terms of CPU usage. Encoding and decoding are composed of bitwise operations and table lookups.
† Higher sample rates allow for higher fidelity audio but do not by themselves guarantee a better sound.