MIDI to Audio β‘π ‘π π £π
A quick-and-dirty preview of a MIDI file, not a synthesizer replacement
- midi
- AUDIO
The author's own description on this node is refreshingly blunt, and it's worth leading with: "This will produce rudimentary approximations of MIDI notes for quick reference and nothing more. May or may not get the notes right, especially for drums." Take that at face value - this isn't a soundfont player or a real synthesizer, it's a fast way to hear roughly what's in a MIDI file without leaving ComfyUI to open a DAW.
What it does
Feed it a midi input (you'll need a MIDI loader node upstream to produce it - this pack pulls in mido, the standard Python MIDI library, for parsing MIDI data), pick an instrument_type (Piano, Synth, Bass, or Drums), set sample_rate and volume, and it synthesizes a simple waveform per note using that instrument choice. There's no sample library or real instrument model behind it - it's a basic synth voice standing in for each note.
That's exactly why drums are the weak point the author calls out specifically: real drum sounds (kick, snare, hi-hat) aren't tonal in the way piano or bass notes are, they're distinct percussive timbres mapped to different MIDI note numbers. A generic synth voice can't fake a snare hit convincingly the way it can fake a bass note - so expect drum output here to sound like a buzzy approximation, not a drum kit.
Inputs and outputs
midi- MIDI data from an upstream loader.instrument_type-Piano,Synth,Bass, orDrums.sample_rate(8000-192000, default 44100) andvolume(0.0-1.0, default 0.5).
Output is a single AUDIO.
What it's actually good for
Sanity-checking timing and note content - did the MIDI file actually contain the melody you expected, are the notes landing where you think they are - without needing separate software. Feed a MIDI file's notes through a feature extractor elsewhere in the pack, use this node to quickly confirm the source data looks right, then generate your real audio output (through ACE-Step, a proper sample library, or whatever your actual pipeline is) separately once you trust the MIDI.
Installing it
ComfyUI Manager: search RyanOnTheInside, install, restart. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/ryanontheinside/ComfyUI_RyanOnTheInside
cd ComfyUI_RyanOnTheInside
pip install -r requirements.txt
mido is already in this pack's requirements.txt, so a normal pack install covers it - no separate step needed.
Where people get burned
If a rendered instrument sounds off - thin, buzzy, or drums that sound nothing like drums - that's the documented behavior, not a bug worth chasing. Don't use this node's output as your final audio; use it purely as a reference pass before committing to real synthesis or sample-based rendering elsewhere.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| midi | MIDI | β | |
| instrument_type | COMBO | 4 options: Piano, Synth, Bass, Drums | |
| sample_rate | INT | 441008000β192000 | β |
| volume | FLOAT | 0.500β1 | β |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| AUDIO | AUDIO | β |