--- 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 --- # Supertonic 3 TTS 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. The model is composed of four sub-models that run sequentially: 1. **Duration predictor** — estimates speech duration from text 2. **Text encoder** — encodes text into a style-conditioned representation 3. **Vector estimator** — flow-matching denoiser that generates the audio latent 4. **Vocoder** — decodes the latent into a 44.1 kHz waveform ## Compatibility 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. 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. ## Backends | Backend | Description | RTF (Apple Silicon) | |---------|-------------|---------------------| | `xnnpack` | CPU-optimized via XNNPACK delegate | ~0.07 (14× faster than real-time) | | `mlx` | Apple Silicon GPU via MLX delegate | ~0.026 (38× faster than real-time) | ## Repository Structure ``` . ├── config.json # Backend-agnostic model manifest ├── unicode_indexer.json # Character-to-id mapping for text preprocessing ├── voices/ # Pre-computed speaker embeddings │ ├── M1.json │ ├── M2.json │ ├── F1.json │ └── ... ├── xnnpack/ # XNNPACK-exported .pte files └── mlx/ # MLX-exported .pte files ``` Each `.pte` file exposes two methods: - `forward` — the sub-model inference - `get_dynamic_dims_forward` — returns per-input `[rank, 3]` shape constraints (`[min, max, step]`) for runtime input validation