coderycoo commited on
Commit
86ec9b8
·
verified ·
1 Parent(s): 2c6f111

add deterministic GTCRN Simple MLX weights

Browse files
Files changed (4) hide show
  1. LICENSE +21 -0
  2. README.md +63 -0
  3. conversion.json +11 -0
  4. model.safetensors +3 -0
LICENSE ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ MIT License
2
+
3
+ Copyright (c) 2024 Rong Xiaobin
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,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: mit
3
+ library_name: mlx
4
+ pipeline_tag: audio-to-audio
5
+ tags:
6
+ - speech-enhancement
7
+ - speech-denoising
8
+ - gtcrn
9
+ - mlx
10
+ - apple-silicon
11
+ - onnx-conversion
12
+ ---
13
+
14
+ # GTCRN Simple - MLX
15
+
16
+ Apple MLX conversion of the GTCRN Simple streaming speech-enhancement model.
17
+ This repository contains FP32 safetensors deterministically converted from the
18
+ pinned Sherpa-ONNX release asset. It is a layout conversion only: there is no
19
+ retraining, quantization, fusion, or weight modification beyond the layout
20
+ required by MLX convolutions.
21
+
22
+ ## Files
23
+
24
+ - `model.safetensors` - 208,427-byte FP32 MLX weight file. Its SHA-256 is
25
+ `d503ed83a35b91f66af97a6a1b07a76425988db7d9744556d0565c336a7e6e3b`.
26
+ - `conversion.json` - deterministic conversion record binding the source ONNX,
27
+ audit, converter revision, weight SHA-256, byte count, and 179 tensors.
28
+ - `LICENSE` - the upstream GTCRN MIT license.
29
+
30
+ ## Provenance
31
+
32
+ - Upstream implementation and model: [Xiaobin-Rong/gtcrn](https://github.com/Xiaobin-Rong/gtcrn)
33
+ at `9202557caa577baf2ec2220bef82ba9f4b589dc1`.
34
+ - Pinned ONNX source: the Sherpa-ONNX `gtcrn_simple.onnx` release asset, SHA-256
35
+ `e77603ac0c23dac3227dd2d7135b3a585cbee2679048aecfa886657d3ae1b534`.
36
+ - Conversion: [model-gtcrn](https://github.com/agentable/model-gtcrn)
37
+ `scripts/convert_onnx_to_mlx.py`, using its committed conversion audit.
38
+
39
+ The converted file preserves ONNX initializer names. ONNX Conv weights become
40
+ MLX OHWI; grouped ConvTranspose weights use the audited group-aware layout
41
+ transform. GRU, normalization, PReLU, matrix, and structural parameters retain
42
+ their source layouts as required by the MLX runner.
43
+
44
+ ## Validation
45
+
46
+ The MLX runner replays the pinned one-frame GTCRN graph, including all three
47
+ recurrent cache families. It is validated against the committed ONNX frame and
48
+ cache oracle with maximum absolute error below `5e-5` on Metal FP32 execution.
49
+ End-to-end waveform and corpus-quality qualification are not part of this
50
+ artifact release; they remain required gates in the consumer library before a
51
+ production release.
52
+
53
+ ## Usage
54
+
55
+ This artifact is consumed by the `engine: mlx` backend in
56
+ [model-gtcrn](https://github.com/agentable/model-gtcrn) on Apple Silicon with
57
+ the `mlx` build tag. The consumer manifest pins this repository at an immutable
58
+ commit and verifies the asset SHA-256 and byte count before MLX allocation.
59
+
60
+ ## License
61
+
62
+ The upstream GTCRN model is distributed under the MIT license. This derived
63
+ format conversion is redistributed under that same license; see `LICENSE`.
conversion.json ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "asset_bytes": 208427,
3
+ "asset_filename": "model.safetensors",
4
+ "asset_sha256": "d503ed83a35b91f66af97a6a1b07a76425988db7d9744556d0565c336a7e6e3b",
5
+ "audit_sha256": "23e83d7bc95de4ea3b8ee2940ec12592284b33ed05e8bcea3d51349a04fa7918",
6
+ "converter_sha256": "45bd6d99d87f4a4667642e9bec0f6f21c384e5c7dc6e19167e9d595ead4a579c",
7
+ "generated_by": "scripts/convert_onnx_to_mlx.py",
8
+ "schema_version": "gtcrn-mlx-conversion-v1",
9
+ "source_onnx_sha256": "e77603ac0c23dac3227dd2d7135b3a585cbee2679048aecfa886657d3ae1b534",
10
+ "tensor_count": 179
11
+ }
model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d503ed83a35b91f66af97a6a1b07a76425988db7d9744556d0565c336a7e6e3b
3
+ size 208427