Multilingual AI music generation nodes for ComfyUI powered by HeartMuLa. Nodes: - Model Loader: Load HeartMuLa 3B model with optional 4-bit quantization - Conditioning: Tokenize lyrics and tags with popup lyrics editor - Sampler: Generate audio tokens with CFG and temperature control - Decode: Convert tokens to waveform using HeartCodec - Tags Builder: Build style tags with genre/vocal/mood selection - Transcribe: Extract lyrics from audio Features: - Generate up to 4 minutes of music with vocals - Support for English, Chinese, Japanese, Korean, Spanish - Song structure markers: [Verse], [Chorus], [Bridge], etc. - Style control via tags (genre, vocal type, mood, tempo) - Frontend lyrics editor with section buttons Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
353 lines
7.1 KiB
JSON
353 lines
7.1 KiB
JSON
{
|
|
"id": "6ecb83ee-b049-4df7-8302-b7bcafabfb56",
|
|
"revision": 0,
|
|
"last_node_id": 11,
|
|
"last_link_id": 15,
|
|
"nodes": [
|
|
{
|
|
"id": 8,
|
|
"type": "FL_HeartMuLa_Decode",
|
|
"pos": [
|
|
-5774.321636243242,
|
|
-3401.9069999315266
|
|
],
|
|
"size": [
|
|
188.6841796875,
|
|
46
|
|
],
|
|
"flags": {},
|
|
"order": 4,
|
|
"mode": 0,
|
|
"inputs": [
|
|
{
|
|
"name": "model",
|
|
"type": "HEARTMULA_MODEL",
|
|
"link": 7
|
|
},
|
|
{
|
|
"name": "audio_tokens",
|
|
"type": "HEARTMULA_TOKENS",
|
|
"link": 8
|
|
}
|
|
],
|
|
"outputs": [
|
|
{
|
|
"name": "audio",
|
|
"type": "AUDIO",
|
|
"links": [
|
|
9
|
|
]
|
|
}
|
|
],
|
|
"properties": {
|
|
"Node name for S&R": "FL_HeartMuLa_Decode"
|
|
},
|
|
"widgets_values": [],
|
|
"color": "#16727c",
|
|
"bgcolor": "#4F0074"
|
|
},
|
|
{
|
|
"id": 2,
|
|
"type": "FL_HeartMuLa_ModelLoader",
|
|
"pos": [
|
|
-6479.464366646483,
|
|
-3297.8643662934187
|
|
],
|
|
"size": [
|
|
254.93751216999988,
|
|
130
|
|
],
|
|
"flags": {},
|
|
"order": 0,
|
|
"mode": 0,
|
|
"inputs": [],
|
|
"outputs": [
|
|
{
|
|
"name": "model",
|
|
"type": "HEARTMULA_MODEL",
|
|
"links": [
|
|
6,
|
|
7,
|
|
11
|
|
]
|
|
}
|
|
],
|
|
"properties": {
|
|
"Node name for S&R": "FL_HeartMuLa_ModelLoader"
|
|
},
|
|
"widgets_values": [
|
|
"3B",
|
|
"auto",
|
|
false,
|
|
false
|
|
],
|
|
"color": "#16727c",
|
|
"bgcolor": "#4F0074"
|
|
},
|
|
{
|
|
"id": 9,
|
|
"type": "FL_HeartMuLa_Conditioning",
|
|
"pos": [
|
|
-6181.284083921102,
|
|
-3396.7422177825547
|
|
],
|
|
"size": [
|
|
312.2274697465091,
|
|
491.54876566964504
|
|
],
|
|
"flags": {},
|
|
"order": 2,
|
|
"mode": 0,
|
|
"inputs": [
|
|
{
|
|
"name": "model",
|
|
"type": "HEARTMULA_MODEL",
|
|
"link": 11
|
|
},
|
|
{
|
|
"name": "tags",
|
|
"type": "STRING",
|
|
"widget": {
|
|
"name": "tags"
|
|
},
|
|
"link": 15
|
|
}
|
|
],
|
|
"outputs": [
|
|
{
|
|
"name": "conditioning",
|
|
"type": "HEARTMULA_COND",
|
|
"links": [
|
|
13
|
|
]
|
|
}
|
|
],
|
|
"properties": {
|
|
"Node name for S&R": "FL_HeartMuLa_Conditioning"
|
|
},
|
|
"widgets_values": [
|
|
"[Verse 1]\nFour in the morning and the ceiling's all I see\nRunning through the conversations that will never be\nDid I say too much or did I not say enough\nEvery little silence got me calling my own bluff\n[Prechorus]\nThe thoughts keep stacking up in rows\nWhere they end nobody knows\n[Chorus]\nRound and round the same old track\nSay it forward then I take it back\nLiving in the space between\nWhat I said and what I mean\n[Verse 2]\nCheck my phone again but nothing's even there\nBuilding up a crisis out of empty air\nReplay every word until it doesn't sound right\nTurning small decisions into battles every night\n[Prechorus]\nThe thoughts keep stacking up in rows\nWhere they end nobody knows\n[Chorus]\nRound and round the same old track\nSay it forward then I take it back\nLiving in the space between\nWhat I said and what I mean\n[Outro]\nLet it go\nLet it slow",
|
|
"pop, female vocal, energetic",
|
|
1.7,
|
|
{
|
|
"name": "Edit Lyrics",
|
|
"options": {},
|
|
"type": "button",
|
|
"y": 136,
|
|
"last_y": 136,
|
|
"computedDisabled": false,
|
|
"clicked": false,
|
|
"computedHeight": 24
|
|
}
|
|
],
|
|
"color": "#16727c",
|
|
"bgcolor": "#4F0074"
|
|
},
|
|
{
|
|
"id": 5,
|
|
"type": "PreviewAudio",
|
|
"pos": [
|
|
-5546.655574295647,
|
|
-3221.0392009317416
|
|
],
|
|
"size": [
|
|
360.70907233625474,
|
|
88
|
|
],
|
|
"flags": {},
|
|
"order": 5,
|
|
"mode": 0,
|
|
"inputs": [
|
|
{
|
|
"name": "audio",
|
|
"type": "AUDIO",
|
|
"link": 9
|
|
}
|
|
],
|
|
"outputs": [],
|
|
"properties": {
|
|
"cnr_id": "comfy-core",
|
|
"ver": "0.7.0",
|
|
"Node name for S&R": "PreviewAudio"
|
|
},
|
|
"widgets_values": []
|
|
},
|
|
{
|
|
"id": 3,
|
|
"type": "FL_HeartMuLa_TagsBuilder",
|
|
"pos": [
|
|
-6485.085097577364,
|
|
-3110.8867987965773
|
|
],
|
|
"size": [
|
|
265.2509383911453,
|
|
202
|
|
],
|
|
"flags": {},
|
|
"order": 1,
|
|
"mode": 0,
|
|
"inputs": [],
|
|
"outputs": [
|
|
{
|
|
"name": "tags",
|
|
"type": "STRING",
|
|
"links": [
|
|
15
|
|
]
|
|
}
|
|
],
|
|
"properties": {
|
|
"Node name for S&R": "FL_HeartMuLa_TagsBuilder"
|
|
},
|
|
"widgets_values": [
|
|
"disco",
|
|
"instrumental",
|
|
"dark",
|
|
"fast",
|
|
"none",
|
|
"Synth, trap bass",
|
|
"deep house, 120 bpm, house"
|
|
],
|
|
"color": "#16727c",
|
|
"bgcolor": "#4F0074"
|
|
},
|
|
{
|
|
"id": 7,
|
|
"type": "FL_HeartMuLa_Sampler",
|
|
"pos": [
|
|
-5829.138156903997,
|
|
-3303.225870567126
|
|
],
|
|
"size": [
|
|
240.61542770548357,
|
|
174
|
|
],
|
|
"flags": {},
|
|
"order": 3,
|
|
"mode": 0,
|
|
"inputs": [
|
|
{
|
|
"name": "model",
|
|
"type": "HEARTMULA_MODEL",
|
|
"link": 6
|
|
},
|
|
{
|
|
"name": "conditioning",
|
|
"type": "HEARTMULA_COND",
|
|
"link": 13
|
|
}
|
|
],
|
|
"outputs": [
|
|
{
|
|
"name": "audio_tokens",
|
|
"type": "HEARTMULA_TOKENS",
|
|
"links": [
|
|
8
|
|
]
|
|
}
|
|
],
|
|
"properties": {
|
|
"Node name for S&R": "FL_HeartMuLa_Sampler"
|
|
},
|
|
"widgets_values": [
|
|
120,
|
|
1,
|
|
50,
|
|
90,
|
|
"fixed"
|
|
],
|
|
"color": "#16727c",
|
|
"bgcolor": "#4F0074"
|
|
}
|
|
],
|
|
"links": [
|
|
[
|
|
6,
|
|
2,
|
|
0,
|
|
7,
|
|
0,
|
|
"HEARTMULA_MODEL"
|
|
],
|
|
[
|
|
7,
|
|
2,
|
|
0,
|
|
8,
|
|
0,
|
|
"HEARTMULA_MODEL"
|
|
],
|
|
[
|
|
8,
|
|
7,
|
|
0,
|
|
8,
|
|
1,
|
|
"HEARTMULA_TOKENS"
|
|
],
|
|
[
|
|
9,
|
|
8,
|
|
0,
|
|
5,
|
|
0,
|
|
"AUDIO"
|
|
],
|
|
[
|
|
11,
|
|
2,
|
|
0,
|
|
9,
|
|
0,
|
|
"HEARTMULA_MODEL"
|
|
],
|
|
[
|
|
13,
|
|
9,
|
|
0,
|
|
7,
|
|
1,
|
|
"HEARTMULA_COND"
|
|
],
|
|
[
|
|
15,
|
|
3,
|
|
0,
|
|
9,
|
|
1,
|
|
"STRING"
|
|
]
|
|
],
|
|
"groups": [
|
|
{
|
|
"id": 1,
|
|
"title": "Group",
|
|
"bounding": [
|
|
-6515.806483382323,
|
|
-3475.5069999315265,
|
|
1360.4051549351998,
|
|
595.4359988034095
|
|
],
|
|
"color": "#3f789e",
|
|
"font_size": 24,
|
|
"flags": {}
|
|
}
|
|
],
|
|
"config": {},
|
|
"extra": {
|
|
"ds": {
|
|
"scale": 1.0610764609500072,
|
|
"offset": [
|
|
6491.653577857415,
|
|
3630.2264842769864
|
|
]
|
|
},
|
|
"workflowRendererVersion": "LG",
|
|
"frontendVersion": "1.35.9",
|
|
"VHS_latentpreview": false,
|
|
"VHS_latentpreviewrate": 0,
|
|
"VHS_MetadataImage": true,
|
|
"VHS_KeepIntermediate": true
|
|
},
|
|
"version": 0.4
|
|
} |