Happy Wednesday everyone!
Today we released the latest Maintenance Viewer Build. Among a slew of fixes and improvements is a key feature we want to highlight: ability to tweak your Voice Activity Level. Lately we’ve had increasing problems with voice cutting out, at events or just talking to friends nearby. With these changes you will have a way to easily manage the problem. It’s been working seamlessly in our internal testing, including large events.
Voice Activity Detection
This Viewer exposes 3 VIVOX VAD (Voice Activity Detection) variables via Debug Settings and disables the (previously enabled) automatic mode. By making changes to these variables, we should be able to come up with a collection of settings that we can base new default values on in settings.xml.
The Debug Settings are:
- Enable (1) or disable (0) automatic VAD - you will almost certainly want this set to 0 [off] and change things using the other settings
- The time (in milliseconds) that it takes for the VAD to switch back to silence from speech mode after the last speech frame has been detected.
- A dimensionless value between 0 and 20000 (default 576) that controls the maximum level at which the noise floor may be set at by the VAD’s noise tracking. Too low of a value will make noise tracking ineffective (A value of 0 disables noise tracking and the VAD then relies purely on the sensitivity property). Too high of a value will make long speech classifiable as noise.
- A dimensionless value between 0 and 100, indicating the ‘sensitivity of the VAD’. Increasing this value corresponds to decreasing the sensitivity of the VAD (i.e. ‘0’ is most sensitive, while 100 is ‘least sensitive’)
The default values (updated) are (using VIVOX names):
- VivoxVadAuto: 0 (disabled)
- VadHangover(s): 2000 (Valid values are 1 - 60000 milliseconds)
- VadSensitivity: 0 (Was 43 - valid values are 0 - 100)
- VadNoiseFloor: 576 (Valid values are 0 - 20000)
Early testing suggests that VivoxVadNoiseFloor can only be changed by restarting the Viewer or teleporting away and coming back (needs a new voice connection) but the other 2 work in real time as you change them. After some initial testing with VIVOX, we have settled on starting from VivoxVadSensitivity set to 0. This will result in no dropouts because the microphone is sending everything to the voice channel. However, in a noisy environment (talking in background, vacuum cleaner, TV on etc.) it will also transmit that too. With modern microphones with built-in noise cancellation, sending everything may be a good thing as the microphone may have done all the heavy lifting of noise cancellation first.
Please try it out and let us know what you think! If you’re experiencing any bugs, please let us know!