# agora-extension-ai-denoiser

> Agora AI Denoiser for Agora Web SDK

Latest version **2.0.2** (published 2026-04-23) · SEE LICENSE IN LICENSE.md license · 0 weekly downloads

## Install

```sh
npm install agora-extension-ai-denoiser
pnpm add agora-extension-ai-denoiser
yarn add agora-extension-ai-denoiser
bun add agora-extension-ai-denoiser
```

## Health

**Score 55/100 (C)** — status: active.

Positive: has types; esm support; no vulnerabilities.

Warnings: low downloads.

## Facts

| | |
|---|---|
| Version | 2.0.2 |
| Published | 2026-04-23 |
| First published | 2022-03-11 |
| Weekly downloads | 0 |
| License | SEE LICENSE IN LICENSE.md |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 0 |
| Unpacked size | 5.8 MB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | agora |
| Maintainers | agora.io, agorabuilder |
| Keywords | agora, audio, noise |

## Links

- npm: https://www.npmjs.com/package/agora-extension-ai-denoiser
- npm.io page: https://npm.io/package/agora-extension-ai-denoiser

## Alternatives

- [localforage](https://npm.io/package/localforage.md) — 6.2M weekly downloads
- [localforage-observable](https://npm.io/package/localforage-observable.md) — 30.8K weekly downloads
- [@y/y](https://npm.io/package/@y/y.md) — 30.1K weekly downloads
- [@metaobjectsdev/render](https://npm.io/package/@metaobjectsdev/render.md) — 3.5K weekly downloads
- [@ledgerhq/coin-algorand](https://npm.io/package/@ledgerhq/coin-algorand.md) — 1.1K weekly downloads

## Recent versions

- 2.0.2 (latest) — 2026-04-23
- 2.0.1 — 2026-03-17
- 1.1.0 — 2022-11-10
- 1.0.0 — 2022-07-27
- 1.0.0-beta2 — 2022-04-28
- 1.0.0-beta1 — 2022-03-31
- 1.0.0-beta — 2022-03-11

## README

# Agora AI Denoiser

This package provides AI denoiser feature for Agora Web SDK.

## Requirements

- Agora Web SDK (v4.15.1 or later)

## Highlights

- Smaller JavaScript file
- Better performance
- Friendly APIs

## Usage

Install packages `agora-rtc-sdk-ng` and `agora-extension-ai-denoiser`, then import these packages in your code.

```typescript
import AgoraRTC from "agora-rtc-sdk-ng";
import { AIDenoiserExtension } from "agora-extension-ai-denoiser";
import type { IAIDenoiserProcessor } from "agora-extension-ai-denoiser";
```

Create an extension instance and register it.

```typescript
const extension = new AIDenoiserExtension({
  assetsPath: "./external",
  fetchOptions: { cache: "no-cache" },
});
AgoraRTC.registerExtensions([extension]);

if (!extension.checkCompatibility()) {
  throw new Error("Browser unsupported");
}
```

Once join, let `track` be an `ILocalAudioTrack`, create a processor and pipe it to `track`.

```typescript
processor.on("overload", () => {
  console.warning("processor may overload");
});
processor.on("pipeerror", (error: Error) => {
  console.error(`failed to pipe processor: ${error}`);
  processor.unpipe();
  track.unpipe();
  track.pipe(track.processorDestination);
});

const processor = extension.createProcessor();
track.pipe(processor).pipe(track.processorDestination);
```

Enable or disable the processor.

```typescript
const enable = async () => {
  const enabled = processor.enabled;
  if (!enabled) {
    await processor.enable();
  }
};
const disable = async () => {
  const enabled = processor.enabled;
  if (enabled) {
    await processor.disable();
  }
};
```

If there is an audio issue, please dump the audio data.

```
processor.on("dump", (blob: Blob, name: string) => {
  const a = document.createElement("a");
  const url = URL.createObjectURL(blob);
  a.href = url;
  a.download = name;
  a.click();
  setTimeout(() => {
    URL.revokeObjectURL(url);
  }, 0);
});
processor.on("dumpend", () => {
  console.log("dumpend");
});
```

Unpipe and destroy the processor when it is not longer in use.

```typescript
const destroy = async () => {
  processor.unpipe();
  track.unpipe();
  track.pipe(track.processorDestination);
  await processor.destroy();
}
```

Refer to [Agora Docs](https://docs.agora.io/) for further details.

---

&copy; Copyright Agora, Inc.

---
_Source: https://npm.io/package/agora-extension-ai-denoiser · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
