> ## 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 and JavaScript.

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 zeroruntime.plugins import RNNoise

  denoise = RNNoise()

  # Pipeline(denoise=denoise, ...)
  ```

  ```typescript Node JS theme={null}
  import { RNNoise } from '@zeroruntime/js-sdk/plugins';

  const denoise = RNNoise();

  // Pipeline({ 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 zeroruntime.plugins import RNNoise`               | `RNNoise()` |
| Node JS | `import { RNNoise } from '@zeroruntime/js-sdk/plugins'` | `RNNoise()` |

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