NeuTTS Nano Spanish β Core ML
Core ML conversion of neuphonic/neutts-nano-spanish for on-device Spanish TTS on Apple platforms.
Contents
| File | Description | Size |
|---|---|---|
NeuTTSNanoSpanish_KVCache_ctx2048.mlpackage |
Backbone FP16 (stateful KV Cache) | ~1.1 GB |
NeuTTSNanoSpanish_KVCache_ctx2048_INT8.mlpackage |
Backbone INT8 (weight-quantized) | ~600 MB |
NeuCodecDecoder.mlpackage |
Audio decoder (STFT ri output; Swift does ISTFT) | ~100 MB |
tokenizer/ |
Tokenizer files | β |
coreml_meta.json |
Conversion metadata | β |
Requirements
- iOS 18+ / macOS 15+ (backbone requires stateful KV Cache)
- iOS 16+ / macOS 13+ (codec decoder only)
Inference pipeline
1. Phonemize Spanish text with espeak-ng (language: es)
2. Tokenize phonemes + reference speech codes β input_ids
3. Run backbone (prefill + autoregressive decode) β speech token IDs
4. Run NeuCodec decoder β STFT ri spectrum (1, 2*F, N)
5. Swift runtime performs ISTFT β 24 kHz PCM audio
Architecture
- Backbone:
LlamaForCausalLM, vocab_size=194256, hidden_size=576, 24 layers, GQA (9 heads / 3 KV heads) - KV Cache: stateful, max_context_len=2048, size=37.7 MB FP16
- Codec: NeuCodec FSQ, 50 tokens/s, outputs STFT ri components for Swift ISTFT
Notes on NeuCodec decoder
The CoreML NeuCodec decoder outputs STFT real/imaginary (ri) spectrum (1, 2*F, N) rather than raw audio. The Inverse STFT is performed by the Swift runtime using precomputed IDFT matrix and Overlap-and-Add, avoiding CoreML Tools limitations with complex number operations.
Original model
See neuphonic/neutts-nano-spanish for full details, license, and usage instructions.
NeuTTS Nano Spanish is released under the NeuTTS Open License 1.0.
- Downloads last month
- 5
Model tree for aoiandroid/neutts-nano-spanish-coreml
Base model
neuphonic/neutts-nano-spanish