Files
diodiogod-TTS-Audio-Suite/example_workflows/Qwen3 integration + ASR.json

3230 lines
66 KiB
JSON
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"id": "4a7cdb14-f535-4923-861b-59ba2c7ee043",
"revision": 0,
"last_node_id": 214,
"last_link_id": 341,
"nodes": [
{
"id": 47,
"type": "UnifiedTTSTextNode",
"pos": [
-1040,
2470
],
"size": [
400,
379.5921325683594
],
"flags": {},
"order": 44,
"mode": 0,
"inputs": [
{
"name": "TTS_engine",
"type": "TTS_ENGINE",
"link": 340
},
{
"name": "opt_narrator",
"shape": 7,
"type": "*",
"link": 325
},
{
"name": "text",
"type": "STRING",
"widget": {
"name": "text"
},
"link": 182
}
],
"outputs": [
{
"name": "audio",
"type": "AUDIO",
"links": [
246
]
},
{
"name": "generation_info",
"type": "STRING",
"links": [
100
]
}
],
"properties": {
"Node name for S&R": "UnifiedTTSTextNode",
"cnr_id": "tts_audio_suite",
"ver": "ee95cad1f155eceb1442723c7f351949b30361e3",
"ue_properties": {
"widget_ue_connectable": {
"text": true
},
"version": "7.4.1",
"input_ue_unconnectable": {}
}
},
"widgets_values": [
"Hello! This is unified TTS with character switching support.\n[Alice] Hi there! I'm Alice speaking with the selected TTS engine.\n[Bob] And I'm Bob! This works with any TTS engine.\nBack to the main narrator voice for the conclusion.",
"none",
1552347960,
"fixed",
true,
400,
"crossfade",
100,
true,
0
],
"color": "#223",
"bgcolor": "#335"
},
{
"id": 50,
"type": "PreviewAny",
"pos": [
-540,
2630
],
"size": [
552.7586059570312,
174.5865936279297
],
"flags": {},
"order": 51,
"mode": 4,
"inputs": [
{
"name": "source",
"type": "*",
"link": 100
}
],
"outputs": [],
"properties": {
"Node name for S&R": "PreviewAny",
"cnr_id": "comfy-core",
"ver": "0.3.57",
"ue_properties": {
"widget_ue_connectable": {},
"version": "7.4.1",
"input_ue_unconnectable": {}
}
},
"widgets_values": [
null,
null,
null
]
},
{
"id": 53,
"type": "Reroute",
"pos": [
-2190,
3240
],
"size": [
75,
26
],
"flags": {},
"order": 25,
"mode": 0,
"inputs": [
{
"name": "",
"type": "*",
"link": 250
}
],
"outputs": [
{
"name": "",
"type": "TTS_ENGINE",
"links": [
230
]
}
],
"properties": {
"showOutputText": false,
"horizontal": false,
"ue_properties": {
"widget_ue_connectable": {},
"version": "7.4.1",
"input_ue_unconnectable": {}
}
},
"color": "#222",
"bgcolor": "#000"
},
{
"id": 57,
"type": "MarkdownNote",
"pos": [
-2470,
3400
],
"size": [
343.0154724121094,
178.18296813964844
],
"flags": {},
"order": 0,
"mode": 0,
"inputs": [],
"outputs": [],
"properties": {
"ue_properties": {
"widget_ue_connectable": {},
"version": "7.4.1",
"input_ue_unconnectable": {}
}
},
"widgets_values": [
"# **FROM v4 and up!**\n\nUnified nodes:\n- 🎤 **TTS Text**: Direct text-to-speech module \n- 📺 **TTS SRT**: Subtitle-compatible TTS output \n\nThese nodes are now **engine-agnostic**, meaning you can plug in **Chatterbox**, **F5**, or future engines seamlessly.\n"
],
"color": "#432",
"bgcolor": "#653"
},
{
"id": 79,
"type": "PreviewAudio",
"pos": [
-1500,
3240
],
"size": [
441.48828125,
88
],
"flags": {},
"order": 38,
"mode": 4,
"inputs": [
{
"name": "audio",
"type": "AUDIO",
"link": 231
}
],
"outputs": [],
"properties": {
"Node name for S&R": "PreviewAudio",
"cnr_id": "comfy-core",
"ver": "0.3.39",
"ue_properties": {
"version": "7.4.1",
"widget_ue_connectable": {},
"input_ue_unconnectable": {}
}
},
"widgets_values": [],
"color": "#2a363b",
"bgcolor": "#3f5159"
},
{
"id": 98,
"type": "Reroute",
"pos": [
-3000,
2260
],
"size": [
75,
26
],
"flags": {},
"order": 22,
"mode": 0,
"inputs": [
{
"name": "",
"type": "*",
"widget": {
"name": "value"
},
"link": 244
}
],
"outputs": [
{
"name": "",
"type": "STRING",
"links": [
248
]
}
],
"properties": {
"showOutputText": false,
"horizontal": false,
"ue_properties": {
"widget_ue_connectable": {},
"version": "7.4.1",
"input_ue_unconnectable": {}
}
},
"color": "#232",
"bgcolor": "#353"
},
{
"id": 99,
"type": "Reroute",
"pos": [
-1450,
2310
],
"size": [
75,
26
],
"flags": {},
"order": 37,
"mode": 0,
"inputs": [
{
"name": "",
"type": "*",
"widget": {
"name": "value"
},
"link": 227
}
],
"outputs": [
{
"name": "",
"type": "STRING",
"links": [
182
]
}
],
"properties": {
"showOutputText": false,
"horizontal": false,
"ue_properties": {
"widget_ue_connectable": {},
"version": "7.4.1",
"input_ue_unconnectable": {}
}
},
"color": "#232",
"bgcolor": "#353"
},
{
"id": 100,
"type": "Reroute",
"pos": [
-3000,
2320
],
"size": [
75,
26
],
"flags": {},
"order": 23,
"mode": 0,
"inputs": [
{
"name": "",
"type": "*",
"link": 243
}
],
"outputs": [
{
"name": "",
"type": "STRING",
"links": []
}
],
"properties": {
"showOutputText": false,
"horizontal": false,
"ue_properties": {
"widget_ue_connectable": {},
"version": "7.4.1",
"input_ue_unconnectable": {}
}
},
"color": "#232",
"bgcolor": "#353"
},
{
"id": 121,
"type": "PreviewAny",
"pos": [
-1540,
3370
],
"size": [
486.6275634765625,
420.8500061035156
],
"flags": {},
"order": 39,
"mode": 4,
"inputs": [
{
"name": "source",
"type": "*",
"link": 232
}
],
"outputs": [],
"properties": {
"Node name for S&R": "PreviewAny",
"cnr_id": "comfy-core",
"ver": "0.3.59",
"ue_properties": {
"widget_ue_connectable": {},
"version": "7.4.1",
"input_ue_unconnectable": {}
}
},
"widgets_values": [
null,
null,
null
]
},
{
"id": 132,
"type": "Reroute",
"pos": [
-2870,
2300
],
"size": [
75,
26
],
"flags": {},
"order": 30,
"mode": 0,
"inputs": [
{
"name": "",
"type": "*",
"widget": {
"name": "value"
},
"link": 248
}
],
"outputs": [
{
"name": "",
"type": "STRING",
"links": [
227
]
}
],
"properties": {
"showOutputText": false,
"horizontal": false,
"ue_properties": {
"widget_ue_connectable": {},
"version": "7.4.1",
"input_ue_unconnectable": {}
}
},
"color": "#232",
"bgcolor": "#353"
},
{
"id": 133,
"type": "UnifiedTTSSRTNode",
"pos": [
-2000,
3240
],
"size": [
404.7402648925781,
545.216796875
],
"flags": {},
"order": 31,
"mode": 0,
"inputs": [
{
"name": "TTS_engine",
"type": "TTS_ENGINE",
"link": 230
},
{
"name": "opt_narrator",
"shape": 7,
"type": "*",
"link": null
},
{
"name": "srt_content",
"type": "STRING",
"widget": {
"name": "srt_content"
},
"link": 242
}
],
"outputs": [
{
"name": "audio",
"type": "AUDIO",
"links": [
231
]
},
{
"name": "generation_info",
"type": "STRING",
"links": [
232
]
},
{
"name": "timing_report",
"type": "STRING",
"links": null
},
{
"name": "Adjusted_SRT",
"type": "STRING",
"links": null
}
],
"properties": {
"Node name for S&R": "UnifiedTTSSRTNode",
"cnr_id": "chatterbox_srt_voice",
"ver": "5e4c39b3d25a437f83dd71cf21b2fad282eda9e1",
"ue_properties": {
"widget_ue_connectable": {},
"version": "7.4.1",
"input_ue_unconnectable": {}
}
},
"widgets_values": [
"1\n00:00:01,000 --> 00:00:04,000\nHello! This is unified SRT TTS with character switching.\n\n2\n00:00:04,500 --> 00:00:09,500\n[Alice] Hi there! I'm Alice speaking with precise timing.\n\n3\n00:00:10,000 --> 00:00:14,000\n[Bob] And I'm Bob! The audio matches these exact SRT timings.",
"voices_examples/Clint_Eastwood CC3 (enhanced2).wav",
2519695028,
"fixed",
"smart_natural",
true,
0.01,
1,
0.5,
2,
0,
false
],
"color": "#223",
"bgcolor": "#335"
},
{
"id": 136,
"type": "CharacterVoicesNode",
"pos": [
-1650,
2570
],
"size": [
255.345703125,
204
],
"flags": {},
"order": 20,
"mode": 0,
"inputs": [
{
"name": "opt_audio_input",
"shape": 7,
"type": "AUDIO",
"link": 233
}
],
"outputs": [
{
"name": "opt_narrator",
"type": "NARRATOR_VOICE",
"links": [
234
]
},
{
"name": "character_name",
"type": "STRING",
"links": null
},
{
"name": "reference_audio_only",
"type": "AUDIO",
"links": null
}
],
"properties": {
"Node name for S&R": "CharacterVoicesNode",
"cnr_id": "tts_audio_suite",
"ver": "ee95cad1f155eceb1442723c7f351949b30361e3",
"ue_properties": {
"widget_ue_connectable": {},
"version": "7.4.1",
"input_ue_unconnectable": {}
}
},
"widgets_values": [
"none",
"Type the transcription here",
"",
0,
true,
""
],
"color": "#432",
"bgcolor": "#653"
},
{
"id": 137,
"type": "MarkdownNote",
"pos": [
-1840,
2800
],
"size": [
340,
190
],
"flags": {},
"order": 1,
"mode": 0,
"inputs": [],
"outputs": [],
"properties": {
"ue_properties": {
"widget_ue_connectable": {},
"version": "7.4.1",
"input_ue_unconnectable": {}
}
},
"widgets_values": [
"# 🎭 **Step Audio EditX Reference Audio Tips**\n\n1- You can connect any audio from a **Load Audio Core** node directly on **🎭 Character Voices** and add the transcription manually to make a **zero-shot voice cloning**\n \n2- Step Audio EditX like F5 NEEDS an Audio AND a Reference Text. Any character from **🎭 Character Voices** should have both required files."
],
"color": "#432",
"bgcolor": "#653"
},
{
"id": 139,
"type": "LoadAudio",
"pos": [
-1960,
2570
],
"size": [
270,
136
],
"flags": {},
"order": 2,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "AUDIO",
"type": "AUDIO",
"links": [
233
]
}
],
"properties": {
"Node name for S&R": "LoadAudio",
"cnr_id": "comfy-core",
"ver": "0.3.75",
"ue_properties": {
"widget_ue_connectable": {},
"version": "7.4.1",
"input_ue_unconnectable": {}
}
},
"widgets_values": [
"Aerith_original.wav",
null,
null
],
"color": "#323",
"bgcolor": "#535"
},
{
"id": 140,
"type": "CharacterVoicesNode",
"pos": [
-1470,
2790
],
"size": [
255.345703125,
204
],
"flags": {},
"order": 3,
"mode": 0,
"inputs": [
{
"name": "opt_audio_input",
"shape": 7,
"type": "AUDIO",
"link": null
}
],
"outputs": [
{
"name": "opt_narrator",
"type": "NARRATOR_VOICE",
"links": [
235
]
},
{
"name": "character_name",
"type": "STRING",
"links": null
},
{
"name": "reference_audio_only",
"type": "AUDIO",
"links": null
}
],
"properties": {
"Node name for S&R": "CharacterVoicesNode",
"cnr_id": "tts_audio_suite",
"ver": "ee95cad1f155eceb1442723c7f351949b30361e3",
"ue_properties": {
"widget_ue_connectable": {},
"version": "7.4.1",
"input_ue_unconnectable": {}
}
},
"widgets_values": [
"voices_examples/David_Attenborough CC3.wav",
"The first one who physical contact was with a female with her twins and she put a hand on the top of my head.",
0,
10.27,
false,
""
],
"color": "#432",
"bgcolor": "#653"
},
{
"id": 141,
"type": "Reroute",
"pos": [
-1200,
2570
],
"size": [
75,
26
],
"flags": {},
"order": 29,
"mode": 0,
"inputs": [
{
"name": "",
"type": "*",
"link": 234
}
],
"outputs": [
{
"name": "",
"type": "NARRATOR_VOICE",
"links": []
}
],
"properties": {
"showOutputText": false,
"horizontal": false,
"ue_properties": {
"widget_ue_connectable": {},
"version": "7.4.1",
"input_ue_unconnectable": {}
}
},
"color": "#432",
"bgcolor": "#653"
},
{
"id": 142,
"type": "Reroute",
"pos": [
-1200,
2620
],
"size": [
75,
26
],
"flags": {},
"order": 21,
"mode": 0,
"inputs": [
{
"name": "",
"type": "*",
"link": 235
}
],
"outputs": [
{
"name": "",
"type": "NARRATOR_VOICE",
"links": [
325
]
}
],
"properties": {
"showOutputText": false,
"horizontal": false,
"ue_properties": {
"widget_ue_connectable": {},
"version": "7.4.1",
"input_ue_unconnectable": {}
}
},
"color": "#432",
"bgcolor": "#653"
},
{
"id": 143,
"type": "StringMultilineTagEditor",
"pos": [
-4010,
1900
],
"size": [
900,
600
],
"flags": {},
"order": 4,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "text",
"type": "STRING",
"links": [
244
]
}
],
"properties": {
"Node name for S&R": "StringMultilineTagEditor",
"cnr_id": "chatterbox_srt_voice",
"ver": "4a9b74fe7c6e1b194b3fffd33b6acca1a199b55f",
"ue_properties": {
"widget_ue_connectable": {},
"input_ue_unconnectable": {},
"version": "7.4.1"
},
"ttsTagEditorInlineEngine": "step_audio_editx"
},
"widgets_values": [
"On Tuesdays, the pigeons held parliament. [pause:3s] They debated the ethics of breadcrumbs and the metaphysics of flight. \nOne particularly philosophical pigeon named Thistle believed gravity was just a suggestion.\nHe once floated for three minutes straight, fueled by sheer conviction and a gust of rebellious wind."
]
},
{
"id": 146,
"type": "StringMultilineTagEditor",
"pos": [
-4010,
3320
],
"size": [
900,
600
],
"flags": {},
"order": 5,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "text",
"type": "STRING",
"links": [
242
]
}
],
"properties": {
"Node name for S&R": "StringMultilineTagEditor",
"cnr_id": "chatterbox_srt_voice",
"ver": "4a9b74fe7c6e1b194b3fffd33b6acca1a199b55f",
"ue_properties": {
"widget_ue_connectable": {},
"input_ue_unconnectable": {},
"version": "7.4.1"
},
"ttsTagEditorInlineEngine": "step_audio_editx"
},
"widgets_values": [
"1\n00:00:01,000 --> 00:00:04,000\nHello! This is unified SRT TTS with character switching.\n\n2\n00:00:04,500 --> 00:00:09,500\n[Alice] Hi there! I'm Alice speaking with precise timing.\n\n3\n00:00:10,000 --> 00:00:14,000\n[Bob] And I'm Bob! The audio matches these exact SRT timings.\n"
]
},
{
"id": 151,
"type": "StringMultilineTagEditor",
"pos": [
-4010,
2590
],
"size": [
900,
600
],
"flags": {},
"order": 6,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "text",
"type": "STRING",
"links": [
243
]
}
],
"properties": {
"Node name for S&R": "StringMultilineTagEditor",
"cnr_id": "chatterbox_srt_voice",
"ver": "4a9b74fe7c6e1b194b3fffd33b6acca1a199b55f",
"ue_properties": {
"widget_ue_connectable": {},
"input_ue_unconnectable": {},
"version": "7.4.1"
},
"ttsTagEditorInlineEngine": "step_audio_editx"
},
"widgets_values": [
"On Tuesdays, the pigeons held parliament.<emotion:admiration>\n[Alice] They debated the ethics of breadcrumbs and the metaphysics of flight. <emotion:surprised>\n[Bob] One particularly philosophical pigeon named Thistle believed gravity was just a suggestion.<emotion:confusion>\n[Cowboy] He once floated for three minutes straight, fueled by sheer conviction and a gust of rebellious wind.<emotion:admiration>"
]
},
{
"id": 153,
"type": "PreviewAudio",
"pos": [
-540,
2470
],
"size": [
442.4916687011719,
88
],
"flags": {},
"order": 50,
"mode": 4,
"inputs": [
{
"name": "audio",
"type": "AUDIO",
"link": 246
}
],
"outputs": [],
"properties": {
"Node name for S&R": "PreviewAudio",
"cnr_id": "comfy-core",
"ver": "0.3.39",
"ue_properties": {
"version": "7.4.1",
"widget_ue_connectable": {},
"input_ue_unconnectable": {}
}
},
"widgets_values": [],
"color": "#2a363b",
"bgcolor": "#3f5159"
},
{
"id": 155,
"type": "Qwen3TTSEngineNode",
"pos": [
-2800,
2480
],
"size": [
400,
574
],
"flags": {},
"order": 16,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "TTS_engine",
"type": "TTS_ENGINE",
"links": [
250,
300,
337,
340
]
}
],
"properties": {
"Node name for S&R": "Qwen3TTSEngineNode",
"cnr_id": "chatterbox_srt_voice",
"ver": "0068acb849b91ff7bdcfa00998207e772599ff1a",
"ue_properties": {
"widget_ue_connectable": {},
"input_ue_unconnectable": {},
"version": "7.5.2"
}
},
"widgets_values": [
"TTS - Base 1.7B (Voice Clone)",
"auto",
"None (Zero-shot / Custom)",
"Auto",
"",
50,
1,
0.9,
1.05,
2048,
"auto",
"auto",
false,
true,
false,
"default",
true,
"English",
"Translate the speech from {source_language} into {target_language} text. Return only the translated text.",
"⚠️ Shared Runtime"
],
"color": "#222",
"bgcolor": "#000"
},
{
"id": 157,
"type": "RefreshVoiceCacheNode",
"pos": [
270,
1490
],
"size": [
270,
98
],
"flags": {},
"order": 49,
"mode": 0,
"inputs": [
{
"name": "signal",
"type": "*",
"link": 298
},
{
"name": "signal2",
"shape": 7,
"type": "*",
"link": 334
}
],
"outputs": [
{
"name": "signal",
"type": "*",
"links": [
259
]
},
{
"name": "signal2",
"type": "*",
"links": []
},
{
"name": "info",
"type": "STRING",
"links": [
299
]
}
],
"properties": {
"Node name for S&R": "RefreshVoiceCacheNode",
"cnr_id": "chatterbox_srt_voice",
"ver": "0068acb849b91ff7bdcfa00998207e772599ff1a",
"ue_properties": {
"widget_ue_connectable": {},
"input_ue_unconnectable": {},
"version": "7.5.2"
}
},
"widgets_values": [
true
],
"color": "#432",
"bgcolor": "#653"
},
{
"id": 158,
"type": "UnifiedTTSTextNode",
"pos": [
2230,
1480
],
"size": [
400,
379.5921325683594
],
"flags": {},
"order": 53,
"mode": 0,
"inputs": [
{
"name": "TTS_engine",
"type": "TTS_ENGINE",
"link": 259
},
{
"name": "opt_narrator",
"shape": 7,
"type": "*",
"link": 294
},
{
"name": "text",
"type": "STRING",
"widget": {
"name": "text"
},
"link": 295
}
],
"outputs": [
{
"name": "audio",
"type": "AUDIO",
"links": [
256
]
},
{
"name": "generation_info",
"type": "STRING",
"links": [
257
]
}
],
"properties": {
"Node name for S&R": "UnifiedTTSTextNode",
"cnr_id": "tts_audio_suite",
"ver": "ee95cad1f155eceb1442723c7f351949b30361e3",
"ue_properties": {
"widget_ue_connectable": {
"text": true
},
"version": "7.4.1",
"input_ue_unconnectable": {}
}
},
"widgets_values": [
"On Tuesdays, the pigeons held parliament. [pause:3s] \n[orc_girl] They debated the ethics of breadcrumbs and the metaphysics of flight. One particularly philosophical pigeon named Thistle believed gravity was just a suggestion. He once floated for three minutes straight, fueled by sheer conviction and a gust of rebellious wind.",
"none",
1552347959,
"fixed",
true,
450,
"crossfade",
100,
true,
0
],
"color": "#223",
"bgcolor": "#335"
},
{
"id": 159,
"type": "PreviewAudio",
"pos": [
2730,
1480
],
"size": [
442.4916687011719,
88
],
"flags": {},
"order": 58,
"mode": 0,
"inputs": [
{
"name": "audio",
"type": "AUDIO",
"link": 256
}
],
"outputs": [],
"properties": {
"Node name for S&R": "PreviewAudio",
"cnr_id": "comfy-core",
"ver": "0.3.39",
"ue_properties": {
"version": "7.4.1",
"widget_ue_connectable": {},
"input_ue_unconnectable": {}
}
},
"widgets_values": [],
"color": "#2a363b",
"bgcolor": "#3f5159"
},
{
"id": 160,
"type": "PreviewAny",
"pos": [
2730,
1620
],
"size": [
450,
270
],
"flags": {},
"order": 59,
"mode": 0,
"inputs": [
{
"name": "source",
"type": "*",
"link": 257
}
],
"outputs": [],
"properties": {
"Node name for S&R": "PreviewAny",
"cnr_id": "comfy-core",
"ver": "0.3.57",
"ue_properties": {
"widget_ue_connectable": {},
"version": "7.4.1",
"input_ue_unconnectable": {}
}
},
"widgets_values": [
null,
null,
null
]
},
{
"id": 161,
"type": "PreviewAudio",
"pos": [
-1520,
1620
],
"size": [
320,
88
],
"flags": {},
"order": 35,
"mode": 0,
"inputs": [
{
"name": "audio",
"type": "AUDIO",
"link": 330
}
],
"outputs": [],
"properties": {
"Node name for S&R": "PreviewAudio",
"cnr_id": "comfy-core",
"ver": "0.11.0",
"ue_properties": {
"widget_ue_connectable": {},
"input_ue_unconnectable": {},
"version": "7.5.2"
}
},
"widgets_values": [],
"color": "#233",
"bgcolor": "#355"
},
{
"id": 177,
"type": "StringMultilineTagEditor",
"pos": [
990,
1630
],
"size": [
900,
600
],
"flags": {},
"order": 7,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "text",
"type": "STRING",
"links": [
295
]
}
],
"properties": {
"Node name for S&R": "StringMultilineTagEditor",
"cnr_id": "chatterbox_srt_voice",
"ver": "4a9b74fe7c6e1b194b3fffd33b6acca1a199b55f",
"ue_properties": {
"widget_ue_connectable": {},
"input_ue_unconnectable": {},
"version": "7.4.1"
},
"ttsTagEditorInlineEngine": "step_audio_editx"
},
"widgets_values": [
"On Tuesdays, the pigeons held parliament. [pause:2s] \n[orc_girl] They debated the ethics of breadcrumbs and the metaphysics of flight. One particularly philosophical pigeon named Thistle believed gravity was just a suggestion. He once floated for three minutes straight, fueled by sheer conviction and a gust of rebellious wind."
]
},
{
"id": 178,
"type": "CharacterVoicesNode",
"pos": [
1950,
1700
],
"size": [
255.345703125,
204
],
"flags": {},
"order": 8,
"mode": 0,
"inputs": [
{
"name": "opt_audio_input",
"shape": 7,
"type": "AUDIO",
"link": null
}
],
"outputs": [
{
"name": "opt_narrator",
"type": "NARRATOR_VOICE",
"links": [
294
]
},
{
"name": "character_name",
"type": "STRING",
"links": null
},
{
"name": "reference_audio_only",
"type": "AUDIO",
"links": null
}
],
"properties": {
"Node name for S&R": "CharacterVoicesNode",
"cnr_id": "tts_audio_suite",
"ver": "ee95cad1f155eceb1442723c7f351949b30361e3",
"ue_properties": {
"widget_ue_connectable": {},
"version": "7.4.1",
"input_ue_unconnectable": {}
}
},
"widgets_values": [
"none",
"",
0,
0,
false,
""
],
"color": "#432",
"bgcolor": "#653"
},
{
"id": 179,
"type": "PreviewAny",
"pos": [
-1530,
1760
],
"size": [
330,
310
],
"flags": {},
"order": 36,
"mode": 4,
"inputs": [
{
"name": "source",
"type": "*",
"link": 331
}
],
"outputs": [],
"properties": {
"Node name for S&R": "PreviewAny",
"cnr_id": "comfy-core",
"ver": "0.3.57",
"ue_properties": {
"widget_ue_connectable": {},
"version": "7.4.1",
"input_ue_unconnectable": {}
}
},
"widgets_values": [
null,
null,
null
]
},
{
"id": 180,
"type": "Reroute",
"pos": [
100,
1480
],
"size": [
124,
26
],
"flags": {},
"order": 41,
"mode": 0,
"inputs": [
{
"name": "",
"type": "*",
"link": 339
}
],
"outputs": [
{
"name": "TTS_ENGINE",
"type": "TTS_ENGINE",
"links": [
298
]
}
],
"properties": {
"showOutputText": true,
"horizontal": false,
"ue_properties": {
"widget_ue_connectable": {},
"version": "7.4.1",
"input_ue_unconnectable": {}
}
},
"color": "#222",
"bgcolor": "#000"
},
{
"id": 181,
"type": "PreviewAny",
"pos": [
600,
1580
],
"size": [
300,
140
],
"flags": {},
"order": 54,
"mode": 4,
"inputs": [
{
"name": "source",
"type": "*",
"link": 299
}
],
"outputs": [],
"properties": {
"Node name for S&R": "PreviewAny",
"cnr_id": "comfy-core",
"ver": "0.3.57",
"ue_properties": {
"widget_ue_connectable": {},
"version": "7.4.1",
"input_ue_unconnectable": {}
}
},
"widgets_values": [
null,
null,
null
]
},
{
"id": 182,
"type": "MarkdownNote",
"pos": [
-4010,
810
],
"size": [
600,
830
],
"flags": {},
"order": 9,
"mode": 0,
"inputs": [],
"outputs": [],
"properties": {
"ue_properties": {
"widget_ue_connectable": {},
"version": "7.4.1",
"input_ue_unconnectable": {}
}
},
"widgets_values": [
"# Qwen3-TTS Engine\n\nAlibaba's Qwen3-TTS is a single engine that **automatically selects and downloads the correct model** based on your settings — no manual model management needed.\n\n---\n\n## 4 Model Types\n\n### 🎭 CustomVoice — Preset Speakers\n\n- 9 built-in multilingual speakers: `Vivian`, `Serena`, `Uncle_Fu`, `Dylan`, `Eric`, `Ryan`, `Aiden`, `Ono_Anna`, `Sohee`\n- Available in **0.6B and 1.7B** sizes\n- Supports **style instructions** (e.g. *\"Speak cheerfully\"*, *\"Sound professional\"*)\n- Character switching with `[CharacterName]` auto-maps to one of the 9 preset speakers\n\n### 🎨 VoiceDesign — Create Voices from Text\n\n- Describe a voice and the model generates it instantly\n- Example: *\"A cheerful young woman with a bright, energetic tone\"*\n- **1.7B only**\n- Supports **style instructions** alongside the voice description\n- Generated voices are disk-cached for reuse across sessions\n\n### 🎤 Base — Zero-Shot Voice Cloning\n\n- Clone any voice from a 3–30s reference audio clip\n- Available in **0.6B and 1.7B** sizes\n- ⚠️ **Does NOT support style instructions** — instruction field is ignored in this mode\n\n**Two cloning modes:**\n\n **ICL mode** (default, best quality): uses reference audio **+ reference transcript**. The model reads the transcript as in-context learning to better match the voice. Use the 🎭 Character Voices node — it always provides both.\n **X-Vector mode**: uses only the audio to extract a speaker embedding, no transcript needed. Faster but lower quality.\n\n### 🔤 ASR — Transcription\n\n- Use with the **✏️ Unified ASR Transcribe** node\n- Transcribes audio to text with optional forced alignment\n\n---\n\n## Technical Specs\n\n- 🌍 **10 Languages:** Chinese, English, Japanese, Korean, German, French, Russian, Portuguese, Spanish, Italian\n- 📏 **2 Model Sizes:** 0.6B and 1.7B (VoiceDesign is 1.7B only)\n- ⚡ **Attention:** `eager`, `flash_attention_2`, `sdpa`, `sage_attn`\n- 🔧 **Generation params:** temperature, top_k, top_p, repetition_penalty\n- ⚡ **torch.compile:** Optional ~1.7x speedup (requires PyTorch 2.10+)\n\n---\n\n## Unified Features\n\nWorks with all TTS Audio Suite features: character switching, language switching, pause tags `[pause:1s]`, SRT timing, and Step Audio EditX post-processing."
],
"color": "#432",
"bgcolor": "#653"
},
{
"id": 183,
"type": "MarkdownNote",
"pos": [
-3390,
810
],
"size": [
360,
270
],
"flags": {},
"order": 13,
"mode": 0,
"inputs": [],
"outputs": [],
"properties": {
"ue_properties": {
"widget_ue_connectable": {},
"version": "7.4.1",
"input_ue_unconnectable": {}
}
},
"widgets_values": [
"\n## ⚠️ Key Limitation: Instructions Only Work on Some Models\n\n| Model | Style Instructions |\n| --- | --- |\n| CustomVoice | ✅ Supported |\n| VoiceDesign | ✅ Supported |\n| Base (cloning) | ❌ Not supported |\n| ASR | ❌ N/A |\n\nIf you need to control speaking style (emotion, tone, pace), use **CustomVoice** or **VoiceDesign**. Voice cloning does not accept instructions.\n\n---\n"
],
"color": "#432",
"bgcolor": "#653"
},
{
"id": 184,
"type": "MarkdownNote",
"pos": [
-3390,
1120
],
"size": [
420,
530
],
"flags": {},
"order": 14,
"mode": 0,
"inputs": [],
"outputs": [],
"properties": {
"ue_properties": {
"widget_ue_connectable": {},
"version": "7.4.1",
"input_ue_unconnectable": {}
}
},
"widgets_values": [
"# Qwen3-TTS — Performance Optimizations\n\n## torch.compile (~1.7x speedup)\n\nEnable in the Qwen3-TTS Engine node:\n\n- `use_torch_compile` → **True**\n- `compile_mode` → **default** (recommended, works on Windows & Linux)\n- `use_cuda_graphs` → **False** (redundant when using torch.compile)\n\n**Important:** First generation after enabling is slow (~30-60s compile time). All subsequent generations are fast — compiled kernels are cached across sessions.\n\n## Attention Mode\n\nThe `attn_implementation` option controls the attention backend:\n\n- `sdpa` — good default, works everywhere\n- `flash_attention_2` — fastest, requires compatible GPU/drivers\n- `eager` — slowest, most compatible fallback\n- `sage_attn` — alternative fast attention\n\n## Requirements for torch.compile\n\n- PyTorch **2.10.0+** with CUDA 13.0\n- triton **3.6.0+** (triton-windows on Windows)\n- Python 3.12 recommended\n\n> ⚠️ `reduce-overhead` and `max-autotune` compile modes **fail on Windows** (cudaMallocAsync error). Use `default`.\n\n---\n\n📖 **Full setup guide with install commands, troubleshooting, and benchmarks:**\n`docs/qwen3_tts_optimizations.md`"
],
"color": "#432",
"bgcolor": "#653"
},
{
"id": 185,
"type": "MarkdownNote",
"pos": [
-1980,
1870
],
"size": [
420,
360
],
"flags": {},
"order": 15,
"mode": 0,
"inputs": [],
"outputs": [],
"properties": {
"ue_properties": {
"widget_ue_connectable": {},
"version": "7.4.1",
"input_ue_unconnectable": {}
}
},
"widgets_values": [
"## Using a Designed Voice Immediately\n\nAfter generating a voice with the **🎨 Voice Designer** node, you have two options:\n\n---\n\n### Option 1 — Use as Narrator (same run, no refresh needed)\n\nConnect the `NARRATOR_VOICE` output of the Voice Designer node directly to the `narrator_voice` input of your TTS Text/SRT node.\n\nThe designed voice becomes the main narrator voice immediately.\n\n---\n\n### Option 2 — Use as a Named Character with `[tags]`\n\nThe 💾 Save Character Voice node saves the voice to the character folder under the name you provide. Once saved, you can reference it in your text using character switching tags:\n\n```\n[new_voice_bob] Hello, I am Bob.\n[narrator] And I am the narrator.\n```\n\n**Limitation:** this requires a refresh of the character folder before the new voice is available. If you run the workflow twice, it works automatically on the second run. For same-run usage, set up ♻️ Refresh Voice Cache.\n"
],
"color": "#432",
"bgcolor": "#653"
},
{
"id": 186,
"type": "MarkdownNote",
"pos": [
150,
1800
],
"size": [
660,
420
],
"flags": {},
"order": 10,
"mode": 0,
"inputs": [],
"outputs": [],
"properties": {
"ue_properties": {
"widget_ue_connectable": {},
"version": "7.4.1",
"input_ue_unconnectable": {}
}
},
"widgets_values": [
"\n## Same-Run Character Switching with ♻️ Refresh Voice Cache\n\nTo use a freshly designed voice as a `[character tag]` in the **same workflow run**, use the **♻️ Refresh Voice Cache** node.\n\nThis node refreshes the voice cache mid-run so the new character is available to the TTS node.\n\n### Setup\n\nYou need to ensure two things happen in the right order:\n\n1. Voice Designer runs **first** (saves the voice file)\n2. Cache refreshes\n3. TTS generation runs **after**\n\nTo enforce this execution order, connect **two signals** into the Refresh Voice Cache node:\n\n- **Signal 1:** The TTS Engine output (e.g. from the Qwen3-TTS Engine node) → this is what your TTS node needs anyway\n- **Signal 2:** Any output from the Voice Designer node → this forces the designer to run before the cache refresh\n\nThen connect the output of the Refresh Voice Cache node to your TTS node instead of connecting the engine directly.\n\n### Signal Flow\n\n```\n[Qwen3 Engine] ──────────────────────┐\n ▼\n[Voice Designer] ──► (any output) ► [♻️ Refresh Voice Cache] ──► [TTS Text Node]\n```\n\nThis guarantees: Designer runs → cache updates → TTS generates, all in one run."
],
"color": "#432",
"bgcolor": "#653"
},
{
"id": 188,
"type": "Reroute",
"pos": [
-1870,
3980
],
"size": [
75,
26
],
"flags": {},
"order": 26,
"mode": 0,
"inputs": [
{
"name": "",
"type": "*",
"link": 300
}
],
"outputs": [
{
"name": "",
"type": "TTS_ENGINE",
"links": [
310
]
}
],
"properties": {
"showOutputText": false,
"horizontal": false,
"ue_properties": {
"widget_ue_connectable": {},
"version": "7.4.1",
"input_ue_unconnectable": {}
}
},
"color": "#222",
"bgcolor": "#000"
},
{
"id": 189,
"type": "LoadAudio",
"pos": [
-1990,
4300
],
"size": [
270,
136
],
"flags": {},
"order": 11,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "AUDIO",
"type": "AUDIO",
"links": [
308
]
}
],
"properties": {
"Node name for S&R": "LoadAudio",
"ue_properties": {
"widget_ue_connectable": {},
"input_ue_unconnectable": {}
},
"cnr_id": "comfy-core",
"ver": "0.11.0"
},
"widgets_values": [
"02 Creep.mp3",
null,
null
],
"color": "#323",
"bgcolor": "#535"
},
{
"id": 191,
"type": "PreviewAny",
"pos": [
-1120,
4440
],
"size": [
500,
220
],
"flags": {},
"order": 45,
"mode": 4,
"inputs": [
{
"name": "source",
"type": "*",
"link": 314
}
],
"outputs": [],
"properties": {
"Node name for S&R": "PreviewAny",
"ue_properties": {
"widget_ue_connectable": {},
"version": "7.4.1",
"input_ue_unconnectable": {}
},
"cnr_id": "comfy-core",
"ver": "0.3.59"
},
"widgets_values": [
null,
null,
null
],
"color": "#233",
"bgcolor": "#355"
},
{
"id": 192,
"type": "PreviewAny",
"pos": [
-1120,
4710
],
"size": [
500,
430
],
"flags": {},
"order": 47,
"mode": 4,
"inputs": [
{
"name": "source",
"type": "*",
"link": 315
}
],
"outputs": [],
"properties": {
"Node name for S&R": "PreviewAny",
"ue_properties": {
"widget_ue_connectable": {},
"version": "7.4.1",
"input_ue_unconnectable": {}
},
"cnr_id": "comfy-core",
"ver": "0.3.59"
},
"widgets_values": [
null,
null,
null
],
"color": "#233",
"bgcolor": "#355"
},
{
"id": 193,
"type": "PreviewAny",
"pos": [
-1120,
5190
],
"size": [
500,
200
],
"flags": {},
"order": 48,
"mode": 4,
"inputs": [
{
"name": "source",
"type": "*",
"link": 316
}
],
"outputs": [],
"properties": {
"Node name for S&R": "PreviewAny",
"ue_properties": {
"widget_ue_connectable": {},
"version": "7.4.1",
"input_ue_unconnectable": {}
},
"cnr_id": "comfy-core",
"ver": "0.3.59"
},
"widgets_values": [
null,
null,
null
],
"color": "#233",
"bgcolor": "#355"
},
{
"id": 195,
"type": "MarkdownNote",
"pos": [
-1990,
4150
],
"size": [
330,
90
],
"flags": {},
"order": 12,
"mode": 0,
"inputs": [],
"outputs": [],
"properties": {
"ue_properties": {
"widget_ue_connectable": {},
"version": "7.4.1",
"input_ue_unconnectable": {}
}
},
"widgets_values": [
" 1 - Load any audio\n 2 - If you NEED SRT or timmings, you NEED to have \"asr_use_force_aligner\" option in the Qwen2 Engine."
],
"color": "#432",
"bgcolor": "#653"
},
{
"id": 196,
"type": "MarkdownNote",
"pos": [
-100,
4800
],
"size": [
360,
250
],
"flags": {},
"order": 18,
"mode": 0,
"inputs": [],
"outputs": [],
"properties": {
"ue_properties": {
"widget_ue_connectable": {},
"version": "7.4.1",
"input_ue_unconnectable": {}
}
},
"widgets_values": [
"## 🔧 ASR SRT Advanced Options\n\nI know this is overwhelming. Most of these are highly experimental. But it will help a lot in making your SRT output look better. \n\nYou don't need to change anything if you don't want to. It's all optional. The SRT output will use all of these by default in one way or another. \n\nWhat you can do here is that you can tinker with each value and adjust it as you like. \n\nMost of these are post-processing, meaning you won't need to regenerate to test them. Just click run, and it will use the cache previous run apply it immediately. "
],
"color": "#432",
"bgcolor": "#653"
},
{
"id": 197,
"type": "Reroute",
"pos": [
-1680,
4300
],
"size": [
75,
26
],
"flags": {},
"order": 24,
"mode": 0,
"inputs": [
{
"name": "",
"type": "*",
"link": 308
}
],
"outputs": [
{
"name": "",
"type": "AUDIO",
"links": [
313
]
}
],
"properties": {
"showOutputText": false,
"horizontal": false
}
},
{
"id": 198,
"type": "Reroute",
"pos": [
-1670,
3980
],
"size": [
75,
26
],
"flags": {},
"order": 32,
"mode": 0,
"inputs": [
{
"name": "",
"type": "*",
"link": 310
}
],
"outputs": [
{
"name": "",
"type": "TTS_ENGINE",
"links": [
312
]
}
],
"properties": {
"showOutputText": false,
"horizontal": false,
"ue_properties": {
"widget_ue_connectable": {},
"version": "7.4.1",
"input_ue_unconnectable": {}
}
},
"color": "#222",
"bgcolor": "#000"
},
{
"id": 199,
"type": "UnifiedASRTranscribeNode",
"pos": [
-1530,
4350
],
"size": [
270,
242
],
"flags": {},
"order": 40,
"mode": 0,
"inputs": [
{
"name": "engine",
"type": "TTS_ENGINE",
"link": 312
},
{
"name": "audio",
"type": "*",
"link": 313
}
],
"outputs": [
{
"name": "text",
"type": "STRING",
"links": [
314,
320
]
},
{
"name": "asr_timing_data",
"type": "STRING",
"links": [
315,
317
]
},
{
"name": "info",
"type": "STRING",
"links": [
316
]
}
],
"properties": {
"Node name for S&R": "UnifiedASRTranscribeNode"
},
"widgets_values": [
"Auto",
"transcribe",
"word",
30,
2,
true,
false
],
"color": "#223",
"bgcolor": "#335"
},
{
"id": 200,
"type": "TextToSRTBuilderNode",
"pos": [
-90,
4370
],
"size": [
400,
200
],
"flags": {},
"order": 52,
"mode": 0,
"inputs": [
{
"name": "asr_timing_data",
"shape": 7,
"type": "STRING",
"link": 317
},
{
"name": "srt_options",
"shape": 7,
"type": "SRT_OPTIONS",
"link": 341
},
{
"name": "text",
"type": "STRING",
"widget": {
"name": "text"
},
"link": 321
}
],
"outputs": [
{
"name": "srt",
"type": "STRING",
"links": [
322
]
},
{
"name": "timestamps",
"type": "STRING",
"links": [
323
]
},
{
"name": "info",
"type": "STRING",
"links": [
324
]
}
],
"properties": {
"Node name for S&R": "TextToSRTBuilderNode"
},
"widgets_values": [
""
],
"color": "#223",
"bgcolor": "#335"
},
{
"id": 201,
"type": "Reroute",
"pos": [
-290,
4350
],
"size": [
75,
26
],
"flags": {},
"order": 46,
"mode": 0,
"inputs": [
{
"name": "",
"type": "*",
"widget": {
"name": "value"
},
"link": 320
}
],
"outputs": [
{
"name": "",
"type": "STRING",
"links": [
321
]
}
],
"properties": {
"showOutputText": false,
"horizontal": false
}
},
{
"id": 202,
"type": "PreviewAny",
"pos": [
400,
4370
],
"size": [
500,
400
],
"flags": {},
"order": 55,
"mode": 4,
"inputs": [
{
"name": "source",
"type": "*",
"link": 322
}
],
"outputs": [],
"properties": {
"Node name for S&R": "PreviewAny",
"ue_properties": {
"widget_ue_connectable": {},
"version": "7.4.1",
"input_ue_unconnectable": {}
},
"cnr_id": "comfy-core",
"ver": "0.3.59"
},
"widgets_values": [
null,
null,
null
],
"color": "#233",
"bgcolor": "#355"
},
{
"id": 203,
"type": "PreviewAny",
"pos": [
400,
4810
],
"size": [
500,
220
],
"flags": {},
"order": 56,
"mode": 4,
"inputs": [
{
"name": "source",
"type": "*",
"link": 323
}
],
"outputs": [],
"properties": {
"Node name for S&R": "PreviewAny",
"ue_properties": {
"widget_ue_connectable": {},
"version": "7.4.1",
"input_ue_unconnectable": {}
},
"cnr_id": "comfy-core",
"ver": "0.3.59"
},
"widgets_values": [
null,
null,
null
],
"color": "#233",
"bgcolor": "#355"
},
{
"id": 204,
"type": "PreviewAny",
"pos": [
400,
5070
],
"size": [
500,
220
],
"flags": {},
"order": 57,
"mode": 4,
"inputs": [
{
"name": "source",
"type": "*",
"link": 324
}
],
"outputs": [],
"properties": {
"Node name for S&R": "PreviewAny",
"ue_properties": {
"widget_ue_connectable": {},
"version": "7.4.1",
"input_ue_unconnectable": {}
},
"cnr_id": "comfy-core",
"ver": "0.3.59"
},
"widgets_values": [
null,
null,
null
],
"color": "#233",
"bgcolor": "#355"
},
{
"id": 206,
"type": "Qwen3TTSEngineNode",
"pos": [
-2680,
1510
],
"size": [
400,
574
],
"flags": {},
"order": 17,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "TTS_engine",
"type": "TTS_ENGINE",
"links": [
329
]
}
],
"properties": {
"Node name for S&R": "Qwen3TTSEngineNode",
"cnr_id": "chatterbox_srt_voice",
"ver": "0068acb849b91ff7bdcfa00998207e772599ff1a",
"ue_properties": {
"widget_ue_connectable": {},
"input_ue_unconnectable": {},
"version": "7.5.2"
}
},
"widgets_values": [
"Voice Design - 1.7B VoiceDesign",
"auto",
"Vivian",
"English",
"",
50,
1,
0.9,
1.05,
2048,
"auto",
"auto",
false,
true,
false,
"default",
true,
"English",
"Translate the speech from {source_language} into {target_language} text. Return only the translated text.",
"⚠️ Shared Runtime"
],
"color": "#222",
"bgcolor": "#000"
},
{
"id": 207,
"type": "UnifiedVoiceDesignerNode",
"pos": [
-1970,
1510
],
"size": [
400,
230
],
"flags": {},
"order": 28,
"mode": 0,
"inputs": [
{
"name": "TTS_engine",
"type": "TTS_ENGINE",
"link": 329
}
],
"outputs": [
{
"name": "opt_narrator",
"type": "NARRATOR_VOICE",
"links": [
333
]
},
{
"name": "preview_audio",
"type": "AUDIO",
"links": [
330
]
},
{
"name": "voice_info",
"type": "STRING",
"links": [
331
]
}
],
"properties": {
"Node name for S&R": "UnifiedVoiceDesignerNode"
},
"widgets_values": [
"Welcome to the TTS Audio Suite. This text-to-speech toolkit brings your stories to life with natural, expressive voices. Whether you're creating audiobooks, videos, or interactive experiences, the available models offer a wide range of voices and capabilities. What will you create today?",
1,
"fixed",
"Annoying orc children female voice, loud and high-pitched but with a monstrous reverb."
],
"color": "#223",
"bgcolor": "#335"
},
{
"id": 208,
"type": "SaveCharacterVoiceNode",
"pos": [
-1000,
1510
],
"size": [
276.845703125,
122
],
"flags": {},
"order": 34,
"mode": 0,
"inputs": [
{
"name": "opt_narrator",
"type": "NARRATOR_VOICE",
"link": 333
}
],
"outputs": [
{
"name": "opt_narrator",
"type": "NARRATOR_VOICE",
"links": [
334
]
},
{
"name": "character_name",
"type": "STRING",
"links": [
336
]
},
{
"name": "save_info",
"type": "STRING",
"links": [
335
]
}
],
"properties": {
"Node name for S&R": "SaveCharacterVoiceNode"
},
"widgets_values": [
"orc_girl",
true
],
"color": "#223",
"bgcolor": "#335"
},
{
"id": 209,
"type": "PreviewAny",
"pos": [
-680,
1760
],
"size": [
330,
310
],
"flags": {},
"order": 43,
"mode": 4,
"inputs": [
{
"name": "source",
"type": "*",
"link": 335
}
],
"outputs": [],
"properties": {
"Node name for S&R": "PreviewAny",
"cnr_id": "comfy-core",
"ver": "0.3.57",
"ue_properties": {
"widget_ue_connectable": {},
"version": "7.4.1",
"input_ue_unconnectable": {}
}
},
"widgets_values": [
null,
null,
null
],
"color": "#432",
"bgcolor": "#653"
},
{
"id": 210,
"type": "PreviewAny",
"pos": [
-680,
1590
],
"size": [
320,
112
],
"flags": {},
"order": 42,
"mode": 4,
"inputs": [
{
"name": "source",
"type": "*",
"link": 336
}
],
"outputs": [],
"properties": {
"Node name for S&R": "PreviewAny",
"cnr_id": "comfy-core",
"ver": "0.3.57",
"ue_properties": {
"widget_ue_connectable": {},
"version": "7.4.1",
"input_ue_unconnectable": {}
}
},
"widgets_values": [
null,
null,
null
],
"color": "#432",
"bgcolor": "#653"
},
{
"id": 211,
"type": "Reroute",
"pos": [
-2000,
2270
],
"size": [
124,
26
],
"flags": {},
"order": 27,
"mode": 0,
"inputs": [
{
"name": "",
"type": "*",
"link": 337
}
],
"outputs": [
{
"name": "TTS_ENGINE",
"type": "TTS_ENGINE",
"links": [
338
]
}
],
"properties": {
"showOutputText": true,
"horizontal": false,
"ue_properties": {
"widget_ue_connectable": {},
"version": "7.4.1",
"input_ue_unconnectable": {}
}
},
"color": "#222",
"bgcolor": "#000"
},
{
"id": 212,
"type": "Reroute",
"pos": [
-150,
2270
],
"size": [
124,
26
],
"flags": {},
"order": 33,
"mode": 0,
"inputs": [
{
"name": "",
"type": "*",
"link": 338
}
],
"outputs": [
{
"name": "TTS_ENGINE",
"type": "TTS_ENGINE",
"links": [
339
]
}
],
"properties": {
"showOutputText": true,
"horizontal": false,
"ue_properties": {
"widget_ue_connectable": {},
"version": "7.4.1",
"input_ue_unconnectable": {}
}
},
"color": "#222",
"bgcolor": "#000"
},
{
"id": 214,
"type": "SRTAdvancedOptionsNode",
"pos": [
-570,
4480
],
"size": [
420,
870
],
"flags": {},
"order": 19,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "srt_options",
"type": "SRT_OPTIONS",
"links": [
341
]
}
],
"properties": {
"Node name for S&R": "SRTAdvancedOptionsNode"
},
"widgets_values": [
"Mobile",
"smart",
false,
false,
"Auto",
32,
2,
5,
1,
0.6,
17,
true,
1500,
2,
0.6,
12,
2,
0.4,
true,
1,
true,
2,
2,
true,
3,
3,
"a,an,the,to,of,and,or,im,i'm,you,you're,we,they,he,she,it",
true,
2,
1.5,
true,
1.2,
"what,why,how,where,who,which,when",
true,
true,
false,
""
],
"color": "#223",
"bgcolor": "#335"
}
],
"links": [
[
100,
47,
1,
50,
0,
"*"
],
[
182,
99,
0,
47,
2,
"STRING"
],
[
227,
132,
0,
99,
0,
"*"
],
[
230,
53,
0,
133,
0,
"TTS_ENGINE"
],
[
231,
133,
0,
79,
0,
"AUDIO"
],
[
232,
133,
1,
121,
0,
"*"
],
[
233,
139,
0,
136,
0,
"AUDIO"
],
[
234,
136,
0,
141,
0,
"*"
],
[
235,
140,
0,
142,
0,
"*"
],
[
242,
146,
0,
133,
2,
"STRING"
],
[
243,
151,
0,
100,
0,
"*"
],
[
244,
143,
0,
98,
0,
"*"
],
[
246,
47,
0,
153,
0,
"AUDIO"
],
[
248,
98,
0,
132,
0,
"*"
],
[
250,
155,
0,
53,
0,
"TTS_ENGINE"
],
[
256,
158,
0,
159,
0,
"AUDIO"
],
[
257,
158,
1,
160,
0,
"STRING"
],
[
259,
157,
0,
158,
0,
"TTS_ENGINE"
],
[
294,
178,
0,
158,
1,
"NARRATOR_VOICE"
],
[
295,
177,
0,
158,
2,
"STRING"
],
[
298,
180,
0,
157,
0,
"TTS_ENGINE"
],
[
299,
157,
2,
181,
0,
"STRING"
],
[
300,
155,
0,
188,
0,
"TTS_ENGINE"
],
[
308,
189,
0,
197,
0,
"AUDIO"
],
[
310,
188,
0,
198,
0,
"TTS_ENGINE"
],
[
312,
198,
0,
199,
0,
"TTS_ENGINE"
],
[
313,
197,
0,
199,
1,
"AUDIO"
],
[
314,
199,
0,
191,
0,
"STRING"
],
[
315,
199,
1,
192,
0,
"STRING"
],
[
316,
199,
2,
193,
0,
"STRING"
],
[
317,
199,
1,
200,
0,
"STRING"
],
[
320,
199,
0,
201,
0,
"STRING"
],
[
321,
201,
0,
200,
2,
"STRING"
],
[
322,
200,
0,
202,
0,
"STRING"
],
[
323,
200,
1,
203,
0,
"STRING"
],
[
324,
200,
2,
204,
0,
"STRING"
],
[
325,
142,
0,
47,
1,
"NARRATOR_VOICE"
],
[
329,
206,
0,
207,
0,
"TTS_ENGINE"
],
[
330,
207,
1,
161,
0,
"AUDIO"
],
[
331,
207,
2,
179,
0,
"STRING"
],
[
333,
207,
0,
208,
0,
"NARRATOR_VOICE"
],
[
334,
208,
0,
157,
1,
"NARRATOR_VOICE"
],
[
335,
208,
2,
209,
0,
"STRING"
],
[
336,
208,
1,
210,
0,
"STRING"
],
[
337,
155,
0,
211,
0,
"TTS_ENGINE"
],
[
338,
211,
0,
212,
0,
"TTS_ENGINE"
],
[
339,
212,
0,
180,
0,
"TTS_ENGINE"
],
[
340,
155,
0,
47,
0,
"TTS_ENGINE"
],
[
341,
214,
0,
200,
1,
"SRT_OPTIONS"
]
],
"groups": [
{
"id": 6,
"title": "Simple text exemple",
"bounding": [
-4020,
1820,
920,
690
],
"color": "#8A8",
"font_size": 24,
"flags": {}
},
{
"id": 8,
"title": "Multi-char with [Tags + Second pass Inline Editing]",
"bounding": [
-4020,
2520,
920,
680
],
"color": "#8A8",
"font_size": 24,
"flags": {}
},
{
"id": 15,
"title": "Basic SRT Exemple",
"bounding": [
-2030,
3160,
986.889892578125,
659.2364501953125
],
"color": "#3f789e",
"font_size": 24,
"flags": {}
},
{
"id": 16,
"title": "⚙️ Engine TTS",
"bounding": [
-2870,
2410,
550,
650
],
"color": "#3f789e",
"font_size": 24,
"flags": {}
},
{
"id": 18,
"title": "TTS TEXT",
"bounding": [
-2030,
2370,
2330,
690
],
"color": "#8A8",
"font_size": 24,
"flags": {}
},
{
"id": 19,
"title": "SRT",
"bounding": [
-4020,
3240,
920,
690
],
"color": "#3f789e",
"font_size": 24,
"flags": {}
},
{
"id": 21,
"title": "Voice Designer",
"bounding": [
-2040,
1400,
950,
840
],
"color": "#b58b2a",
"font_size": 24,
"flags": {}
},
{
"id": 22,
"title": "TTS using Voice Designer Character with Switching Tag",
"bounding": [
90,
1400,
3110,
840
],
"color": "#b58b2a",
"font_size": 24,
"flags": {}
},
{
"id": 23,
"title": "Qwen3 ✏️ ASR Transcribe",
"bounding": [
-2030,
4070,
3120,
1440
],
"color": "#A88",
"font_size": 24,
"flags": {}
},
{
"id": 24,
"title": "⚙️ Engine- Qwen for Voice Design",
"bounding": [
-2750,
1440,
550,
650
],
"color": "#3f789e",
"font_size": 24,
"flags": {}
},
{
"id": 25,
"title": "💾 Save Character Voice",
"bounding": [
-1070,
1410,
1140,
830
],
"color": "#b58b2a",
"font_size": 24,
"flags": {}
}
],
"config": {},
"extra": {
"ds": {
"scale": 0.19487171000001197,
"offset": [
4743.603819772154,
-495.307128612063
]
},
"frontendVersion": "1.38.13",
"ue_links": [],
"links_added_by_ue": [],
"VHS_latentpreview": true,
"VHS_latentpreviewrate": 0,
"VHS_MetadataImage": true,
"VHS_KeepIntermediate": true,
"workflowRendererVersion": "LG"
},
"version": 0.4
}