DeepFilterNet3 3.0-stream-t100-fp16
Browse files
DeepFilterNet3-Stream-T100-fp16.mlpackage/Data/com.apple.CoreML/model.mlmodel
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:7d271f0d2b03fc8a011a7b0594d7843736a94dacfc35f567450188f3aff60bec
|
| 3 |
+
size 1900046
|
DeepFilterNet3-Stream-T100-fp16.mlpackage/Data/com.apple.CoreML/weights/weight.bin
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:52a7b8d88da41bb4aa3f3e4e03f209d9ecd0dddbf72701128cf1b6cdfdc3a17d
|
| 3 |
+
size 4273216
|
DeepFilterNet3-Stream-T100-fp16.mlpackage/Manifest.json
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"fileFormatVersion": "1.0.0",
|
| 3 |
+
"itemInfoEntries": {
|
| 4 |
+
"106285B0-C8D9-49D4-8722-EC4A42CC3947": {
|
| 5 |
+
"author": "com.apple.CoreML",
|
| 6 |
+
"description": "CoreML Model Specification",
|
| 7 |
+
"name": "model.mlmodel",
|
| 8 |
+
"path": "com.apple.CoreML/model.mlmodel"
|
| 9 |
+
},
|
| 10 |
+
"3ACE77A6-CD9D-4851-9143-6A0514664F7A": {
|
| 11 |
+
"author": "com.apple.CoreML",
|
| 12 |
+
"description": "CoreML Model Weights",
|
| 13 |
+
"name": "weights",
|
| 14 |
+
"path": "com.apple.CoreML/weights"
|
| 15 |
+
}
|
| 16 |
+
},
|
| 17 |
+
"rootModelIdentifier": "106285B0-C8D9-49D4-8722-EC4A42CC3947"
|
| 18 |
+
}
|
LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
MIT License
|
| 2 |
+
|
| 3 |
+
Copyright (c) 2021 Hendrik Schröter
|
| 4 |
+
|
| 5 |
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
| 6 |
+
of this software and associated documentation files (the "Software"), to deal
|
| 7 |
+
in the Software without restriction, including without limitation the rights
|
| 8 |
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
| 9 |
+
copies of the Software, and to permit persons to whom the Software is
|
| 10 |
+
furnished to do so, subject to the following conditions:
|
| 11 |
+
|
| 12 |
+
The above copyright notice and this permission notice shall be included in all
|
| 13 |
+
copies or substantial portions of the Software.
|
| 14 |
+
|
| 15 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
| 16 |
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
| 17 |
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
| 18 |
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
| 19 |
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
| 20 |
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
| 21 |
+
SOFTWARE.
|
README.md
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
license: mit
|
| 3 |
+
tags:
|
| 4 |
+
- coreml
|
| 5 |
+
- audio
|
| 6 |
+
- speech-enhancement
|
| 7 |
+
- noise-suppression
|
| 8 |
+
---
|
| 9 |
+
|
| 10 |
+
# DeepFilterNet3 for Core ML (streaming, 100 frames, FP16)
|
| 11 |
+
|
| 12 |
+
A Core ML conversion of [DeepFilterNet3](https://github.com/Rikorose/DeepFilterNet) by Hendrik Schröter, used for noise reduction in Clarity Sound Studio, a free, open-source macOS app.
|
| 13 |
+
|
| 14 |
+
Only the network is converted. The DSP around it (STFT, ERB and complex features, the mask, the deep filter and the inverse STFT) runs in the app. `dfn3_dsp.json` records that contract: window, ERB band widths, normalisation constants and the coefficient layout. The same JSON is in the model's `user_defined_metadata["dsp"]`.
|
| 15 |
+
|
| 16 |
+
| | |
|
| 17 |
+
| --- | --- |
|
| 18 |
+
| File | `DeepFilterNet3-Stream-T100-fp16.mlpackage` (ML Program, FP16, macOS 14+) |
|
| 19 |
+
| Upstream | DeepFilterNet3 weights at commit `d375b2d` (`dfn3-epoch120-best`) |
|
| 20 |
+
| Conversion | `convert.py --frames 100 --precision fp16 --gru unrolled`: stateful in chunks of 100 frames (10 ms hop at 48 kHz), the GRU and convolution state passed in and out as tensors |
|
| 21 |
+
| Inputs | `feat_erb`, `feat_spec` and six state tensors (zero at the start) |
|
| 22 |
+
| Outputs | `mask`, `coefs` and the next state |
|
| 23 |
+
|
| 24 |
+
The weights are unchanged apart from the conversion to FP16.
|
| 25 |
+
|
| 26 |
+
## Licence
|
| 27 |
+
|
| 28 |
+
DeepFilterNet is dual-licensed under MIT or Apache-2.0. This conversion is distributed under the MIT licence; see `LICENSE`.
|
| 29 |
+
|
| 30 |
+
Copyright (c) 2021 Hendrik Schröter.
|
| 31 |
+
|
| 32 |
+
> H. Schröter, T. Rosenkranz, A. N. Escalante-B. and A. Maier, "DeepFilterNet: Perceptually Motivated Real-Time Speech Enhancement", Interspeech 2023.
|
dfn3_dsp.json
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"sample_rate": 48000,
|
| 3 |
+
"fft_size": 960,
|
| 4 |
+
"hop_size": 480,
|
| 5 |
+
"nb_erb": 32,
|
| 6 |
+
"nb_df": 96,
|
| 7 |
+
"df_order": 5,
|
| 8 |
+
"df_lookahead": 2,
|
| 9 |
+
"conv_lookahead": 2,
|
| 10 |
+
"norm_alpha": 0.99,
|
| 11 |
+
"erb_widths": [
|
| 12 |
+
2,
|
| 13 |
+
2,
|
| 14 |
+
2,
|
| 15 |
+
2,
|
| 16 |
+
2,
|
| 17 |
+
2,
|
| 18 |
+
2,
|
| 19 |
+
2,
|
| 20 |
+
2,
|
| 21 |
+
2,
|
| 22 |
+
2,
|
| 23 |
+
2,
|
| 24 |
+
2,
|
| 25 |
+
5,
|
| 26 |
+
5,
|
| 27 |
+
7,
|
| 28 |
+
7,
|
| 29 |
+
8,
|
| 30 |
+
10,
|
| 31 |
+
12,
|
| 32 |
+
13,
|
| 33 |
+
15,
|
| 34 |
+
18,
|
| 35 |
+
20,
|
| 36 |
+
24,
|
| 37 |
+
28,
|
| 38 |
+
31,
|
| 39 |
+
37,
|
| 40 |
+
42,
|
| 41 |
+
50,
|
| 42 |
+
56,
|
| 43 |
+
67
|
| 44 |
+
],
|
| 45 |
+
"wnorm": 0.0010416666666666667,
|
| 46 |
+
"window": "vorbis: sin(pi/2 * sin^2(pi*(n+0.5)/N))",
|
| 47 |
+
"erb_norm_init": [
|
| 48 |
+
-60.0,
|
| 49 |
+
-90.0
|
| 50 |
+
],
|
| 51 |
+
"unit_norm_init": [
|
| 52 |
+
0.001,
|
| 53 |
+
0.0001
|
| 54 |
+
],
|
| 55 |
+
"frames_per_call": 100,
|
| 56 |
+
"coefs_layout": "[1,T,96,10]: tap-major, (re,im) interleaved; tap n multiplies spectrum frame t+n-2"
|
| 57 |
+
}
|