1conda create -n dots_tts python=3.10 -y
2conda activate dots_tts
3
4python -m pip install --upgrade pip
5python -m pip install "git+https://github.com/studio-dots-ai/dots.tts.git" \
6 -c "https://raw.githubusercontent.com/studio-dots-ai/dots.tts/main/constraints/recommended.txt"
1# Continuation voice cloning (reference audio + transcript) — recommended
2dots.tts \
3 --model-name-or-path dots-studio/dots.tts-base \
4 --text "Hello, this is a zero-shot voice cloning demonstration." \
5 --prompt-audio /path/to/reference.wav \
6 --prompt-text "The exact transcript of the reference audio." \
7 --output clone.wav
1from dots_tts.runtime import DotsTtsRuntime
2import soundfile as sf
3
4runtime = DotsTtsRuntime.from_pretrained(
5 "dots-studio/dots.tts-base",
6 precision="bfloat16",
7)
8
9result = runtime.generate(
10 text="Hello, this is a quick speech synthesis test.",
11 prompt_audio_path="/path/to/reference.wav",
12 prompt_text="The exact transcript of the reference audio.",
13 num_steps=10,
14 guidance_scale=1.2,
15)
16
17sf.write("output.wav", result["audio"].float().cpu().squeeze().numpy(), result["sample_rate"])
dots.tts-base is the recommended starting point for fine-tuning. See the
training script and
smoke config in the source repository:
See the
project README for the full per-language breakdown, CV3-Eval and EmergentTTS-Eval results.
1@article{dotstts2026,
2 title = {dots.tts Technical Report},
3 author = {dots.tts Team},
4 journal = {arXiv preprint},
5 year = {2026},
6}