---
title: DeepFilterNet-mlx
canonical_url: "https://www.modelscope.cn/models/mlx-community/DeepFilterNet-mlx"
md_url: "https://www.modelscope.cn/models/mlx-community/DeepFilterNet-mlx.md"
repository: mlx-community/DeepFilterNet-mlx
last_updated: 2026-07-18
license: mit
base_model:
  - DeepFilterNet/DeepFilterNet
  - DeepFilterNet/DeepFilterNet2
  - DeepFilterNet/DeepFilterNet3
base_model_relation: finetune
parameters: 6.4M
tensor_type:
  - F32
library_name:
  - mlx
  - safetensors
  - pytorch
frameworks:
  - pytorch
downloads: 62
stars: 0
tags:
  - mlx
  - audio
  - speech-enhancement
  - noise-suppression
  - deepfilternet
  - apple-silicon
---

# DeepFilterNet-mlx

> DeepFilterNet-mlx - mlx-community 在 ModelScope 开源的模型。MLX-compatible weights for DeepFilterNet, a real-time speech enhancement framework that suppresses background noise from full-band 48 kHz audio.

mlx-community/DeepFilterNet-mlx 是 ModelScope 魔搭社区上的 6.4M 参数机器学习模型，采用 mit 许可，基于 DeepFilterNet/DeepFilterNet、DeepFilterNet/DeepFilterNet2、DeepFilterNet/DeepFilterNet3 构建。

- **Repository**: mlx-community/DeepFilterNet-mlx
- **License**: mit
- **Parameters**: 6.4M
- **Base model**: DeepFilterNet/DeepFilterNet, DeepFilterNet/DeepFilterNet2, DeepFilterNet/DeepFilterNet3
- **Tags**: mlx, audio, speech-enhancement, noise-suppression, deepfilternet, apple-silicon
- **Downloads**: 62
- **Stars**: 0
- **Last updated**: 2026-07-18

Source: https://www.modelscope.cn/models/mlx-community/DeepFilterNet-mlx

---

# DeepFilterNet — MLX

MLX-compatible weights for [DeepFilterNet](https://github.com/Rikorose/DeepFilterNet), a real-time speech enhancement framework that suppresses background noise from full-band 48 kHz audio.

This repository contains all three model versions (v1, v2, v3), converted directly from the original PyTorch checkpoints to `safetensors` format for use with [MLX](https://github.com/ml-explore/mlx) on Apple Silicon. No fine-tuning or quantization was applied — the weights are numerically identical to the originals.

## Models

Each version is stored in its own subfolder:

| Version | Subfolder | Weights | Paper |
|---------|-----------|---------|-------|
| DeepFilterNet v1 | `v1/` | ~7.2 MB (float32) | [arXiv:2110.05588](https://arxiv.org/abs/2110.05588) |
| DeepFilterNet v2 | `v2/` | ~8.9 MB (float32) | [arXiv:2205.05474](https://arxiv.org/abs/2205.05474) |
| DeepFilterNet v3 | `v3/` | ~8.3 MB (float32) | [arXiv:2305.08227](https://arxiv.org/abs/2305.08227) |

## Model Details

All versions share the same audio parameters:

| Parameter | Value |
|-----------|-------|
| Sample rate | 48 kHz |
| FFT size | 960 |
| Hop size | 480 |
| ERB bands | 32 |
| DF bins | 96 |
| DF order | 5 |

| Version | Embedding hidden dim |
|---------|---------------------|
| v1 | 512 |
| v2 | 256 |
| v3 | 256 |

## Files

```
convert_deepfilternet.py   # PyTorch → MLX conversion script
v1/
  config.json              # v1 architecture configuration
  model.safetensors        # v1 weights
v2/
  config.json              # v2 architecture configuration
  model.safetensors        # v2 weights
v3/
  config.json              # v3 architecture configuration
  model.safetensors        # v3 weights
```

## Usage

### Python (mlx-audio)

```python
from mlx_audio.sts.models.deepfilternet import DeepFilterNetModel

# Load v3 (default)
model = DeepFilterNetModel.from_pretrained("mlx-community/DeepFilterNet-mlx")

# Load a specific version
model = DeepFilterNetModel.from_pretrained("mlx-community/DeepFilterNet-mlx", subfolder="v1")

# Enhance a file
enhanced = model.enhance("noisy.wav")
```

### Swift (mlx-audio-swift)

```swift
import MLXAudioSTS

let model = try await DeepFilterNetModel.fromPretrained("mlx-community/DeepFilterNet-mlx", subfolder: "v3")
let enhanced = try model.enhance(audioArray)
```

## Converting from PyTorch

To re-create these weights from the original DeepFilterNet checkpoints:

```bash
# Clone the original repo to get the pretrained checkpoints
git clone https://github.com/Rikorose/DeepFilterNet

# Convert each version
python convert_deepfilternet.py --input DeepFilterNet/DeepFilterNet  --output v1 --name DeepFilterNet
python convert_deepfilternet.py --input DeepFilterNet/DeepFilterNet2 --output v2 --name DeepFilterNet2
python convert_deepfilternet.py --input DeepFilterNet/DeepFilterNet3 --output v3 --name DeepFilterNet3
```

Each input directory should contain a `config.ini` and a `checkpoints/` folder from the original repo.

Requires `torch` and `mlx` to be installed.

## Origin

- **Original model:** [DeepFilterNet](https://github.com/Rikorose/DeepFilterNet) by Hendrik Schroeter
- **License:** MIT (same as the original)
- **Conversion:** PyTorch → `safetensors` via `convert_deepfilternet.py`

## Citations

```bibtex
@inproceedings{schroeter2022deepfilternet,
  title={{DeepFilterNet}: A Low Complexity Speech Enhancement Framework for Full-Band Audio based on Deep Filtering},
  author={Schr{\"o}ter, Hendrik and Escalante-B., Alberto N. and Rosenkranz, Tobias and Maier, Andreas},
  booktitle={ICASSP 2022 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP)},
  year={2022},
  organization={IEEE}
}

@inproceedings{schroeter2022deepfilternet2,
  title={{DeepFilterNet2}: Towards Real-Time Speech Enhancement on Embedded Devices for Full-Band Audio},
  author={Schr{\"o}ter, Hendrik and Escalante-B., Alberto N. and Rosenkranz, Tobias and Maier, Andreas},
  booktitle={17th International Workshop on Acoustic Signal Enhancement (IWAENC 2022)},
  year={2022},
}

@inproceedings{schroeter2023deepfilternet3,
  title={DeepFilterNet: Perceptually Motivated Real-Time Speech Enhancement},
  author={Schr{\"o}ter, Hendrik and Rosenkranz, Tobias and Escalante-B., Alberto N. and Maier, Andreas},
  booktitle={INTERSPEECH},
  year={2023}
}
```
