Text-to-Speech
Core ML
Supertonic
speech
audio
tts
ane
apple-silicon
flow-matching
diffusion
multilingual
Instructions to use FluidInference/supertonic-3-coreml with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Supertonic
How to use FluidInference/supertonic-3-coreml with Supertonic:
from supertonic import TTS tts = TTS(auto_download=True) style = tts.get_voice_style(voice_name="M1") text = "The train delay was announced at 4:45 PM on Wed, Apr 3, 2024 due to track maintenance." wav, duration = tts.synthesize(text, voice_style=style) tts.save_audio(wav, "output.wav")
- Notebooks
- Google Colab
- Kaggle
README: document v2 edge-pad-fixed bundles
Browse files
README.md
CHANGED
|
@@ -112,6 +112,29 @@ https://github.com/FluidInference/FluidAudio/tree/main/Sources/FluidAudio/TTS/Su
|
|
| 112 |
- **Precision**: FP16 weights and activations (mlprogram, iOS 18+ minimum deployment target).
|
| 113 |
- **Granularity**: vocoder frame ≈ 11.6 ms; latent tick ≈ 69.7 ms.
|
| 114 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 115 |
## Supported Languages
|
| 116 |
|
| 117 |
English, Korean, Japanese, Arabic, Bulgarian, Czech, Danish, German, Greek,
|
|
|
|
| 112 |
- **Precision**: FP16 weights and activations (mlprogram, iOS 18+ minimum deployment target).
|
| 113 |
- **Granularity**: vocoder frame ≈ 11.6 ms; latent tick ≈ 69.7 ms.
|
| 114 |
|
| 115 |
+
## v2 bundles (2026-10-07)
|
| 116 |
+
|
| 117 |
+
`TextEncoder_v2`, `DurationPredictor_v2`, `VectorEstimator_v2` and every
|
| 118 |
+
`VectorEstimatorVariants/VectorEstimator_v2_*` build fix a padding leak in v1.
|
| 119 |
+
|
| 120 |
+
Upstream's ConvNeXt convs pad both sides with edge (replicate) padding. The
|
| 121 |
+
Core ML pipeline right-pads text to T=128 and the ANE latent buckets to
|
| 122 |
+
L=128/256/512, so in v1 the last valid frame saw padded zeros. The result was
|
| 123 |
+
audible energy in the last ~250 ms of most chunks, plus small duration and
|
| 124 |
+
text-embedding drift.
|
| 125 |
+
|
| 126 |
+
v2 fills padded frames with the last valid frame before each such conv.
|
| 127 |
+
Inputs, outputs, sizes and ANE placement are the same as v1. Measured against
|
| 128 |
+
unpadded ONNX on the ANE L128 bucket:
|
| 129 |
+
|
| 130 |
+
- Spectral SNR: 1.0 dB (v1 int4) → 25.4 dB (v2 fp16)
|
| 131 |
+
- Chunk-tail energy: −47 dB → −79 dB, which matches ONNX
|
| 132 |
+
- Speed: unchanged
|
| 133 |
+
|
| 134 |
+
`Vocoder` pads on the left only, so it's unaffected and keeps its name. The v1
|
| 135 |
+
files remain for older FluidAudio releases; FluidAudio ≥ the release with PR
|
| 136 |
+
#1002 loads v2.
|
| 137 |
+
|
| 138 |
## Supported Languages
|
| 139 |
|
| 140 |
English, Korean, Japanese, Arabic, Bulgarian, Czech, Danish, German, Greek,
|