IndexTTS2-音色参考+情感向量
IndexTTS2 voice cloning with eight dials of emotion instead of a reference clip
- audio
- params
- audio_path
- task_id
Sometimes you don't have an emotional reference clip - you just want the narrator to sound a bit angrier or calmer than neutral. That's what LamIndexTTS2Node2 is for: same IndexTTS2 voice cloning as the rest of the set, but instead of an emotion audio reference, you get eight sliders. 音色参考+情感向量, "timbre reference plus emotion vector." The name tells you exactly what it does.
Like its siblings, this node is a client for a separate IndexTTS2 server on http://localhost:5000. It submits your text and reference audio along with the emotion vector, polls the job, and saves the result to your output directory.
The eight emotion dials
These are the emotion vector, mapped to eight dimensions (from the author's own tooltips):
- vec1 喜 (joy), vec2 怒 (anger), vec3 哀 (sorrow), vec4 惧 (fear), vec5 厌恶 (disgust), vec6 低落 (low/depressed), vec7 惊喜 (surprise), vec8 平静 (calm)
Each runs 0.0 to 1.4 in 0.05 steps. All default to 0 (neutral). The practical trick: this is a mixing desk, not a radio button. Cranking vec2 to 1.0 gets you angry delivery while everything else stays zero. Push two at once (say vec1 + vec7, joy + surprise) and you get a blended mood. 1.4 is a lot - start around 0.5–0.8 and listen before you floor it.
Inputs
- audio - the timbre reference (path or AUDIO tensor); this sets the voice.
- text - the lines to speak. Multiline.
- vec1–vec8 - the emotion sliders above.
- server -
http://localhost:5000, tooltip 请勿修改. - params (optional) -
LamIndexTTS2AdvancedParamsfor sampling overrides. - audio_dir (optional) - output subfolder.
Outputs
- audio_path - the generated wav's full path.
- task_id - the server job id.
Install
The ComfyUI_Lam pack, as always:
cd ComfyUI/custom_nodes
git clone https://github.com/yanlang0123/ComfyUI_Lam
or via ComfyUI Manager; then the README's install + patch scripts and the IndexTTS-2 model download. And again, the actual requirement is an IndexTTS2 service running on port 5000 - the node just talks to it.
Gotchas
Server not running = instant failure; the node throws on a connection error. The sliders all default to 0, so if you plug this in expecting the enthusiasm of your reference clip to carry through, it won't - that's Node0's behavior. And the emotion vector only shapes delivery; if you want to describe the emotion in words instead of dialing it, LamIndexTTS2Node3 is that variant.
Inputs (13)
| Name | Type | Default | Description |
|---|---|---|---|
| server | STRING | http://localhost:5000 | 请勿修改 |
| audio | AUDIO,STRING | 参考音频地址 | |
| vec1 | FLOAT | 0.000–1.4 | 喜 |
| vec2 | FLOAT | 0.000–1.4 | 怒 |
| vec3 | FLOAT | 0.000–1.4 | 哀 |
| vec4 | FLOAT | 0.000–1.4 | 惧 |
| vec5 | FLOAT | 0.000–1.4 | 厌恶 |
| vec6 | FLOAT | 0.000–1.4 | 低落 |
| vec7 | FLOAT | 0.000–1.4 | 惊喜 |
| vec8 | FLOAT | 0.000–1.4 | 平静 |
| text | STRING | 合成内容 | |
| paramsopt | ADVANCED_PARAMS | — | |
| audio_diropt | STRING | 文件夹 |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| audio_path | STRING | — |
| task_id | STRING | — |