> ## 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 zrt import Pipeline
  from zrt.plugins import RNNoise, DeepgramSTT, OpenAILLM, ElevenLabsTTS, SileroVAD

  pipeline = Pipeline(
      stt=DeepgramSTT(api_key="your-deepgram-key"),
      llm=OpenAILLM(api_key="your-openai-key", model="gpt-5.4-nano"),
      tts=ElevenLabsTTS(api_key="your-elevenlabs-key", voice="your-voice-id"),
      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 zrt import Pipeline
      from zrt.inference import SanasDenoise

      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 zrt import Pipeline
      from zrt.inference import AICousticsDenoise

      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="/build/turn-detection-and-interruptions/turn-detection">
    Send clean audio to turn detection.
  </Card>

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