Files
filliptm-ComfyUI_FL-HeartMuLa/workflow/Example.json
T
FillandClaude Opus 4.5 0597ebdbce Initial release: FL HeartMuLa v2.0.0
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>
2026-01-19 21:19:43 -08:00

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
}