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

# De-noise

> Filter background noise before it reaches the pipeline with RNNoise or cloud providers.

De-noise improves audio quality by filtering out background noise before it reaches your pipeline. This creates clearer conversations, especially in noisy environments.

Zero Runtime supports two approaches to denoising:

* **RNNoise**: a deep learning plugin that runs inside Zero Runtime.
* **Inference providers**: speech enhancement via the Zero Runtime Inference gateway (Sanas and AIcoustics).

## RNNoise

The Zero Runtime Agents framework provides real-time audio denoising through the `RNNoise` plugin, which runs inside Zero Runtime. RNNoise uses deep learning to tell speech apart from noise. It:

* Removes background sounds like keyboard typing, air conditioning, and ambient noise.
* Improves speech clarity and speech-to-text accuracy.
* Processes audio in real time with minimal latency.
* Works with the `Pipeline` in both cascading and realtime modes.

Initialize RNNoise and pass it to your `Pipeline` as the `denoise` component:

<CodeGroup>
  ```python Python theme={null}
  from zeroruntime import Pipeline
  from zeroruntime.plugins import RNNoise, SileroVAD
  from zeroruntime.inference import DeepgramSTT, GoogleLLM, CartesiaTTS

  pipeline = Pipeline(
      stt=DeepgramSTT(),
      llm=GoogleLLM(model="gemini-3.5-flash"),
      tts=CartesiaTTS(model="sonic-2"),
      vad=SileroVAD(),
      denoise=RNNoise()  # Enable noise removal
  )
  ```

  ```typescript Node JS theme={null}
  import { Pipeline } from '@zeroruntime/js-sdk';
  import { RNNoise, SileroVAD } from '@zeroruntime/js-sdk/plugins';
  import { DeepgramSTT, GoogleLLM, CartesiaTTS } from '@zeroruntime/js-sdk/inference';

  const pipeline = Pipeline({
    stt: DeepgramSTT(),
    llm: GoogleLLM({ model: 'gemini-3.5-flash' }),
    tts: CartesiaTTS({ model: 'sonic-2' }),
    vad: SileroVAD(),
    denoise: RNNoise(),  // Enable noise removal
  });
  ```
</CodeGroup>

## Inference Providers

The Zero Runtime Inference gateway exposes denoise providers as the `SanasDenoise` and `AICousticsDenoise` classes. Import the one you want and pass it to your `Pipeline` as the `denoise` component.

<Tabs>
  <Tab title="Sanas">
    `SanasDenoise` integrates Sanas for real-time speech enhancement and noise suppression. No required parameters.

    <CodeGroup>
      ```python Python theme={null}
      from zeroruntime import Pipeline
      from zeroruntime.inference import SanasDenoise

      pipeline = Pipeline(
          # ... other config
          denoise=SanasDenoise()
      )
      ```

      ```typescript Node JS theme={null}
      import { Pipeline } from '@zeroruntime/js-sdk';
      import { SanasDenoise } from '@zeroruntime/js-sdk/inference';

      const pipeline = Pipeline({
        // ... other config
        denoise: SanasDenoise(),
      });
      ```
    </CodeGroup>
  </Tab>

  <Tab title="AIcoustics">
    `AICousticsDenoise` provides live audio cleanup with on-the-fly speech enhancement and background noise reduction. No required parameters.

    <CodeGroup>
      ```python Python theme={null}
      from zeroruntime import Pipeline
      from zeroruntime.inference import AICousticsDenoise

      pipeline = Pipeline(
          # ... other config
          denoise=AICousticsDenoise(model_id="quail-vf-2.2-l-16khz"),
      )
      ```

      ```typescript Node JS theme={null}
      import { Pipeline } from '@zeroruntime/js-sdk';
      import { AICousticsDenoise } from '@zeroruntime/js-sdk/inference';

      const pipeline = Pipeline({
        // ... other config
        denoise: AICousticsDenoise({ model_id: 'quail-vf-2.2-l-16khz' }),
      });
      ```
    </CodeGroup>
  </Tab>
</Tabs>

## Choosing a Denoise Provider

| Provider | Type | Language Support | Extra Config |
| :- | :- | :- | :- |
| **RNNoise** | Runtime plugin | Language-agnostic | None |
| **Sanas** | Inference | Language-agnostic | None |
| **AIcoustics** | Inference | Language-agnostic | None |

Use **RNNoise** when you want a low-latency solution that runs inside Zero Runtime with no external dependencies. Use **Sanas** or **AIcoustics** when you prefer to route denoising through the Zero Runtime Inference gateway alongside your other components.

## What's Next

<CardGroup cols={2}>
  <Card title="Turn Detection" icon="comment-dots" href="/runtime-sdk/build/turn-detection-and-interruptions/turn-detection">
    Send clean audio to turn detection.
  </Card>

  <Card title="VAD and Interruptions" icon="waveform-lines" href="/runtime-sdk/build/turn-detection-and-interruptions/vad-and-interruptions">
    Feed clean audio into VAD next.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.