Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is basically the same implementation as for the official OpenWakeWord Repository, the VAD class is the exact same. It does seem to work nicely, at least nothing generally crashes and the VAD is taken into account.
I wasn't entirely sure on how to implement this, and it is not as nicely batched as the remaining code. For now it is just integrated into the
mels_proc
Thread and implemented in the ClientData. But as the Silero VAD model is fairly lightweight, that perhaps is fine?I also added a
--vad-treshold
CLI Parameter which enables the VAD algorithm, although it is currently always calculated.Unfortunately the Silero VAD model seems to only be available for the ONNX Runtime, so I had to add that dependency :(
Fixes #16