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
11
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Model tree for aoiandroid/neutts-nano-spanish-coreml

Quantized
(2)
this model

Collection including aoiandroid/neutts-nano-spanish-coreml