--- license: openrail language: - en - es - fr - pl - el - id - zh - ja - ru - tr - da - et - hr - pt - vi - sl - cs - it - uk - ko - sv - lv - hu - fi - ar - nl - sk - bg - hi - de - lt base_model: - Supertone/supertonic-3 pipeline_tag: text-to-speech library_name: executorch --- # supertonic This repository hosts the **supertonic** models exported for the [React Native ExecuTorch](https://www.npmjs.com/package/react-native-executorch) library as ExecuTorch `.pte` programs, ready to run on device. ## Variants | Path | Component | Backend | Precision | | --- | --- | --- | --- | | `mlx/duration_predictor_mlx_fp32.pte` | duration_predictor | mlx | fp32 | | `mlx/text_encoder_mlx_fp32.pte` | text_encoder | mlx | fp32 | | `mlx/vector_estimator_mlx_fp32.pte` | vector_estimator | mlx | fp32 | | `mlx/vocoder_mlx_fp32.pte` | vocoder | mlx | fp32 | | `vulkan/duration_predictor_vulkan_fp16.pte` | duration_predictor | vulkan | fp16 | | `vulkan/text_encoder_vulkan_fp16.pte` | text_encoder | vulkan | fp16 | | `vulkan/vector_estimator_vulkan_fp16.pte` | vector_estimator | vulkan | fp16 | | `vulkan/vocoder_vulkan_fp16.pte` | vocoder | vulkan | fp16 | | `xnnpack/duration_predictor_xnnpack_fp32.pte` | duration_predictor | xnnpack | fp32 | | `xnnpack/text_encoder_xnnpack_fp32.pte` | text_encoder | xnnpack | fp32 | | `xnnpack/vector_estimator_xnnpack_fp32.pte` | vector_estimator | xnnpack | fp32 | | `xnnpack/vector_estimator_xnnpack_int8.pte` | vector_estimator | xnnpack | int8 | | `xnnpack/vocoder_xnnpack_fp32.pte` | vocoder | xnnpack | fp32 | | `xnnpack/vocoder_xnnpack_int8.pte` | vocoder | xnnpack | int8 | ## XNNPACK int8 `xnnpack/vector_estimator_xnnpack_int8.pte` and `xnnpack/vocoder_xnnpack_int8.pte` are 8da8w (int8 dynamic activations, int8 per-channel weights) on the Linear layers, with the ConvNeXt pointwise convs moved onto Linears. The int8 set reuses the fp32 duration predictor and text encoder. LibriSpeech test-clean texts, voice F1, 8 steps, WER of a whisper base.en round trip: | | WER (57 short) | WER (8 long) | | --- | --- | --- | | fp32 | 3.36 | 3.32 | | fp32, other noise seed | 3.26 | 3.80 | | int8 | 3.74 | 3.01 | ## Unshipped backends A backend directory carrying a `NOTES.md` and no `.pte` was exported and not published. Its note records what went wrong. - `coreml` ([why](https://huggingface.co/software-mansion/react-native-executorch-supertonic/blob/main/coreml/NOTES.md)) ## Repository structure ``` config.json 32 B coreml/NOTES.md 879 B mlx/config.json 6.7 kB mlx/duration_predictor_mlx_fp32.pte 3.4 MB mlx/text_encoder_mlx_fp32.pte 34.4 MB mlx/vector_estimator_mlx_fp32.pte 244 MB mlx/vocoder_mlx_fp32.pte 96.7 MB unicode_indexer.json 271 kB voice_styles/F1.json 285 kB voice_styles/F2.json 286 kB voice_styles/F3.json 284 kB voice_styles/F4.json 285 kB voice_styles/F5.json 285 kB voice_styles/M1.json 285 kB voice_styles/M2.json 285 kB voice_styles/M3.json 283 kB voice_styles/M4.json 285 kB voice_styles/M5.json 285 kB voices/F1.bin 50.5 kB voices/F2.bin 50.5 kB voices/F3.bin 50.5 kB voices/F4.bin 50.5 kB voices/F5.bin 50.5 kB voices/M1.bin 50.5 kB voices/M2.bin 50.5 kB voices/M3.bin 50.5 kB voices/M4.bin 50.5 kB voices/M5.bin 50.5 kB vulkan/config.json 4.1 kB vulkan/duration_predictor_vulkan_fp16.pte 1.7 MB vulkan/text_encoder_vulkan_fp16.pte 17.3 MB vulkan/vector_estimator_vulkan_fp16.pte 122 MB vulkan/vocoder_vulkan_fp16.pte 48.4 MB xnnpack/config.json 13.1 kB xnnpack/duration_predictor_xnnpack_fp32.pte 3.4 MB xnnpack/text_encoder_xnnpack_fp32.pte 34.5 MB xnnpack/vector_estimator_xnnpack_fp32.pte 245 MB xnnpack/vector_estimator_xnnpack_int8.pte 62.9 MB xnnpack/vocoder_xnnpack_fp32.pte 96.7 MB xnnpack/vocoder_xnnpack_int8.pte 36.8 MB ``` ## Compatibility These files are published for the **ExecuTorch v1.4.1** runtime. ExecuTorch gives no forward compatibility guarantee, so an older runtime may fail to load them. To use them in React Native ExecuTorch, pass the model constant shipped in the library's model registry to the corresponding task pipeline. See the [documentation](https://docs.swmansion.com/react-native-executorch/docs/fundamentals/downloading-models). To load these files in your own ExecuTorch runtime, read the [compatibility note](https://github.com/pytorch/executorch/blob/main/runtime/COMPATIBILITY.md) first.