Nodes/ComfyUI MIDI Edit/MIDI Synthesize Audio
ComfyUI Node

MIDI Synthesize Audio

Synthesize singing voice from MIDI JSON and a reference audio using SoulX-Singer. The MIDI JSON provides the TARGET lyrics, phonemes, duration, pitch, and F0 data. The prompt audio provides the target voice timbre. Prompt Metadata (optional but recommended): metadata describing the prompt audio's real acoustic content. For best results and to avoid re-running preprocessing every time, run 'MIDI Transcribe Audio' on the prompt (reference) audio and connect its midi_json output here. When left empty, the node preprocesses the prompt audio internally to obtain matching metadata. Control mode: 'melody' uses the F0 contour (default, matches upstream), 'score' uses MIDI note pitches. Control strategy: choose 'melody' when the target has a real vocal F0 (e.g. lyrics edited from a vocal source) for a timbre closer to the prompt; choose 'score' when the target is a score / instrumental without a reliable F0, for clearer diction. FP16: OFF/FP32 (default) matches the reference implementation and is safest for quality; ON/FP16 enables autocast mixed precision on GPU for speed. cfg (default 3): classifier-free guidance scale. Raise toward 4-5 in melody mode if diction is muddy (stronger adherence to lyrics/phonemes); too high may cause over-saturation / artifacts. n_steps (default 32): flow-matching reverse-diffusion steps. Higher slightly improves quality at the cost of speed. (rescale_cfg is not exposed — upstream SoulXSinger.infer does not accept it.)

By ahkimkoo·Created 2 months ago·Updated 2 months ago· 3
MIDI Synthesize Audio
  • prompt_audio
  • audio
midi_json
prompt_metadata
controlmelody
seed12306
auto_shifttrue
pitch_shift0
use_fp16false
cfg3.0
n_steps32
CategoryMIDI-SoulX

Inputs (10)

NameTypeDefaultDescription
midi_jsonSTRING
prompt_audioAUDIO
prompt_metadataoptSTRING
controloptCOMBOmelody2 options: melody, score
seedoptINT123060–2147483647
auto_shiftoptBOOLEANtrue
pitch_shiftoptINT0-36–36
use_fp16optBOOLEANfalse
cfgoptFLOAT3.01–10
n_stepsoptINT328–128

Outputs (1)

NameTypeDescription
audioAUDIO