Clear: On-device Speech Enhancement, Denoise and Dereverb
On-device speech enhancement that turns a noisy recording into a podcast-ready 48 kHz file: denoised, dereverbed, and loudness-normalized, all on device.
Clear takes noisy mono or stereo audio, a laptop mic, an untreated room, traffic, and returns a clean 48 kHz result. A fine-tuned DeepFilterNet 3 model handles noise reduction and dereverberation, and an optional pass normalizes loudness to platform spec.
It works on any audio or video file AVFoundation can read; video comes back with the original picture and enhanced audio muxed in. A 10-minute clip processes in about 7 seconds on Apple silicon. Clear is the on-device alternative to cloud tools like Adobe Podcast, Dolby, and Auphonic: audio never leaves the device, with no upload and no per-minute bill. It leads with dereverb and podcast-ready output, the qualities most denoisers skip.
Demo
Performance
Enhances a 5-minute clip in 3.7 s on an iPhone 17 Pro, 81x realtime, on device.
Time to enhance a 5-minute clip on the Apple Neural Engine (internal)
| Device | Mono | Stereo |
|---|---|---|
| iPhone 17 Pro (A19 Pro) | 3.70 s · 81x | 5.16 s · 58x |
| iPhone 15 Pro (A17 Pro) | 4.88 s · 61x | 6.53 s · 46x |
Use cases
Podcast and video mastering
Clean a laptop-mic or untreated-room recording and normalize to Apple Podcasts, Spotify, YouTube, or EBU R128 in a single pass.
Dereverberation
Remove room reflections, not just hiss. Dereverb is where most denoisers stop and Clear keeps going.
Fast and local
A 10-minute clip processes in about 7 seconds on device, with no upload and no per-minute cost.
Voice and meeting capture
Improve the intelligibility of voice notes and recorded calls before transcription or archiving.
What it does
- Denoise plus dereverb from a fine-tuned DeepFilterNet 3 model
- Loudness presets: Apple Podcasts, Spotify, YouTube, EBU R128
StrengthandMasteringcontrols- Works on any audio or video AVFoundation can read; video returns enhanced audio muxed with the original picture
Platforms and install
// Swift Package Manager .package(url: "https://github.com/Desert-Ant-Labs/clear-swift", from: "0.1.0")
import Clear let clear = try await Clear() let result = try await clear.enhance(at: inputURL) // result.outputPath: "in_clear.mp4"
// build.gradle.kts (via JitPack)
implementation("com.github.Desert-Ant-Labs:clear-kotlin:0.1.0")
import ai.desertant.clear.Clear val clear = Clear.create(context) val result = clear.enhance(inputWavPath) // result.outputPath: ".../<stem>_clear.wav"
npm i @desert-ant-labs/clear
import { load, decodeToMono, encodeWav } from "@desert-ant-labs/clear";
const clear = await load({ variant: "studio" });
const { audio } = await clear.enhance(await decodeToMono(file));
Specs
- Output
- 48 kHz, denoised and dereverbed
- Speed
- ~10-minute clip in ~7 seconds on Apple silicon
- Model
- Fine-tuned DeepFilterNet 3
- Standards
- LUFS / EBU R128 loudness normalization