msluszniak commited on
Commit
562b5a3
Β·
verified Β·
1 Parent(s): 362868c

Apply the model card standard

Browse files
Files changed (1) hide show
  1. README.md +74 -31
README.md CHANGED
@@ -38,46 +38,89 @@ pipeline_tag: text-to-speech
38
  library_name: executorch
39
  ---
40
 
41
- # Supertonic 3 TTS
42
 
43
- This repository hosts the **Supertonic 3** model for the [React Native ExecuTorch](https://github.com/software-mansion/react-native-executorch) library. It performs text-to-speech synthesis supporting **30+ languages**, with a single voice style per language.
 
 
44
 
45
- The model is composed of four sub-models that run sequentially:
46
 
47
- 1. **Duration predictor** β€” estimates speech duration from text
48
- 2. **Text encoder** β€” encodes text into a style-conditioned representation
49
- 3. **Vector estimator** β€” flow-matching denoiser that generates the audio latent
50
- 4. **Vocoder** β€” decodes the latent into a 44.1 kHz waveform
 
 
 
 
 
 
 
 
 
 
51
 
52
- ## Compatibility
53
-
54
- These models were exported using **v1.3.1** of ExecuTorch and no forward compatibility is guaranteed. Older versions of the runtime may not work with these files.
55
-
56
- The models are intended to be used within the React Native ExecuTorch package. If you want to use them outside the package, make sure your runtime is compatible with the ExecuTorch version used to export the `.pte` files and follow the example scripts to run the models.
57
 
58
- ## Backends
 
59
 
60
- | Backend | Description | RTF (Apple Silicon) |
61
- |---------|-------------|---------------------|
62
- | `xnnpack` | CPU-optimized via XNNPACK delegate | ~0.07 (14Γ— faster than real-time) |
63
- | `mlx` | Apple Silicon GPU via MLX delegate | ~0.026 (38Γ— faster than real-time) |
64
 
65
- ## Repository Structure
66
 
67
  ```
68
- .
69
- β”œβ”€β”€ config.json # Backend-agnostic model manifest
70
- β”œβ”€β”€ unicode_indexer.json # Character-to-id mapping for text preprocessing
71
- β”œβ”€β”€ voices/ # Pre-computed speaker embeddings
72
- β”‚ β”œβ”€β”€ M1.json
73
- β”‚ β”œβ”€β”€ M2.json
74
- β”‚ β”œβ”€β”€ F1.json
75
- β”‚ └── ...
76
- β”œβ”€β”€ xnnpack/ # XNNPACK-exported .pte files
77
- └── mlx/ # MLX-exported .pte files
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
78
  ```
79
 
80
- Each `.pte` file exposes two methods:
 
 
 
 
 
 
 
 
81
 
82
- - `forward` β€” the sub-model inference
83
- - `get_dynamic_dims_forward` β€” returns per-input `[rank, 3]` shape constraints (`[min, max, step]`) for runtime input validation
 
 
38
  library_name: executorch
39
  ---
40
 
41
+ # supertonic
42
 
43
+ This repository hosts the **supertonic** models exported for the
44
+ [React Native ExecuTorch](https://www.npmjs.com/package/react-native-executorch)
45
+ library as ExecuTorch `.pte` programs, ready to run on device.
46
 
47
+ ## Variants
48
 
49
+ | Path | Component | Backend | Precision |
50
+ | --- | --- | --- | --- |
51
+ | `mlx/duration_predictor_mlx_fp32.pte` | duration_predictor | mlx | fp32 |
52
+ | `mlx/text_encoder_mlx_fp32.pte` | text_encoder | mlx | fp32 |
53
+ | `mlx/vector_estimator_mlx_fp32.pte` | vector_estimator | mlx | fp32 |
54
+ | `mlx/vocoder_mlx_fp32.pte` | vocoder | mlx | fp32 |
55
+ | `vulkan/duration_predictor_vulkan_fp16.pte` | duration_predictor | vulkan | fp16 |
56
+ | `vulkan/text_encoder_vulkan_fp16.pte` | text_encoder | vulkan | fp16 |
57
+ | `vulkan/vector_estimator_vulkan_fp16.pte` | vector_estimator | vulkan | fp16 |
58
+ | `vulkan/vocoder_vulkan_fp16.pte` | vocoder | vulkan | fp16 |
59
+ | `xnnpack/duration_predictor_xnnpack_fp32.pte` | duration_predictor | xnnpack | fp32 |
60
+ | `xnnpack/text_encoder_xnnpack_fp32.pte` | text_encoder | xnnpack | fp32 |
61
+ | `xnnpack/vector_estimator_xnnpack_fp32.pte` | vector_estimator | xnnpack | fp32 |
62
+ | `xnnpack/vocoder_xnnpack_fp32.pte` | vocoder | xnnpack | fp32 |
63
 
64
+ ## Unshipped backends
 
 
 
 
65
 
66
+ A backend directory carrying a `NOTES.md` and no `.pte` was exported and
67
+ not published. Its note records what went wrong.
68
 
69
+ - `coreml` ([why](https://huggingface.co/software-mansion/react-native-executorch-supertonic/blob/main/coreml/NOTES.md))
 
 
 
70
 
71
+ ## Repository structure
72
 
73
  ```
74
+ config.json 32 B
75
+ coreml/NOTES.md 879 B
76
+ mlx/config.json 6.7 kB
77
+ mlx/duration_predictor_mlx_fp32.pte 3.4 MB
78
+ mlx/text_encoder_mlx_fp32.pte 34.4 MB
79
+ mlx/vector_estimator_mlx_fp32.pte 244 MB
80
+ mlx/vocoder_mlx_fp32.pte 96.7 MB
81
+ unicode_indexer.json 271 kB
82
+ voice_styles/F1.json 285 kB
83
+ voice_styles/F2.json 286 kB
84
+ voice_styles/F3.json 284 kB
85
+ voice_styles/F4.json 285 kB
86
+ voice_styles/F5.json 285 kB
87
+ voice_styles/M1.json 285 kB
88
+ voice_styles/M2.json 285 kB
89
+ voice_styles/M3.json 283 kB
90
+ voice_styles/M4.json 285 kB
91
+ voice_styles/M5.json 285 kB
92
+ voices/F1.bin 50.5 kB
93
+ voices/F2.bin 50.5 kB
94
+ voices/F3.bin 50.5 kB
95
+ voices/F4.bin 50.5 kB
96
+ voices/F5.bin 50.5 kB
97
+ voices/M1.bin 50.5 kB
98
+ voices/M2.bin 50.5 kB
99
+ voices/M3.bin 50.5 kB
100
+ voices/M4.bin 50.5 kB
101
+ voices/M5.bin 50.5 kB
102
+ vulkan/config.json 4.1 kB
103
+ vulkan/duration_predictor_vulkan_fp16.pte 1.7 MB
104
+ vulkan/text_encoder_vulkan_fp16.pte 17.3 MB
105
+ vulkan/vector_estimator_vulkan_fp16.pte 122 MB
106
+ vulkan/vocoder_vulkan_fp16.pte 48.4 MB
107
+ xnnpack/config.json 6.7 kB
108
+ xnnpack/duration_predictor_xnnpack_fp32.pte 3.4 MB
109
+ xnnpack/text_encoder_xnnpack_fp32.pte 34.5 MB
110
+ xnnpack/vector_estimator_xnnpack_fp32.pte 245 MB
111
+ xnnpack/vocoder_xnnpack_fp32.pte 96.7 MB
112
  ```
113
 
114
+ ## Compatibility
115
+
116
+ These files are published for the **ExecuTorch v1.4.1** runtime. ExecuTorch
117
+ gives no forward compatibility guarantee, so an older runtime may fail to load
118
+ them.
119
+
120
+ To use them in React Native ExecuTorch, pass the model constant shipped in the
121
+ library's model registry to the corresponding task pipeline. See the
122
+ [documentation](https://docs.swmansion.com/react-native-executorch/docs/fundamentals/loading-models).
123
 
124
+ To load these files in your own ExecuTorch runtime, read the
125
+ [compatibility note](https://github.com/pytorch/executorch/blob/main/runtime/COMPATIBILITY.md)
126
+ first.