supertonic-3-mlx / README.md
freeman412's picture
Publish SuperTonic 3 native-MLX conversion (Open RAIL-M)
f032c0f verified
|
Raw
History Blame Contribute Delete
1.64 kB
---
license: openrail
pipeline_tag: text-to-speech
base_model: Supertone/supertonic-3
tags:
- text-to-speech
- tts
- mlx
- supertonic
---
# supertonic-3-mlx
Native-MLX conversion of [Supertone/supertonic-3](https://huggingface.co/Supertone/supertonic-3)
(99M-parameter flow-matching TTS, 44.1 kHz, 10 preset voices, 32 languages)
for use with `mlx-audio-swift`'s `SupertonicModel` (model_type `supertonic`).
## Contents
- `config.json` β€” model_type `supertonic`, sample_rate 44100, hop 512,
latent_dim 24, chunk_factor 6, cfg_scale 4.0, default_steps 8
- `duration_predictor.safetensors`, `text_encoder.safetensors`,
`vector_estimator.safetensors`, `vocoder.safetensors` β€” the four ONNX
sub-graphs' initializers, converted to MLX layout (Conv [O,I,K] β†’ [O,K,I])
- `unicode_indexer.json` β€” 65,536-entry BMP codepoint β†’ embedding-row table
- `voice_styles/{M1..M5,F1..F5}.json` β€” preset style vectors
(`style_ttl` [1,50,256], `style_dp` [1,8,16])
## Conversion pipeline
ONNX initializers were extracted with `onnx.numpy_helper`, Conv weights
transposed to MLX conv1d layout, keys renamed to stable dotted paths, and the
result validated stage-by-stage against ONNX Runtime at ≀1e-4 max-abs-error
(end-to-end ≀1e-3 on identical injected noise; ~69 dB SNR, perceptually
transparent). CFG and the Euler step baked into `vector_estimator.onnx` are
factored out and applied by the runtime.
## License
BigScience Open RAIL-M with use-based restrictions β€” see `LICENSE` and
`NOTICE`. These are format-converted (modified) files of the original
Supertone release; all credit for the model belongs to Supertone Inc.