Lure Turbo

Lure Turbo 0.6B

The Lure voice, about 1.7x faster end to end.
Research preview · English · 0.6B parameters · 24 kHz

Live demo Lure Engine Training code

Research preview. Weights, behaviour and this card can change between releases. Pin a revision if you build on it.

What Turbo changes

Lure, like every Qwen3-TTS 12Hz model, makes each 80 ms audio frame in two stages. A large model picks the first of the frame's 16 codes, then a small code predictor fills in the other 15 one after another. Once the large model is fast, those 15 sequential passes take most of the time per frame.

Lure Turbo replaces them with a head that predicts the 15 codes in 3 grouped passes (codes 1-3, 4-7 and 8-15). The size, voices, tags and directions are the same as Lure's.

Per frame, 24 GB GPU, 8 streams Lure Lure Turbo
Code predictor passes 15 3
Code predictor time 21.2 ms 6.2 ms

Speed

Measured with the lure-tts engine, cuda backend, bf16. RTF is generation time divided by audio length, so lower is faster.

GPU Model Streams RTF
H100 Lure 1 0.23
H100 Lure Turbo 1 0.14
H100 Lure 8 0.25
H100 Lure Turbo 8 0.15
24 GB GPU 1 stream 8 streams, total
Lure 2.3x real time 17x real time
Lure Turbo 4.0x real time 30x real time

Quality

On every public benchmark we ran, Turbo scores the same as Lure (one take per line, official scripts):

Seed-TTS WER ↓ Seed-TTS SIM ↑ LibriSpeech-PC WER ↓ LibriSpeech-PC SIM ↑ UTMOS ↑ VDB SIM ↑ CV3 emotion % ↑
Lure 1.51 0.653 1.72 0.638 4.43 0.81 73.3
Lure Turbo 1.59 0.654 1.84 0.641 4.38 0.81 73.3

The full comparison with other models is on the Lure card.

Quick start

The grouped head needs the lure-tts engine, which loads it automatically when turbo.json is in the model folder (mlx, cuda and C++ backends). Other Qwen3-TTS runtimes do not know the head.

git clone https://github.com/smirki/lure-tts && cd lure-tts
hf download Tesslate/Lure-TTS-Turbo --local-dir models/lure-turbo
pip install ./backends/mlx ".[server]"        # Mac; see the repo for NVIDIA and the C++ build
from lure_tts import Lure

tts = Lure.load("models/lure-turbo")
voice = tts.make_voice("reference.wav", "Transcript of the reference clip.", name="me")
for pcm in tts.stream("(gasp) No way. (laugh) You actually did it!", voice, instruct="Bright, giddy disbelief."):
    ...    # float32 chunks at 24 kHz

Tags, directions and recommended settings are the same as Lure's; see the Lure card.

Limitations

Same as Lure: English only, sound tags are best effort, and very long single calls should be split into sentences. Do not use it to imitate a real person without their consent.

Training data includes YODAS v3.

License

Apache 2.0 for everything: the weights, the lure-tts engine and the lure-train training code.

Downloads last month
20
Safetensors
Model size
0.9B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for Tesslate/Lure-TTS-Turbo

Quantizations
1 model

Space using Tesslate/Lure-TTS-Turbo 1

Collection including Tesslate/Lure-TTS-Turbo