Qwen3-TTS (offline, 1.7B)

VoicesOfflineGPU optionalVoice cloningCommercial use OK

Speaks your subtitles in ten languages, with nine built-in voices or a clone of each speaker taken from a few seconds of the video. It runs on your own computer, and its weights allow commercial use.

Install it from Subtitld

Settings Add-ons Qwen3-TTS (offline, 1.7B) Install

Subtitld downloads it, checks its SHA-256, and keeps it updated.

Source on GitHub
Languages
10
Models
3
Voices
10
Add-on download
317–456 MB
RAM, at least
8 GB

What it does

Nine voices

Five Chinese voices (two speak the Beijing and Sichuan dialects), two English, one Japanese and one Korean. Each can read all ten languages, but sounds best in its own.

Clone from the video

Pick Custom voice and Subtitld gives the model a few seconds of that speaker, cut from the video. It needs at least 3 seconds.

Closer with a transcript

With the words spoken in the sample, the clone comes closer to the speaker. Without them it works from the sound alone, a little less closely.

One model at a time

The built-in voices and the clone use two different models. Only one is in memory; switching from one to the other reloads it.

Voices

In the Speakers tab, choose Qwen3-TTS as a speaker's Dubbing engine, then pick a Voice. Custom voice is at the top of the list. Each line comes out as long as the model makes it; turn on Fit dub to subtitle duration for the speaker to stretch or squeeze it to its subtitle.

10 voices in 4 languages.

  • en 2
  • ja 1
  • ko 1
  • zh-cn 5

The sample for the clone

When a speaker's voice is Custom voice, Subtitld cuts a sample of that speaker from the project's audio:

  • their longest subtitle between 3 and 12 seconds;
  • if none fits, the first 12 seconds of a longer one;
  • if all are shorter than 3 seconds, several in a row, joined until they reach 3.

If you have separated music from voice for this video, the sample comes from the voice alone. Default voice reference in the add-on's settings is used only when no sample can be cut, for example with no video open.

Subtitld keeps each speaker's sample and cuts it again only if the audio file changes. After you retime a speaker's lines, delete their sample to get a fresh one; its name ends with the speaker's name.

System Folder
Linux ~/.cache/subtitld/clone-refs
macOS ~/Library/Caches/subtitld/clone-refs
Windows %LOCALAPPDATA%\subtitld\subtitld\Cache\clone-refs

Models

The built-in voices need the CustomVoice model and the clone needs Base. Each downloads the first time you generate a line that uses it, so a project with both takes about 7 GB on disk. They go into the Hugging Face cache (~/.cache/huggingface/hub, unless you set HF_HOME), outside the add-on's folder, so updating or removing the add-on keeps them.

Model DownloadGood for
qwen3-tts-1_7b-customvoice
3.4 GB
The nine built-in voices
qwen3-tts-1_7b-base
3.4 GB
The clone voice only
qwen3-tts-tokenizer-12hz
250 MB

Options

The add-on reads these when it starts, so a change applies once it has been idle for five minutes, or after you restart Subtitld. Skip auto-extracted reference transcript is the exception: Subtitld reads it for every line.

In Settings › Add-ons › Qwen3-TTS (offline, 1.7B) › Configure.

Inference device
Default: cpu

Leave this on CPU. The released builds are made with PyTorch's CPU package, so CUDA won't work with them; MPS is marked beta.

Weight precision
Default: auto

Auto picks float32 on the CPU and bfloat16 with CUDA. float16 only applies with CUDA; on the CPU the add-on uses float32 instead.

Default voice reference (3+ seconds, mono WAV recommended)
Default: empty

A clip for the clone voice to copy when Subtitld can't take a sample of the speaker from the video, for example with no video open. A sample from the video always comes first.

Default voice reference transcript
Default: empty

The words spoken in the default clip above. The add-on uses it with any sample that arrives without its own transcript, samples from the video included, so leave it empty unless you rely on the default clip.

Skip auto-extracted reference transcript
Default: off

Turn it on to keep the subtitle text from going with the sample as its transcript. The clone then works from the sound of the voice alone. Useful when your subtitles paraphrase what is said.

Languages

Subtitld sends the project's language without its region, so pt-br is read as Portuguese. For a language outside these ten, a built-in voice falls back to its own language and the clone to automatic detection.

  • zh-cn
  • en
  • ja
  • ko
  • de
  • fr
  • ru
  • pt
  • es
  • it

Platforms

System DownloadTested
Linux x86-64 455.7 MBBuilt and started in CI
macOS (universal) 345.8 MBBuilt and started in CI
Windows x86-64 316.5 MBBuilt and started in CI

Each release is built on Linux, macOS and Windows, and CI checks that the program starts and lists its voices. CI doesn't generate speech.

Troubleshooting

  • bad_paramsEither the subtitle has no text, or the clone got no sample: Subtitld couldn't cut one (no video open, or no subtitles for that speaker) and no default clip is set. Give the subtitle text, open the video, or set Default voice reference.
  • internalThe model failed to load or to speak the line; the message says which. A failed download on first use ends here too: check your connection and free disk space, and try again. If you chose CUDA or MPS, set the device back to CPU.

License

Add-on
Apache-2.0
Engine
Apache-2.0
qwen-tts
Models
Apache-2.0
Qwen3-TTS weights

Fine for commercial work: the add-on, the qwen-tts library and the Qwen3-TTS weights are all Apache-2.0.

Versions

  • 1.0.6

    Automated release for qwen3-tts v1.0.6.

Other Voices add-ons