Nodes/dots.tts · T8star-Aix/dots.tts 音色提示 · T8star-Aix
ComfyUI Node

dots.tts 音色提示 · T8star-Aix

VoicePrompt — hand dots.tts a reference clip and get a cloneable voice handle

By T8mars·Created 23 days ago·Updated 14 days ago· 5
dots.tts 音色提示 · T8star-Aix
  • audio
  • dots.tts 音色
  • 音色信息
transcript
languageauto_detect

Voice cloning in dots.tts is a two-step job: you give it a reference clip, it learns who's talking, then Generate speaks in that voice. T8_DotsTTS_VoicePrompt is the first half. It packages a reference audio clip, its transcript, and a language into a single T8_DOTS_TTS_VOICE object that you wire into T8_DotsTTS_Generate or T8_DotsTTS_LongText - and it quietly decides which of dots.tts's two cloning modes you're getting.

The key thing to understand is the transcript field, because it flips the whole cloning strategy. dots.tts has a continuation clone and an x-vector-only clone. Continuation clone uses the reference transcript verbatim - you provide the exact words spoken in the clip, and the model conditions on that text, which gives it a much stronger grip on the voice (and on style). x-vector-only clone skips the text: the model just extracts the speaker embedding from the audio. Both are useful, but they behave differently:

  • transcript blank → x-vector-only. Fast to set up, and the recommended route when you don't have an accurate transcript. Slightly weaker likeness.
  • transcript filled in → continuation clone, but only if it matches what's actually said. The README hammers this: the transcript must be verbatim - word for word, exactly as recorded. If it doesn't match, the clone quality tanks.

So the workflow is: drop a short reference clip (a few seconds of clear, isolated speech works best - think of it like a reference image for a LoRA, garbage in, garbage out) into any node that outputs AUDIO, wire it in, and type the exact transcript. language defaults to auto_detect; set it explicitly if detection fumbles a mixed-language clip.

Inputs are just those three - audio, transcript, language - and outputs are the voice handle plus a voice_info JSON string that tells you what mode the node decided on and what it extracted. That JSON is worth a look the first time: it's how you confirm you're actually getting the continuation clone you think you are.

Notes and gotchas

  • The cloning quality ceiling is set by the reference clip, not the node. Clean, loud, single-speaker audio; no music bed, no reverb, no second voice in the background.
  • This is an open, Apache-2.0 model with zero-shot cloning from seconds of audio. The license note in the pack's README isn't boilerplate: only use reference audio you're authorized to clone, and label AI-generated speech in anything you publish.
  • The same voice object feeds SpeakerMap if you want it as one character in a multi-role project - but SpeakerMap also accepts voices straight off this node's output for the A–D slots, so you can build a cast without ever touching JSON.

Install-wise this node needs nothing beyond the pack itself (Manager → dots-tts-t8, or clone + pip install -r requirements.txt) and a loaded TTS model to be useful - it's a pure packaging node, so it's cheap to run. The expensive part is the reference clip quality, and that part is on you.

CategoryT8star-Aix/Audio/dots.tts

Inputs (3)

NameTypeDefaultDescription
audioAUDIO
transcriptSTRING
languageCOMBOauto_detect26 options: auto_detect, none, ZH, EN, YUE, JA, +20

Outputs (2)

NameTypeDescription
dots.tts 音色T8_DOTS_TTS_VOICE
音色信息STRING