Mach Boom
Mach Boom is Gradium's Phonon 31m English text-to-speech model at 3.5 bits per weight: an 18.2 MB file that speaks 8 to 10x faster than real time on one CPU core.
Benchmarks
Word error rate on the 250 held-out English sentences of Gradium TTS Hard Cases, which are full of numbers, dates, times, money, units, codes and abbreviations. Each model ran through its own runtime as shipped, with its own text handling and default voice, and was transcribed and scored the same way.
| Model | Download | Word error rate | Rules off |
|---|---|---|---|
| Mach Boom | 19.5 MB | 5.18% | 14.01% |
| Underdog Woof, Juno | 40.6 MB | 6.50% | 41.27% |
| Underdog Woof, Mira | 40.6 MB | 7.12% | |
| Fish Audio Drama 3 | 41.5 GB | 7.62% | 7.62% |
| Phonon 31m, as released (fp32) | 103.4 MB | 8.61% | 11.99% |
| Phonon 31m, 4-bit (q4k GGUF) | 55.6 MB | 10.61% | 13.91% |
| Kokoro 82M | 327.7 MB | 14.07% | |
| Qwen3-TTS 1.7B CustomVoice | 4.52 GB | 16.77% | 16.77% |
| Pocket TTS | 225.5 MB | 18.13% | 18.13% |
| Kitten Nano 0.8 | 27.6 MB | 18.56% | 19.94% |
| Supertonic 3 | 398.7 MB | 22.92% | 22.92% |
| LFM3-Audio-2B | 4.17 GB | 35.59% | 35.59% |
Transcribed with faster-whisper large-v3-turbo (int8, greedy, CPU). The reference and the transcript both go through Whisper's English normalizer, digit runs are joined and a few unit spellings are unified.
Speed and memory
| Mach Boom | Underdog Woof (int8) | |
|---|---|---|
| Speed, 1 core | 8.3-8.4x real time | 4.1-4.2x |
| Speed, 4 cores | 11.3-11.7x | 8.6-8.9x |
| Speed, 1 core, AVX2 only | 4.2-4.3x | 3.9-4.3x |
| Peak memory, 1 core | 93 MB | 255 MB |
| First audio, streaming, 1 core | 61-78 ms | after the whole clip |
A 4-core Intel Xeon VM (Emerald Rapids, with AMX), nothing else running, the same 9 sentences, each runtime as shipped,
two alternating rounds; the ranges are the two rounds. The AVX2 row holds both runtimes' BLAS to AVX2 and runs Mach
Boom's AVX2 build. First audio is the median of 5 runs for a short and a long sentence with --first 2, with the voice
cached. On a 4-core Granite Rapids Xeon, Mach Boom runs 9.6-10.1x real time on one core and 19.5-19.8x on four,
against Woof's 3.8-4.3x and 9.3-9.6x.
Use
hf download SyzygyResearch/Mach-Boom --local-dir mach-boom && cd mach-boom
pip install numpy tokenizers
python tts.py "Your booking reference is AB-4471-Z, and the meeting moved to 3:30 p.m." -o out.wav --voice Zoey
python tts.py "..." -o out.wav --threads 4
python tts.py "..." --pcm --first 2 | aplay -q -r 24000 -f S16_LE
From inside the mach-boom folder:
from mach import MachBoom
tts = MachBoom("mach-boom.bin", voices_dir="voices", tokenizer="tokenizer.json")
wav = tts.synth("Call 020 7946 0018 before 5:30 p.m. on 14/03.", "Zoey", seed=0) # float32, 24 kHz
for piece in tts.synth_stream("Your table is booked for 8 p.m.", "Zoey", first=2):
...
Requirements: Linux on x86-64, Python 3.8+, numpy, tokenizers, and gcc or clang. The first run compiles the kernels
for the CPU (about 5 s). Kernels cover AVX-512 VBMI, AVX-512, AVX2 and plain C; on Xeons with AMX (4th generation and
later) the audio decoder runs as bf16 tiles, and PHM_AMX=0 turns that off. Four voices ship in voices/ (Zoey,
Juniper, Everly, Harper), and any voice file from gradium/phonon-voices
drops in. The same seed and --chunk give the same audio at any thread count.
License
Apache-2.0, the same as Phonon 31m and the Phonon voices; see LICENSE and NOTICE.
Model tree for SyzygyResearch/Mach-Boom
Base model
gradium/phonon-31m-en
