Nodes/ComfyTV/Muse Reverb (FDN)
ComfyUI Node

Muse Reverb (FDN)

Algorithmic reverb with all the knobs a hall deserves

By jtydhr88·Created 3 months ago·Updated about 15 hours ago· 725
Muse Reverb (FDN)
  • audio
  • video
  • audio
force_run_token0
project_id
parent_output_id0
reverb_time_ms2200
room_scale0.80
predelay_ms10
dry_db0.0
late_db-14.0
er_db-14.0
time_low100
time_high60
xover_low_mid400
xover_mid_high4000
feedback_top8000
mod_freq1.00
mod_amp0.20
stereo_spread100
quality16

Dry audio sits "right in your face." Reverb puts it in a room. Muse Reverb is ComfyTV's algorithmic answer - a feedback delay network (FDN) reverb, the same family of algorithm MuseScore uses, which means it synthesizes a dense, natural-sounding tail without needing an impulse response file. You don't download anything, you don't capture your closet, you just turn knobs. (If you want real spaces, the pack also ships Audio Convolve + a room-capture toolchain; this node is the "I need ambience now" option.)

It takes a COMFYTV_AUDIO snapshot - or a COMFYTV_VIDEO, whose audio track it uses - and outputs processed COMFYTV_AUDIO. In the music chain it's the last stop before finished audio: Score → Score Performer → Score Synth → Muse Reverb → done.

The knobs that actually matter

The full schema is intimidating (sixteen reverb parameters), so here's the short version. Reverb physically has three layers - direct sound, early reflections (your instinct for room size), and late reverb (the "how wet" tail) - and this node splits the levels accordingly:

  • reverb_time_ms - RT60, how long the tail takes to decay 60 dB. Default 2200. Small room 400–800, concert hall 1500–2500, cathedral 4000+.
  • late_db - the main wetness knob. Default -14; up = wetter.
  • room_scale - room size (default 0.8). Bigger = farther, emptier.
  • predelay_ms - gap between dry and first reflection. 30–80 keeps a soloist "up front" while still giving space.
  • dry_db / er_db - direct and early-reflection levels. dry_db usually stays at 0; er_db up = a more defined room.
  • time_low / time_high - frequency-dependent decay. time_high below 100 (default 60) is the "highs die first" realism knob; time_low above 100 warms the low tail but can get muddy.
  • feedback_top - high-frequency damping cutoff in the feedback loop. Lower = darker, more vintage.
  • mod_freq / mod_amp - delay-line modulation. A touch (amp ≈ 0.2) kills metallic ringing; more gives a chorus-like shimmer.
  • stereo_spread - width; 0 = mono reverb. Default 100.
  • quality - number of FDN delay lines, 8 or 16. 16 is denser and smoother; 8 is cheaper.

Three starting points from the pack's own docs: Room (700ms, 0.7 scale, -18 late) for pop backing, Concert hall (2200ms, 1.2, -14) for solo piano, Cathedral (4500ms, 2.5, -10) for choir/ambient. Start there and adjust late_db; don't touch all sixteen on day one.

Install

Pack-wide one-liner:

cd ComfyUI/custom_nodes
git clone https://github.com/jtydhr88/ComfyTV

Restart ComfyUI - on Desktop/macOS that means cloning into the running instance's custom_nodes by absolute path and verifying __init__.py at the top level; a browser refresh isn't a restart. ComfyUI Manager finds it as "ComfyTV". Zero extra Python dependencies.

The gotcha to remember is ComfyTV's snapshot model: the audio output is a project snapshot, not a native ComfyUI AUDIO tensor. To feed native audio nodes you insert a Bridge. And if you wire in a video, you get its audio track - that's a feature, not a bug, for scoring a clip without demuxing first. One source is required; the node won't reverb nothing.

CategoryComfyTV/AudioFX

Inputs (20)

NameTypeDefaultDescription
force_run_tokenINT00–2147483647Internal — bumped on Run to invalidate ComfyUI's input cache.
project_idSTRINGInternal — populated by the projectStore on the frontend.
parent_output_idINT00–2147483647Internal — lineage parent set by spawn handlers on the frontend.
reverb_time_msFLOAT2200100–10000
room_scaleFLOAT0.800.5–4
predelay_msFLOAT100–500
dry_dbFLOAT0.0-60–6
late_dbFLOAT-14.0-60–6
er_dbFLOAT-14.0-60–6
time_lowFLOAT10050–200
time_highFLOAT6050–200
xover_low_midFLOAT40050–500
xover_mid_highFLOAT40001000–10000
feedback_topFLOAT8000500–20000
mod_freqFLOAT1.000–10
mod_ampFLOAT0.200–1
stereo_spreadFLOAT1000–150
qualityCOMBO162 options: 8, 16
audiooptCOMFYTV_AUDIO
videooptCOMFYTV_VIDEO

Outputs (1)

NameTypeDescription
audioCOMFYTV_AUDIO