starkdmi commited on
Commit
b7bc051
·
verified ·
1 Parent(s): d0559fe

Add model card: provenance, files, precision guidance

Browse files
Files changed (1) hide show
  1. README.md +58 -0
README.md ADDED
@@ -0,0 +1,58 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: apache-2.0
3
+ base_model: RSNuts/Universal_Source_Separation
4
+ tags:
5
+ - mlx
6
+ - audio
7
+ - audio-to-audio
8
+ - source-separation
9
+ ---
10
+
11
+ # USS ResUNet30 (MLX)
12
+
13
+ Universal source separation — extracts an arbitrary sound class from a mixture.
14
+ Converted to MLX from the [ByteDance USS](https://github.com/bytedance/uss) code
15
+ and the published
16
+ [RSNuts/Universal_Source_Separation](https://huggingface.co/RSNuts/Universal_Source_Separation)
17
+ checkpoint.
18
+
19
+ ## Files
20
+
21
+ | file | size | notes |
22
+ | --- | ---: | --- |
23
+ | `resunet30_fp32.safetensors` | 102 MiB | recommended |
24
+ | `resunet30_fp16.safetensors` | 51 MiB | half the download |
25
+
26
+ ## Which precision
27
+
28
+ Measured on an Apple M1 Pro (16 GB), 30 s of audio, three timed runs. Quality is
29
+ fp16 against this model's own fp32 output — the cost of the precision change, not
30
+ a score for the model.
31
+
32
+ | precision | speed | peak memory | quality vs fp32 |
33
+ | --- | ---: | ---: | ---: |
34
+ | fp32 | 27.2x | 1203 MiB | reference |
35
+ | fp16 | 25.8x | 1259 MiB | 57.3 dB |
36
+
37
+ **fp32 is the one to use.** This is the unusual case where the smaller checkpoint
38
+ is both slower and heavier at run time — what dominates the footprint is the
39
+ forward pass, not the weights. Take fp16 only if halving the download matters more
40
+ than that, and note that 57.3 dB is audible on close listening.
41
+
42
+ ## Conditioning
43
+
44
+ USS is conditioned on a 527-dimensional vector over the
45
+ [AudioSet](https://research.google.com/audioset/) classes, which selects what the
46
+ separator extracts. It is an input rather than a model weight, and it is not
47
+ shipped here: each vector is a normalised multi-hot indicator over a class group —
48
+ a zero vector with `1/n` at each of the `n` chosen indices — so a class list fully
49
+ determines it.
50
+
51
+ The AudioSet ontology is CC BY-SA 4.0, which is a different licence from this
52
+ model's.
53
+
54
+ ## Use
55
+
56
+ Consumed by [AudioToolSwift](https://github.com/starkdmi) as
57
+ `ModelRepository.uss`, which pins this repository to an exact revision and
58
+ verifies the SHA-256 of every file it downloads.