Add Silero VAD as an optional voice activity detection backend
Context
Mumble already provides voice activation, but threshold-based detection can sometimes be triggered by non-speech sounds such as keyboard noise, fans, microphone hiss, or other background noise.
Silero VAD is a lightweight neural voice activity detector designed for real-time speech detection. It can run fully locally and supports lightweight deployment through ONNX.
Project: https://github.com/snakers4/silero-vad
Adding Silero VAD as an optional backend could improve automatic voice activation for users who want hands-free transmission without relying only on input volume.
On the Silero VAD github, I have created a corresponding feature request for collaboration.
https://github.com/snakers4/silero-vad/issues/799
Description
Add Silero VAD as an optional voice activity detection method in Mumble.
Ideally, users could select it alongside the existing voice activation options. Mumble would feed microphone audio into Silero VAD and use the resulting speech probability to determine when transmission should start and stop.
Useful configuration options could include:
- Speech probability threshold
- Minimum speech duration
- Silence duration before transmission stops
- Pre-speech buffer to avoid clipping the beginning of words
- Post-speech hold time to avoid cutting off the end of sentences
An ONNX-based implementation would likely be suitable so that the feature can run locally without requiring Python or PyTorch.
If integrating it directly into Mumble is not desirable, exposing enough of the audio/VAD pipeline to plugins so that a Silero VAD plugin can provide voice activation would also be useful.
Mumble component
Client
OS-specific?
Yes
Additional information
No response
Source: mumble-voip/mumble