OCDevel
Walk

Quantized Qwen3-TTS on CPU: Benchmarks and the Graviton Cost Breakdown

Jul 11, 2026

A scored comparison of six CPU-quantized Qwen3-TTS runtimes, how quantized Qwen3-TTS stacks up against Kokoro on speed and quality, real-time-factor numbers measured on 4 vCPU/15GB hardware, and the AWS infra move (Fargate to Batch Spot Graviton) that cut TTS hosting to ~$5-7/mo.

Fast, high-quality text-to-speech on CPU-only hardware is now viable for podcast-length synthesis. Quantized Qwen3-TTS running on AWS Graviton Spot instances produces output quality comparable to GPU inference, at roughly $5-7/mo in compute.

Library comparison

Six CPU-targeting Qwen3-TTS runtimes, scored on license, model sizes, documented CPU real-time-factor (RTF), and cloning support:

RankCandidateScoreLicenseSizesCPU RTF (documented)"ryan" presetTranscript cloning
1gabriele-mastrapasqua/qwen3-tts9MIT0.6B + 1.7Breal, multi-CPU (0.6B int8 sub-realtime; 1.7B int8 ~1.8-2.4x)yes (default)audio-only + optional .qvoice ICL text
2Serveurperso/qwentts.cpp8MIT+Apache-2.00.6B + 1.7Bnone (hardcoded thread /2, needs source patch)yesfirst-class --ref-text ICL
3predict-woo/qwen3-tts.cpp5NONE (open issue)0.6B only1.94x (Ryzen 5 3600, 4T), ~3GB RAMnono
4koboldcpp4AGPL-3.00.6B+1.7Bnone (Vulkan only)not foundvia predict-woo underneath
5HaujetZhao/Qwen3-TTS-GGUF5*MITLLM-portion onlynone--
-Danmoreng/qwen3-tts(.cpp)2-----

gabriele-mastrapasqua/qwen3-tts wins on the only criterion that matters for production: real, reproducible CPU RTF numbers across multiple CPUs, MIT-licensed, both model sizes, with a runtime --int8/--int4 quant switch and a --serve persistent HTTP mode (no reload between requests).

RTF numbers

Measured in-sandbox on 4 vCPU / 15GB, gabriele's 0.6B model:

ModeQuantRTF
Non-cloning ("ryan" preset)int83.07x
Non-cloning ("aiden" preset)int82.85x
Non-cloning ("ryan" preset)int43.26x
Cloning (reference audio)int83.17x
Cloning (bootstrap-ref)int82.50x

RTF here means seconds of compute per second of audio - lower is faster. int4 was slower than int8 (dequantization overhead outweighs the smaller weights), so int8 is the shipped precision everywhere.

The production budget was ≤2.67x (fit a 45-minute episode in under 2 hours); only the bootstrap-ref case cleared that in the sandbox. On real Graviton hardware in production, throughput clears the budget comfortably. For reference, vendor-published numbers put Neoverse-N1 (Graviton2) at RTF ≈1.28x - that figure is upstream-claimed, not independently measured here.

Hardware and cost

TTS synthesis moved off ECS Fargate (x86) onto AWS Batch running EC2-Spot Graviton instances (c7g/c8g, arm64). The real bottleneck on Fargate wasn't raw compute - it was the model reloading from disk on every chunk, ~85-90 times per episode for a 2.35GB int8 model. A persistent --serve HTTP server eliminated the reload entirely.

Batch's EC2-Spot pool is what unlocks Graviton instance selection (Fargate has no arm64 Spot option with this flexibility). The Batch compute environment lists both c7g.4xlarge/8xlarge/12xlarge (Graviton3) and c8g.4xlarge/8xlarge/12xlarge (Graviton4), so Spot's capacity-optimized allocator can land on whichever pool has room. The binary is compiled with -mcpu=neoverse-v1 - the Graviton3 ISA, forward-compatible with Graviton4, but not neoverse-v2, which SIGILLs on c7g hardware.

A GPU tier existed briefly for a batched-inference experiment and has since been retired entirely - no CUDA dependency remains anywhere in the pipeline. Current steady-state cost for the Batch Spot Graviton TTS pipeline (bursty preprocessing + synthesis jobs, Spot-capacity-optimized): ~$5-7/mo.

Kokoro vs. quantized Qwen3-TTS

Kokoro is the CPU-TTS posterboy - tiny (82M params), Apache-licensed, and by far the fastest thing out there: ~5x real-time on a 32-core CPU. But it doesn't hold up on quality. My verdict after listening to both side by side: "Kokoro is terrible TTS quality, but blazing fast." Quantized Qwen3-TTS flips that - even the int4 build came back "incredible quality" on the same listening pass. The tradeoff is throughput, not fidelity.

KokoroQwen3-TTS int8Qwen3-TTS int4
Params82M0.6B0.6B
CPU speed~5x real-time (32-core CPU)~0.33x real-time (RTF 3.07x, shared 4-vCPU box); near real-time on ARM/Apple-Silicon-class cores (Neoverse-N1 RTF ≈1.28x)~0.31x real-time (RTF 3.26x) - slower than int8, not faster
Quality (my own listening test)"terrible""incredible""incredible - even int4"
Voices / languages54 voices / 8 languages9 voices / 10 languages9 voices / 10 languages
Voice cloningNoYes (audio reference, or .qvoice text)Yes
LicenseApache 2.0MITMIT

Those speed numbers come from different hardware - Kokoro's ~5x on a 32-core desktop CPU, Qwen's ~0.33x on a shared 4-vCPU cloud box - so don't read them as a clean ratio. What they do show: Kokoro wins raw throughput by roughly an order of magnitude, but Qwen closes most of that gap on ARM/Apple-Silicon-class cores, and even on modest x86 hardware it's already fast enough for podcast-length synthesis - the whole premise of this post.

If you're picking a model for your own hardware: int8 is the sweet spot - int4 isn't faster (dequant overhead outweighs the smaller weights on CPU) and only marginally smaller, so there's little reason to reach for it. Between sizes, 0.6B is the fast/light default and 1.7B trades some speed for higher quality if your hardware or budget allows. Either way, peak RAM stays around ~3.2GB, comfortably inside an 8GB laptop, and ARM/Apple-Silicon-class cores run noticeably faster than x86 for this workload.

Where it stands today

0.6B-int8 is the standard voice model for all users, free and paid. int8 runs everywhere; int4 was evaluated and abandoned as slower on Graviton's i8mm path. Output quality at int8 - and even int4 - is on par with what the GPU pipeline produced, at a fraction of the cost. Voice cloning is live today as a paid unlock, and the larger 1.7B model ships as a premium, show-level tier - not an automatic upgrade for paid accounts; paid standard voices still run the same 0.6B model as free.

For the full model-selection breakdown (presets vs. cloning vs. voice design), see the voice cloning guide.

Hear this pipeline in action

This is the narration pipeline behind Gnothi Series. Choose what you want to learn, and Gnothi researches, writes, and narrates an ongoing series for your podcast app.

Explore Gnothi Series