---
title: "VAD"
slug: "vad"
updated: 2025-12-10T09:58:17Z
published: 2025-12-10T09:58:17Z
canonical: "docs.knovvu.com/vad"
---

> ## Documentation Index
> Fetch the complete documentation index at: https://docs.knovvu.com/llms.txt
> Use this file to discover all available pages before exploring further.

# VAD

Performs voice activity detection. Works on streaming data. Filters out silences in the provided audio.

### Supported Sample Rates
- 8 kHz
- 16 kHz
- 32 kHz
- 48 kHz

### Parameters
| <div style="width:170px">name</div> | description | <div style="width:120px">default</div> |
|---|---|---|
| Sensitivity | The range is 0.0-1.0 inclusive, 1.0 being the most sensitive. If you use 1.0 even the smallest voices will be heard and taken into account when VAD decides which part of the received data is actually speech. | 1.0 |
| MaxSpeechDurationMsec | If the speech does not end after this duration it will be ended by VAD. This will be treated as a normal end of speech, and an appropriate speech-ended event will be generated. Exceeding this timeout will not generated an error. | -1|
| PreSpeechBufferMsec| After start of speech is detected VAD rewinds and takes a little more data before the detected beginning, just in case a low energy voice happens to be there. This duration is determined pre-speech-buffer-msec | 300 |
| PostSpeechBufferMsec| After the end of speech is detected VAD takes a little more data after the detected end just in case a low energy voice happens to be there. This duration is determined by post-speech-buffer-msec. | 300 |
| SilenceTriggerMsec | The amount of silence in milliseconds for VAD to expect in order to decide that the speech has actually ended | 400 |

### Inputs

#### Audio
&emsp;Accepts audio from a single channel.

#### Events
&emsp;none

### Outputs

#### Audio
&emsp; After removing the silences in the input audio the remaining data is sent to output.

#### Events
| name | description |
|---|---|
| [Speech Started](/v1/docs/events#speech-started) | Raised once at the beginning of each piece of actual audio fragment. |
| [Speech Ended](/v1/docs/events#speech-ended)| Raised once at the end of each piece of actual audio fragment. |

### Remarks
#### Project Structure

A simple project can be built as such:
<center>
    
![image.png](https://cdn.document360.io/9bca2910-6a3b-4224-9470-43f91f9a6d57/Images/Documentation/image%28889%29.png){height="" width=""}

</center>

:::(Info) (Important Note)
Make sure that both the `Audio` output and the `Event` output is connected to the receiving nodes. Otherwise, the following nodes will not know when the speech starts and ends.
:::

#### Supported flow types
Stream, Batch

### Release History


<div style="max-height: 200px; overflow-y: auto; overflow-x: hidden">
    <details>
      <summary> <strong> v3.7.0</strong>  </summary>
          <ul>
              <li>Added full flush support.</li>
          </ul>
  </details>  
  <details>
      <summary> <strong> v3.3.0</strong>  </summary>
          <ul>
              <li>Fixed a crash that happened when VAD is fed an unsupported sample rate.</li>
       <li>Parameters are now validated before the session starts.</li>
          </ul>
  </details>
  <details>
      <summary> <strong> v1.0.0</strong>  </summary>
       <ul>
              <li> Introduced Node.</li>
          </ul>
  </details>

</div>
