Model Details
DeepFilterNet 3 is a real-time speech-enhancement model that cleans up a noisy voice recording and upsamples it to studio-quality 48 kHz mono. Pass a URL to an audio file (mp3, ogg, wav, m4a, aac) and it removes broadband background noise from the speech signal while keeping the recording intact, then returns a higher-fidelity file at the container format and bitrate you choose. Unlike voice isolation or source separation, it does not strip out other tracks — it improves the perceptual quality of the speech you already have, which makes it ideal for salvaging real-world recordings.\n\n## Best for\n- Cleaning up noisy phone or video calls, voice memos, and field recordings\n- Restoring low-bitrate or old speech recordings to a cleaner, higher-fidelity 48 kHz version\n- Podcast and voiceover cleanup where the speaker is already the only source but the room or mic is noisy\n- Preprocessing dialogue before transcription or further editing so speech-to-text sees a cleaner signal\n\n## Choose another model when\n- You need to pull a voice out of a mix that also contains music or other speakers — use a voice-isolation model (elevenlabs/audio-isolation)\n- You want to extract one specific described sound (an instrument, an effect) from a layered mixture — use an audio source-separation model (meta/sam-audio)\n- Your recording is already clean and you only need a transcript — send it straight to a speech-to-text model\n\n## Advanced Configuration\n- `audio_format` selects the output container: `mp3`, `aac`, `m4a`, `ogg`, `opus`, `flac`, or `wav` (default `mp3`). Pick `flac` or `wav` for a lossless result, `opus`/`aac` for small streaming files.\n- `bitrate` sets the encoded output bitrate as a string like `192k` (default). Raise it for higher-quality lossy output; it is ignored for lossless formats.\n\nOutput is always mono at a 48 kHz sample rate regardless of the input, and the enhanced audio keeps the same duration as the source.\n\nTo run via the ModelRunner JavaScript client:\n```js\nimport { modelrunner } from \"@modelrunner/client\";\n\nconst result = await modelrunner.subscribe(\"rikorose/deepfilternet3\", {\n input: {\n audio_url: \"https://media.modelrunner.ai/9tAgozhatuqrDkuBmANeS.mp3\",\n audio_format: \"mp3\",\n bitrate: \"192k\",\n },\n});\n```
