MMAudioSuite ModelLoader
The MMAudio diffusion-model loader, minus the original pack's footguns
- mmaudio_model
If you've ever finished a Wan or Hunyuan render and wished the silent clip made noise, this is where that starts. MMAudio is the flow-matching model that takes your video frames and turns them into a matching soundtrack - the KB calls it the foley workhorse, and it really is: it's the standard final audio stage for local video pipelines. MMAudioSuiteModelLoader is the "checkpoint loader" of that pipeline. It loads the MMAudio diffusion model itself, and everything else in the pack hangs off its output.
There's a story behind why you'd use this pack instead of the original wrapper. ComfyUI-MMAudio was Kijai's node set, and it served everyone for a long time - until it quietly stopped tracking newer ComfyUI versions. The community noticed: "seems MMAudio is not supported anymore with the latest version of ComfyUI." This suite is a fix-fork by Takenoko3333 that applies the upstream bug-fix PR (pr52) and tidies the loaders. Same model, fewer headaches.
How it works
The loader reads a .safetensors from ComfyUI/models/mmaudio and does two genuinely useful things the original pack didn't:
- Auto-detects which MMAudio you're holding. It checks the shape of
audio_input_proj.0.biasin the weights: 448 channels means the small model (7 heads, 12 layers), 896 means the large one (14 heads, 21 layers). It also sniffs thet_embedweights to tell v1 from v2. No separate "small vs large" dropdown to get wrong - you just pick the file. - Keeps it off your GPU until sampling. Weights load onto the offload device at your chosen precision and stay there. The actual VRAM hit happens later, in the Sampler, when the model is JIT-moved to the card and offloaded again after. That lazy-loading behavior is one of the practical reasons this fork is friendlier than the original, which grabbed VRAM early.
One quirk worth knowing: it peeks at the filename for 44 or 16 to pick the right sequence config (CONFIG_44K vs CONFIG_16K). That's how it knows the token layout for the sample rate. Keep the sample rate in the file name, and don't rename models to something clever.
The inputs and output that matter
- mmaudio_model - a dropdown of everything in
ComfyUI/models/mmaudio. Pickmmaudio_large_44k_v2_fp16.safetensorsfor the standard 44.1 kHz path. - base_precision -
fp16is the default and the right call. Reach forfp32only if you're debugging garbage output;bf16if you're on an RTX 40-series or AMD card and want the same quality with a touch less memory pressure.
The single output is mmaudio_model (type MMAUDIO_MODEL), which feeds the MMAudioSuite Sampler node's mmaudio_model input. That's the whole wiring story.
Install and models
ComfyUI Manager (search "ComfyUI-MMAudio-Suite") or the manual route:
cd ComfyUI/custom_nodes
git clone https://github.com/Takenoko3333/ComfyUI-MMAudio-Suite.git
then restart ComfyUI. On the Windows portable build, if dependencies don't auto-install, run python_embeded\python.exe -m pip install -r ComfyUI\custom_nodes\ComfyUI-MMAudio-Suite\requirements.txt - that pulls librosa, torchdiffeq, einops, timm, omegaconf, open_clip_torch, accelerate and ftfy. librosa drags in numba, which is the slow part of the install; give it a minute.
Models live in ComfyUI/models/mmaudio and come from Kijai's safetensors repo on HuggingFace - this pack is a wrapper, not a model author. The big file, mmaudio_large_44k_v2_fp16.safetensors, is roughly 2 GB. If the node shows an empty dropdown, that folder is empty; nothing to configure until the files are there.
Where people get burned
The classic failure is the empty dropdown - models not downloaded. After that, the "only 2 seconds of audio" complaint people hit in the original wrapper usually traces back to the Sampler's duration, not this loader. And because detection is automatic, a corrupt or mismatched weight file will error loudly at load time rather than silently misbehave later. That loud failure is a feature; read the console, check the filename, try fp32 once if the output is noise.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| mmaudio_model | COMBO | These models are loaded from the 'ComfyUI/models/mmaudio' -folder | |
| base_precision | COMBO | fp16 | 3 options: fp16, fp32, bf16 |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| mmaudio_model | MMAUDIO_MODEL | — |