Skip to main content
链路总览(ComfyTV / Music + ComfyTV / Audio):
先分清三个词,每个词对应链上一段:

第 1 站:乐谱从哪来 —— MusicXML

MusicXML 是乐谱的通用交换格式,MuseScore、Finale、Sibelius 都能导出。它用文字描述”第几小节有哪些音、几分音符、什么奏法”。一个最小可用的谱长这样:
看懂三个关键字段就能读谱了:
  • divisions — 一个四分音符切成几份,后面所有 duration 都以它为单位(上例 divisions=2,duration=2 就是四分音符);
  • step + octave(+可选 alter)— 音名 + 八度 + 升降(alter=1 升半音,-1 降半音);
  • measure — 小节;多声部(左右手)就是多个 <part>

途径一:让 LLM 写谱

Score 节点是容错的:把 LLM 的整段回答原样粘进去即可,它会自动从散文里抠出 <score-partwise>…</score-partwise> 部分。提示词模板:
请用 MusicXML(score-partwise 4.0)写一段 8 小节的 C 大调钢琴独奏,4/4 拍,速度 100,右手旋律 + 左手柱式和弦,两个 part。只要求音符正确,不需要排版信息。
想要双声部、指定和弦进行、加力度记号(<dynamics>)、渐强(<wedge>)、断奏(<articulations>)都可以直接在提示词里提——解析器支持这些记号,演奏环节会真的把它们弹出来。

途径二:自己打谱 —— Score Editor

Score Editor 节点是画布上的钢琴卷帘打谱器,不写一行 XML 也能出谱:
  • 三种输入方式:画音符(按下拖出时值)、选择(拖拽框选、整体移动、两端拉长短)、键入(MuseScore 式 step-time:A-G 进音、7-2 选时值、. 附点、0/空格休止,光标自动前进,键盘打谱比鼠标快一个数量级)
  • 最多 4 个声部,每个声部可以直接选乐器(GM 音色,写进谱里,下游 Score Synth 自动采用)或切成鼓声部(侧栏变成 GM 鼓件名,Kick/Snare/HH 直接画)
  • 力度条:网格下方像 DAW 一样涂抹每个音的强弱,会真实反映到最终演奏
  • 播放试听:▶ 直接在编辑器里听草稿(声部分波形,鼓有合成鼓声),定稿后走正式链路出真音色
  • 输出标准 MusicXML,接 Score 可看刻谱、接 Score Performer → Score Synth 出成品;也能把上游(LLM 写的或下载的)谱导入卷帘继续改

途径三:公开下载

注意:下载时选未压缩.musicxml / .xml;.mxl 是 zip 压缩包,需要先解压出里面的 XML。

第 2 站:Score(乐谱)

把 MusicXML 粘进节点(或从上游 LLM 文本节点接入 text),它做三件事:
  1. 验证与清洗 — 解析失败会直接报错并说明原因,不让坏谱流向下游;
  2. 专业刻谱显示 — 节点卡片上直接渲染多行总谱(含打击乐谱表),可缩放,XML 可展开编辑、改完实时重刻;
  3. 输出干净的乐谱文本给下游。
没有演奏参数——谱面是”事实”,后面所有环节都不改谱,只改”怎么弹”。

第 3 站:Score Performer(演奏)

乐谱写的是”什么音”,MIDI 事件是”何时、多响地弹下去”。直接按谱面机械回放就是人们说的”死板 MIDI”;真人演奏的区别在于奏法(音的实际长短)、力度曲线(渐强渐弱怎么走)和微小的时间差。这个节点把 MuseScore 的演奏规则搬了过来,逐条应用谱上的断奏/保持音/重音/力度/渐强渐弱/颤音/倚音记号。 输出两个:performance(演奏 JSON:速度地图 + 事件流,接 Score Synth)和 midi_url(标准 .mid 文件,可直接下载丢进任何 DAW 继续加工)。
💡 改了 Performer 参数后,下游卡片上的谱面显示不会变——谱面画的是乐谱,不是演奏。要”听”到差别,重新 Run 下游的 Score Synth。

第 4 站:Score Synth(合成)

演奏事件要变成声音,需要音色。这里用的是 SoundFont(.sf2 / .sf3)——采样音色库,按 General MIDI 标准组织 128 种乐器。免费的 FluidR3_GM 就能覆盖全部 GM 音色,把文件导入侧边栏 Resources → soundfont 即可。 卡片上会渲染整份总谱,播放时光标逐音符实时跟随(反复记号、一二房子都能正确跟)。输出是标准音频,可以继续接任何 Audio 节点,也能接 Video Stage 的 audio 输入去驱动音频生视频。

第 5 站:混音 —— Muse Reverb (FDN)

不加混响的合成音”贴在脸上”;混响把声音放进一个房间。物理上分三层:直达声(dry)→ 早反射(墙面第一轮反弹,决定”房间多大的直觉”)→ 晚期混响(密集的尾巴,决定”多湿”)。这个节点是 MuseScore 混响的同款 FDN(反馈延迟网络)算法。 三组起手参数:

第 6 站:再往后 —— 其他音频节点速查

合成出来的是标准音轨,整个 ComfyTV / Audio 工具箱都能继续接:

完整示例 1:弹《致爱丽丝》

  1. 下载公版 MusicXML(如 abcnotation 的 Für Elise),粘进 Score;
  2. Score Performer:profile = keyboard,humanize = 0.25,其余默认;
  3. Score Synth:soundfont 选 FluidR3,program = piano,点 Run,播放时看光标跟着谱走;
  4. Muse Reverb:用上面”音乐厅”一组参数,出片。

完整示例 2:让 LLM 写一段爵士

  1. 用第 1 站的提示词模板让 LLM 写谱,提示词里明确要两个 part:“D 小调,摇摆感,8 小节;Part 1 是右手旋律,Part 2 是左手伴奏和弦(每小节一到两个和弦)“,粘进 Score;
  2. Score Performer:swing_ratio = 63,profile = keyboard,humanize = 0.3;
  3. Score Synth:在 channel_programs 里给两个声部配不同乐器——ch 0 = piano(旋律)、ch 1 = e_piano 或 jazz_guitar(伴奏);
  4. Muse Reverb(“房间”参数)→ 完成。