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

# RNNoise

> Use the RNNoise noise cancellation plugin in a Zero Runtime pipeline to clean the caller's audio. Setup and usage in Python, JavaScript, and Go.

RNNoise is a **noise cancellation** plugin. It cleans the caller's incoming audio before
the rest of the pipeline runs, which improves voice activity detection and transcription
on noisy connections. It occupies the pipeline's `denoise` slot.

## Usage

Import the plugin and pass it to the pipeline's `denoise` slot.

<CodeGroup>
  ```python Python theme={null}
  from zrt.plugins import RNNoise

  denoise = RNNoise()

  # Pipeline(denoise=denoise, ...)
  ```
</CodeGroup>

## Parameters

`RNNoise()` takes no constructor parameters. It runs the bundled RNNoise model at a fixed
48 kHz on 20 ms (480-sample) frames and resamples other input rates automatically, so there
is nothing to configure.

## Import paths

| SDK        | Import                               | Constructor     |
| ---------- | ------------------------------------ | --------------- |
| Python     | `from zrt.plugins import RNNoise`    | `RNNoise()`     |
| JavaScript | `from '@zrt/js-sdk/plugins/rnnoise'` | `RNNoise()`     |
| Go         | `.../zrt-golang-sdk/plugins/rnnoise` | `rnnoise.New()` |

Noise cancellation runs first, so [voice activity detection](/plugins/vad/silero) and
[speech-to-text](/plugins/stt/deepgram) see cleaner audio.
