Ming 3.0 TTS 0.5B for Glade
Conversion of Ming 3.0 TTS 0.5B for ordinary-text speech synthesis in Swift. The dense language backbone, audio aggregation, flow network and AudioVAE use Core AI; Swift implements text preparation, the original flow sampler and waveform reconstruction. Output is 44.1 kHz mono. The complete bundle includes the tokenizer, Chinese/English normalization transducers, built-in voice catalog and acoustic reference encoder.
The 0.5B label describes the 494-million-parameter language backbone. The full checkpoint has 1,479,451,276 learned parameters, including the acoustic reference encoder; the synthesis path has 1,060,189,452. Registered buffers are excluded. This is a conversion and quantization, with no additional training.
Using the bundle
Download one consistent repository snapshot and keep its files together.
Glade's MingTTSModelBundle and MingTTSSynthesizer consume these assets without
Python, pre-tokenized text or user-supplied phonemes. Core AI requires macOS 27
or iOS 27. The measurements below qualify this conversion on the Mac and iPhone.
hf download coder543/ming-3.0-tts-0.5b-glade --local-dir ./ming-tts
glade tts --model ./ming-tts --text "Welcome to the glade." \
--language en --voice US_James --output speech.wav
Chinese, English, German, Spanish, French, Korean and Japanese follow the upstream language/task contracts. Chinese and English use the released normalizers; the other five languages use upstream's explicit-language bypass. Built-in Chinese/English voices, emotion and delivery controls, Sichuanese and Cantonese, voice design and free-form instructions are distinct tasks. Acoustic voice conditioning requires reference audio and its transcript; encode it once and reuse the resulting conditioning. No voice recording is included in this repository.
The common TTS session interface supports ordered offline and online requests. Online output arrives after each complete normalized fragment; it is not incremental playback of unfinished latent frames. The language graph supports 512 prompt/output positions, with 32-position prefill blocks. AudioVAE preserves its native 64-position causal window. The default text fragment target is 50 characters, as recorded in the runtime metadata.
Glade automatically batches independent native fragments and application jobs, using up to four occupied lanes. Native fragment boundaries are unchanged: upstream starts each fragment with a fresh language cache and the original voice conditioning. Autoregressive steps within each fragment remain sequential. Completed lanes are removed; outputs retain their source order.
Representation and sampler
- Language projections and embeddings retain FP16 checkpoint values. Bounded normalization and a declared residual scale of 1/8 keep language arithmetic representable in FP16 without changing the intended attention context.
- Flow, aggregation and AudioVAE projection weights use INT8 storage with FP16 activations. The flow graph uses unsplit projections; the other converted graph families use 256-channel projection reductions.
- The upstream ten-step EPSS sampler uses guidance
conditional + 2 * (conditional - unconditional), sigma 0.25, temperature 0 and sway -1. Temperature zero still uses the original Gaussian initialization and consumes the original SDE-noise draws. Runtime metadata records these conventions and their source revision. resources.f32retains small host projections and reconstruction constants. The original 3,528-point inverse FFT, 882-sample hop and edge trimming run on CPU. The bundle includes thirteen.aimodelassets, including reference encoders. The language backbone is divided into six four-layer assets to reduce device specialization time. This changes graph boundaries, not attention context.
Measured performance
Release Glade runtime, one full-workload warmup and three measured passes per configuration. The ordinary-text input repeats this passage four times, with paragraph breaks, for 60 source words:
Sunlight pours through the trees. A gentle breeze moves across the clearing. Welcome to Glade.
These runs use unconditioned speech and seed 1895. Initial preparation, warmup, WAV writing and Instruments are outside the inference timer. Host text frontend, flow sampling and waveform reconstruction are included.
| Device | Batch 1 RTFx | Batch 1 WPM | Best measured RTFx | WPM | Batch |
|---|---|---|---|---|---|
| M3 MacBook Air, 16 GB | 1.68Γ | 243 | 3.68Γ | 539 | 4 |
| iPhone Duo, A20 Pro | 2.26Γ | 326 | 5.00Γ | 729 | 4 |
| iPhone 15 Pro Max, A17 Pro | 1.48Γ | 214 | 3.21Γ | 468 | 4 |
Medians measured October 25, 2026. macOS 27.0.1, iOS 27.1 on Duo and iOS 27.0.1 on the 15 Pro Max; all these runs remained in nominal thermal state. Generated audio lasts 24.6β24.9 seconds. RTFx is generated audio duration divided by generation time. WPM is source words divided by generation time, multiplied by 60, using whitespace-delimited English tokens containing letters or digits; it measures text throughput, not speaking rate. One external text request is internally fragmented and batched; request concurrency is one.
Peak sampled process footprint plus the disjoint ANE no-footprint ledger was 3.0 GB on Mac, 3.9 GB on Duo and 2.3 GB on the 15 Pro Max (decimal). GPU and task-resident ANE allocations already included in the footprint are not added again; compiler/service allocations are excluded.
Separate Instruments captures on all three devices match every expected synthesis graph call to ANE predictions, with no target GPU intervals. Host frontend and signal processing run on CPU. Hardware intervals establish execution, not arithmetic utilization.
The smaller language assets trade some warm runtime performance for preparation time. On Duo, summing separately measured cold asset times gives approximately 283 seconds including loading overhead, versus 604 seconds for two twelve-layer language assets with the same lane shapes. This is an estimate from independent asset measurements, not a newly measured fully cleared-cache load. Preparation is excluded from the throughput table.
Qualification and limits
The original prompt/tokenizer, normalization, language caches, acoustic reference encoder, flow integration and inverse-FFT reconstruction have numerical controls. The selected graph's flow integration differs by 1.84% relative RMS from its retained source fixture; inverse-FFT reconstruction differs by 0.000024%. Internal RMS is not a perceptual-quality score.
Cohere Transcribe recovered every source word from all distinct recordings of the repeated English passage. Repetitions produced identical waveform bytes per configuration, and regrouping the language layers preserved those bytes on the Mac. Round-trip recognition is a coherence check, not a perceptual quality comparison, and includes the recognizer's errors. Separate short checks exercise all seven languages and the ordered CLI delivery path. They do not establish general multilingual pronunciation, speaker similarity or long-form quality.
Attribution
Checkpoint revision: e5bd8da31ecf1b9276cdbdda821fa891068f1368.
Source implementation: inclusionAI/Ming-3.0-tts,
revision e999c39fa676722aaa9ea29b5aa19a90525b271f.
Weights and upstream implementation use MIT. LICENSE, NOTICE and
CODE-LICENSE retain the source, WeTextProcessing and OpenFst notices.
Core AI assets omit authoring debug locations; their graph signatures and
operation statistics are preserved. Device specialization caches are not included.
Model tree for coder543/ming-3.0-tts-0.5b-glade
Base model
inclusionAI/Ming-3.0-tts-0.5B