| --- |
| 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 |