- Replace monolithic AceStepMusicGen node with modular architecture: AceStepText2MusicGenParams, AceStepSettings, AceStepText2MusicServer, AceStepAudioCodes, AceStepShowText - Merge sample_mode into GenParams node with JS-driven widget visibility (sample_mode ON: sample_query/is_instrumental/language only; sample_mode OFF: full manual text2music controls) - Move conditionally-hidden fields to optional inputs with defaults to prevent ComfyUI validation errors when JS hides widgets - Remove standalone audio2code and example_generate server nodes; audio_codes now returned as a third output of Text2MusicServer - Add frontend JS for dynamic widget hide/show, API key masking, server mode toggling (cloud/local), and show-text display - Include pre-built text2music.json workflow - Rewrite README with full node reference and usage guide Made-with: Cursor
226 lines
6.2 KiB
JSON
226 lines
6.2 KiB
JSON
{
|
|
"id": "ffe0e07f-9772-45cb-845d-bf5666d27930",
|
|
"revision": 1,
|
|
"last_node_id": 12,
|
|
"last_link_id": 10,
|
|
"nodes": [
|
|
{
|
|
"id": 5,
|
|
"type": "AceStepText2MusicGenParams",
|
|
"pos": [40, 40],
|
|
"size": [420, 500],
|
|
"flags": {},
|
|
"order": 0,
|
|
"mode": 0,
|
|
"inputs": [
|
|
{ "name": "refer_audio", "shape": 7, "type": "AUDIO", "link": null },
|
|
{ "name": "src_audio", "shape": 7, "type": "AUDIO", "link": null },
|
|
{ "name": "audio_codes", "shape": 7, "type": "STRING", "link": null }
|
|
],
|
|
"outputs": [
|
|
{
|
|
"name": "gen_params",
|
|
"type": "ACESTEP_GEN_PARAMS",
|
|
"slot_index": 0,
|
|
"links": [1]
|
|
}
|
|
],
|
|
"title": "Text2music Gen Params",
|
|
"properties": { "Node name for S&R": "AceStepText2MusicGenParams" },
|
|
"widgets_values": [
|
|
false,
|
|
"en"
|
|
]
|
|
},
|
|
{
|
|
"id": 6,
|
|
"type": "AceStepSettings",
|
|
"pos": [40, 590],
|
|
"size": [420, 298],
|
|
"flags": {},
|
|
"order": 1,
|
|
"mode": 0,
|
|
"inputs": [],
|
|
"outputs": [
|
|
{
|
|
"name": "settings",
|
|
"type": "ACESTEP_SETTINGS",
|
|
"slot_index": 0,
|
|
"links": [2]
|
|
}
|
|
],
|
|
"title": "Settings",
|
|
"properties": { "Node name for S&R": "AceStepSettings" },
|
|
"widgets_values": [
|
|
"-1", true, true, true, 0.85, 2, 0.9, 0, 7, 8, "ode"
|
|
]
|
|
},
|
|
{
|
|
"id": 11,
|
|
"type": "LoadAudio",
|
|
"pos": [500, 40],
|
|
"size": [270, 136],
|
|
"flags": {},
|
|
"order": 2,
|
|
"mode": 0,
|
|
"inputs": [],
|
|
"outputs": [
|
|
{ "name": "AUDIO", "type": "AUDIO", "slot_index": 0, "links": null }
|
|
],
|
|
"title": "Load Audio (refer audio)",
|
|
"properties": { "Node name for S&R": "LoadAudio" },
|
|
"widgets_values": ["", null, null]
|
|
},
|
|
{
|
|
"id": 2,
|
|
"type": "LoadAudio",
|
|
"pos": [500, 220],
|
|
"size": [270, 136],
|
|
"flags": {},
|
|
"order": 3,
|
|
"mode": 0,
|
|
"inputs": [],
|
|
"outputs": [
|
|
{ "name": "AUDIO", "type": "AUDIO", "slot_index": 0, "links": null }
|
|
],
|
|
"title": "Load Audio (src audio)",
|
|
"properties": { "Node name for S&R": "LoadAudio" },
|
|
"widgets_values": ["", null, null]
|
|
},
|
|
{
|
|
"id": 7,
|
|
"type": "AceStepText2MusicServer",
|
|
"pos": [500, 420],
|
|
"size": [340, 130],
|
|
"flags": {},
|
|
"order": 4,
|
|
"mode": 0,
|
|
"inputs": [
|
|
{ "name": "gen_params", "type": "ACESTEP_GEN_PARAMS", "link": 1 },
|
|
{ "name": "settings", "type": "ACESTEP_SETTINGS", "link": 2 }
|
|
],
|
|
"outputs": [
|
|
{ "name": "audio", "type": "AUDIO", "slot_index": 0, "links": [3] },
|
|
{ "name": "info", "type": "STRING", "slot_index": 1, "links": [4] },
|
|
{ "name": "audio_codes", "type": "STRING", "slot_index": 2, "links": [5] }
|
|
],
|
|
"title": "Text2music Server",
|
|
"properties": { "Node name for S&R": "AceStepText2MusicServer" },
|
|
"widgets_values": ["cloud", "https://api.acemusic.ai"]
|
|
},
|
|
{
|
|
"id": 8,
|
|
"type": "SaveAudio",
|
|
"pos": [500, 600],
|
|
"size": [340, 112],
|
|
"flags": {},
|
|
"order": 5,
|
|
"mode": 0,
|
|
"inputs": [
|
|
{ "name": "audio", "type": "AUDIO", "link": 3 }
|
|
],
|
|
"outputs": [],
|
|
"title": "Save Audio",
|
|
"properties": { "Node name for S&R": "SaveAudio" },
|
|
"widgets_values": ["ace-step/text2music"]
|
|
},
|
|
{
|
|
"id": 9,
|
|
"type": "AceStepShowText",
|
|
"pos": [500, 760],
|
|
"size": [340, 160],
|
|
"flags": {},
|
|
"order": 6,
|
|
"mode": 0,
|
|
"inputs": [
|
|
{ "name": "text", "type": "STRING", "link": 4 }
|
|
],
|
|
"outputs": [
|
|
{ "name": "text", "type": "STRING", "links": null }
|
|
],
|
|
"title": "Generation Info",
|
|
"properties": { "Node name for S&R": "AceStepShowText" },
|
|
"widgets_values": [""]
|
|
},
|
|
{
|
|
"id": 4,
|
|
"type": "AceStepAudioCodes",
|
|
"pos": [880, 40],
|
|
"size": [300, 200],
|
|
"flags": {},
|
|
"order": 7,
|
|
"mode": 0,
|
|
"inputs": [
|
|
{ "name": "audio_codes_in", "shape": 7, "type": "STRING", "link": 5 }
|
|
],
|
|
"outputs": [
|
|
{ "name": "audio_codes", "type": "STRING", "slot_index": 0, "links": null }
|
|
],
|
|
"title": "Audio Codes",
|
|
"properties": { "Node name for S&R": "AceStepAudioCodes" },
|
|
"widgets_values": [""]
|
|
},
|
|
{
|
|
"id": 12,
|
|
"type": "Note",
|
|
"pos": [880, 280],
|
|
"size": [300, 340],
|
|
"flags": {},
|
|
"order": 8,
|
|
"mode": 0,
|
|
"inputs": [],
|
|
"outputs": [],
|
|
"title": "Usage Guide",
|
|
"properties": {},
|
|
"widgets_values": [
|
|
"=== Text2music ===\nFill caption + lyrics, click Queue Prompt.\nOr toggle sample_mode ON and describe\nthe music you want in sample_query.\n\n=== Cover / Remix ===\nConnect src_audio to Gen Params.\nServer auto-converts audio to codes.\nAdjust cover/remix_strength.\n\n=== Repaint ===\nConnect src_audio, check is_repaint,\nset repaint_start / repaint_end.\n\n=== Reference Audio ===\nConnect refer_audio for style guidance.\n\n=== Auto Toggle ===\nON = LM decides bpm/key/duration.\nOFF = use your manual values.\n\n=== Audio Codes ===\nCodes from generation are output to\nthe Audio Codes node for reuse."
|
|
],
|
|
"color": "#232",
|
|
"bgcolor": "#353"
|
|
}
|
|
],
|
|
"links": [
|
|
[1, 5, 0, 7, 0, "ACESTEP_GEN_PARAMS"],
|
|
[2, 6, 0, 7, 1, "ACESTEP_SETTINGS"],
|
|
[3, 7, 0, 8, 0, "AUDIO"],
|
|
[4, 7, 1, 9, 0, "STRING"],
|
|
[5, 7, 2, 4, 0, "STRING"]
|
|
],
|
|
"groups": [
|
|
{
|
|
"id": 1,
|
|
"title": "Parameters",
|
|
"bounding": [20, -10, 460, 920],
|
|
"color": "#3f789e",
|
|
"font_size": 18,
|
|
"flags": {}
|
|
},
|
|
{
|
|
"id": 2,
|
|
"title": "Audio Input & Generation",
|
|
"bounding": [480, -10, 380, 960],
|
|
"color": "#3f789e",
|
|
"font_size": 18,
|
|
"flags": {}
|
|
},
|
|
{
|
|
"id": 3,
|
|
"title": "Output & Codes",
|
|
"bounding": [860, -10, 340, 660],
|
|
"color": "#3f789e",
|
|
"font_size": 18,
|
|
"flags": {}
|
|
}
|
|
],
|
|
"config": {},
|
|
"extra": {
|
|
"ds": {
|
|
"scale": 0.8,
|
|
"offset": [30, 30]
|
|
},
|
|
"workflowRendererVersion": "LG",
|
|
"frontendVersion": "1.39.19"
|
|
},
|
|
"version": 0.4
|
|
}
|