ComfyUI Extension: ComfyUI_Matchering
Run ComfyUI workflows without the setup
No installs, no CUDA version roulette, no GPU sitting idle on your bill. Bring a workflow and run it in the browser.
A Matchering audio mastering/matching node for ComfyUI.
Looking for a different extension?
Custom Nodes (3)
README
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
Via ComfyUI Manager (recommended)
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.
Run ComfyUI workflows without the setup
No installs, no CUDA version roulette, no GPU sitting idle on your bill. Bring a workflow and run it in the browser.