Syzygy Research

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 errors vs download size, text rules off

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.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for SyzygyResearch/Mach-Boom

Finetuned
(4)
this model