Comfy-Org/ComfyUI · error · ValueError
Minimum cutoff must be larger than zero.
Error message
Minimum cutoff must be larger than zero.
What it means
MMAudio VAE copy of the alias-free LowPassFilter1d: raises when cutoff < 0. Cutoff is normalized (0..0.5 relative to Nyquist) for the Kaiser sinc filter, so negative values are rejected at module construction. Config-driven: the value normally comes from the VAE's JSON config.
Source
Thrown at comfy/ldm/mmaudio/vae/alias_free_torch.py:70
filter_ /= filter_.sum()
filter = filter_.view(1, 1, kernel_size)
return filter
class LowPassFilter1d(nn.Module):
def __init__(self,
cutoff=0.5,
half_width=0.6,
stride: int = 1,
padding: bool = True,
padding_mode: str = 'replicate',
kernel_size: int = 12):
# kernel_size should be even number for stylegan3 setup,
# in this implementation, odd number is also possible.
super().__init__()
if cutoff < -0.:
raise ValueError("Minimum cutoff must be larger than zero.")
if cutoff > 0.5:
raise ValueError("A cutoff above 0.5 does not make sense.")
self.kernel_size = kernel_size
self.even = (kernel_size % 2 == 0)
self.pad_left = kernel_size // 2 - int(self.even)
self.pad_right = kernel_size // 2
self.stride = stride
self.padding = padding
self.padding_mode = padding_mode
filter = kaiser_sinc_filter1d(cutoff, half_width, kernel_size)
self.register_buffer("filter", filter)
#input [B, C, T]
def forward(self, x):
_, C, _ = x.shape
if self.padding:
x = F.pad(x, (self.pad_left, self.pad_right),View on GitHub (pinned to 1c6d8d45b3)
Solutions
- Set cutoff in [0, 0.5] (default 0.5)
- Inspect the VAE config JSON used to build the alias-free modules
- Restore the original config shipped with the MMAudio checkpoint
Example fix
# before LowPassFilter1d(cutoff=-0.1) # after LowPassFilter1d(cutoff=0.1)
Defensive patterns
Strategy: validation
Validate before calling
for stage in cfg.get('stages', []):
c = stage.get('cutoff', 0.5)
assert 0.0 <= c <= 0.5, f'bad cutoff {c} in stage {stage}' Type guard
def is_valid_cutoff(c: float) -> bool:
return isinstance(c, (int, float)) and 0.0 <= c <= 0.5 Prevention
- Validate VAE configs before constructing alias-free modules
- Never use -1 sentinels for cutoff in configs
When it happens
Trigger: Constructing the MMAudio VAE with a config where any alias-free stage has a negative cutoff, or instantiating LowPassFilter1d directly with cutoff < 0.
Common situations: Editing mmaudio VAE config to tune anti-aliasing; porting configs between BigVGAN-family repos with different cutoff conventions; sentinel defaults (-1) leaking into config.
Related errors
- A cutoff above 0.5 does not make sense.
- Minimum cutoff must be larger than zero.
- A cutoff above 0.5 does not make sense.
- activation incorrectly specified. check the config file and
- Unknown model: {name}
AI-assisted analysis of Comfy-Org/ComfyUI@1c6d8d45b3 (2026-08-14).
Data as JSON: /api/errors/81372275c32354ae.
Report an issue: GitHub.