2026-03-26 04:41:47 -05:00
2026-03-26 04:41:47 -05:00
2026-03-26 04:41:47 -05:00
2026-03-26 04:41:47 -05:00
2026-03-26 04:41:47 -05:00
2026-03-26 04:41:47 -05:00
2026-03-26 04:41:47 -05:00
2026-03-26 04:41:47 -05:00

ComfyUI_Matchering

A Matchering node pack for ComfyUI by marduk191.

Matchering is an audio mastering algorithm that analyses a reference track and applies its loudness, frequency balance, and dynamics to your target track — giving you a professionally matched master without manual EQ or compression.


Nodes

All nodes are found under the audio/matchering category.

Matchering

The simple one-click mastering node.

Pin Type Description
target AUDIO The track you want to master
reference AUDIO The track whose sound you want to match
Result AUDIO Mastered output (with brickwall limiter)
Result (no limiter) AUDIO Mastered output without the limiter
Result (no limiter, normalized) AUDIO Mastered output without the limiter, peak-normalized

Matchering (Advanced)

Same as above but exposes every internal parameter for fine-tuned control.

Parameter Default Description
internal_sample_rate 44100 Processing sample rate in Hz. Both inputs are resampled to this rate internally
max_length 900 s Maximum allowed audio duration in seconds
max_piece_size 15 s Max size of each analysis piece in seconds
threshold ≈0.9981 Brickwall limiter ceiling (as a linear amplitude value)
min_value 1e-6 Floor value used to avoid division by zero
fft_size 4096 FFT window size — must be a power of 2
lin_log_oversampling 4 Oversampling factor for the lin-log frequency grid
rms_correction_steps 4 Number of iterative RMS correction passes
clipping_samples_threshold 8 Samples above 0 dBFS before a clipping warning is raised
limited_samples_threshold 128 Samples near 0 dBFS before a limiting warning is raised
allow_equality False If True, target and reference can be identical audio
lowess_frac 0.0375 LOWESS smoothing fraction for the frequency curve
lowess_it 0 LOWESS robustness iterations
lowess_delta 0.001 LOWESS delta parameter
limiter_config (optional) — Connect a Matchering Limiter Config node to override limiter defaults

Matchering Limiter Config

Configures the brickwall limiter used in the default output. Connect its output to the limiter_config pin of Matchering (Advanced).

Parameter Default Description
attack 1 ms Limiter attack time
hold 1 ms Limiter hold time
release 3000 ms Limiter release time
attack_filter_coefficient -2 Filter coefficient for the attack stage
hold_filter_order 1 Filter order for the hold stage
hold_filter_coefficient 7 Filter coefficient for the hold stage
release_filter_order 1 Filter order for the release stage
release_filter_coefficient 800 Filter coefficient for the release stage

Installation

Search for ComfyUI_Matchering in the ComfyUI Manager node registry and click Install.

Manual

cd ComfyUI/custom_nodes
git clone https://github.com/marduk191/ComfyUI_Matchering
cd ComfyUI_Matchering
pip install -r requirements.txt

Requirements

The following packages are installed automatically and are not bundled with ComfyUI:

Package Purpose
soundfile>=0.11.0 Audio file I/O (used by the internal resampler)
resampy>=0.4.2 High-quality audio resampling
statsmodels>=0.13.2 LOWESS smoothing for frequency curve fitting

numpy, scipy, and torch are already provided by ComfyUI and are not listed as dependencies.


Tips

  • Both target and reference must be stereo audio. Mono inputs are automatically upmixed.
  • Audio longer than max_length (default 15 minutes) will raise an error — shorten with a Trim Audio Duration node first.
  • Processing is CPU/RAM intensive. VRAM is freed automatically before each run.
  • The three outputs let you audition the result with different dynamics treatment before committing to a save.

Credits

Matchering core algorithm by Sergree — licensed under GPLv3. ComfyUI node pack by marduk191.

S
Description
No description provided
Readme
52 KiB
Languages
Python 100%