Views
No views yet
models/tts/neutts-2e/coreml/.angry, disgusted, fearful, happy, sad,
surprised, neutral) across four fixed speakers (emily, paul, sophie,
steven), 24 kHz output.| File | Role | Target |
|---|---|---|
LM-Prefill-T768-M2048-fp16.mlpackage | prompt → last-position logits + KV cache | macOS 14+ / iOS 17+ |
LM-Decode-M2048-fp16.mlpackage | per-token decode, pass-through KV | macOS 14+ / iOS 17+ |
LM-Decode-M2048-fp16-stateful.mlpackage | per-token decode, MLState KV | macOS 15+ / iOS 18+ |
LM-Prefill-T768-M1024-fp16.mlpackage | faster pair, 1024-token cap | macOS 14+ / iOS 17+ |
LM-Decode-M1024-fp16-stateful.mlpackage | faster pair, 1024-token cap | macOS 15+ / iOS 18+ |
NeuCodec-Decoder-fp16.mlpackage | speech codes → 24 kHz audio (flexible length 2–2000) | macOS 14+ / iOS 17+ |
samples/*.pt, samples/*.txt | pre-encoded speaker reference codes + transcripts | — |
emily prompt);
use the M=2048 pair for longer utterances. Tokenizer comes from the
upstream repo.text → tokenizer → [prefill] → logits + KV
↓ top-k sampling loop (temp 1.0, k 50), 50 codes/s
[decode] → <|speech_N|> tokens until <|SPEECH_GENERATION_END|>
↓
[NeuCodec-Decoder] → 24 kHz waveform<|TEXT_PROMPT_START|>{ref_text}[<|EMOTION|>]{text}<|TEXT_PROMPT_END|><|SPEECH_GENERATION_START|>{ref codes}.
Compute-unit guidance: run the LM on GPU (.all / .cpuAndGPU — the ANE
rejects the decode graph), the codec on .cpuAndNeuralEngine (~2× faster than
GPU). For streaming, decode the codec in 82-frame windows with 25-frame stride
and linear overlap-add (upstream's scheme) — ~550 ms to first audio.