File size: 2,546 Bytes
00203d3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
c9c7b47
00203d3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
c9c7b47
 
 
 
 
 
00203d3
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
---
license: mit
library_name: mlx
tags:
  - mlx
  - audio
  - speech-enhancement
  - noise-suppression
  - deepfilternet
  - apple-silicon
base_model: DeepFilterNet/DeepFilterNet
pipeline_tag: audio-to-audio
---

# DeepFilterNet1 — MLX

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

This is a direct conversion of the original PyTorch weights to `safetensors` format for use with [MLX](https://github.com/ml-explore/mlx) on Apple Silicon.

## Origin

- **Original model:** [DeepFilterNet](https://github.com/Rikorose/DeepFilterNet) by Hendrik Schroeter
- **Paper:** [DeepFilterNet: A Low Complexity Speech Enhancement Framework for Full-Band Audio based on Deep Filtering](https://arxiv.org/abs/2110.05588)
- **License:** MIT (same as the original)
- **Conversion:** PyTorch -> `safetensors` via the included `convert_deepfilternet.py` script

No fine-tuning or quantization was applied. Weights are converted directly from the original checkpoint.

## Files

| File | Description |
|---|---|
| `config.json` | Model architecture configuration |
| `model.safetensors` | Pre-converted weights (~7.2 MB, float32) |
| `convert_deepfilternet.py` | Conversion script (PyTorch -> MLX safetensors) |

## Model Details

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

## Usage

### Swift (mlx-audio-swift)

```swift
import MLXAudioSTS

let model = try await DeepFilterNetModel.fromPretrained("iky1e/DeepFilterNet1-MLX")
let enhanced = try model.enhance(audioArray)
```

### Python (mlx-audio)

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

model = DeepFilterNetModel.from_pretrained("iky1e/DeepFilterNet1-MLX")
enhanced = model.enhance("noisy.wav")
```

## Converting from PyTorch

```bash
python convert_deepfilternet.py \
  --input /path/to/DeepFilterNet \
  --output ./DeepFilterNet1-MLX \
  --name DeepFilterNet
```

## Citation

```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}
}
```