Muse Ambient Audio Generator
Muse Ambient Audio Generator
- model
- clip
- audio_vae
- base_model
- audio
Ever wanted a clip of coffee-shop chatter, wind, or crowd murmur to layer under a video without having to find, download, and license an audio file? That's exactly what this node is for. MuseAmbientAudioGenerator extracts the ambient-audio pass that the Director nodes run internally and lets you run it on its own - a pure text-to-ambience generation with no video attached.
The neat part is that it was always text-only under the hood. The Director's ambient pass builds a video latent from an all-zero placeholder (never real rendered frames), so it never depended on a video generation running first. This node just makes that explicit. Give it a description, get back an AUDIO clip.
How it works
The mechanism is a mini LTX audio-sampling pipeline: it tokenizes your description (auto-extracting the [SOUNDS] tag if you paste a full prompt), builds a zeroed video latent plus an audio latent with a full noise mask, runs a small euler sampler pass with the audio VAE's decoder, and hands you back a {"waveform", "sample_rate"} dict in the standard AUDIO format. placeholder_width/placeholder_height exist only to size the dummy video latent - the content is discarded, which is why the tooltip tells you to keep them small.
One thing to understand before you get excited: it generates continuous ambience, not event sounds. There's no visual context, so it can't sync a splash to a splash. You get waves, wind, birdsong, crowd murmur. The source code says as much, and it's a fair description.
Inputs that matter
sounds_text- the whole ballgame. Plain description ("quiet forest, birdsong, distant stream") or a full prompt with a[SOUNDS]tag, which it auto-extracts. Remember LTX tags must be uppercase.base_model(optional) - this is the one people trip on. Wire a plainUNETLoaderoutput (no talking-head LoRA) here. The talking-head LoRA suppresses ambient content, so if you leave this unconnected it falls back tomodeland you get weak or silent room tone.duration_seconds(default 5, max 60),steps(default 12),cfg(default 1),seed- the usual suspects. Distilled flow-matching, so CFG 1.
Output is a single audio socket. Wire it into a preview node, a Video Combine that takes audio, or the bg_audio input of the Director nodes.
Installing it
Same pack as the rest of Muse's LTX tooling - muse-ltx-timeline:
cd ComfyUI/custom_nodes
git clone https://github.com/muse-collective-26/muse-ltx-timeline
Restart, then make sure the Python deps are in place:
pip install av torchaudio soundfile
This node is one of the WIP modules the pack loads in a try/except - if a dependency is missing you'll just see it missing from the node list rather than the whole pack failing to load. And it needs the LTX audio stack: the ltx-2.3-22b-distilled_audio_vae.safetensors in models/vae/, the 22B transformer, and the Gemma 3 text encoder.
Gotchas
- The talking-head LoRA silence trap. If you generate silence, this is why. Feed
base_modela LoRA-free UNETLoader output. - The decoded audio is resampled to 44.1kHz. Fine for room tone, not a mastering tool - if you need a clean mix bus, render it and process in your DAW.
- Keep
duration_secondsmodest; this is a placeholder-latent pass so it's cheap, but there's no reason to generate a minute of ambience if you'll only use ten seconds of it.
Honestly, for the price of free you get a genuinely useful little tool that slots into the bg_audio track of any Muse Director workflow - and it's the only node in this pack that generates sound with no video attached at all.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| clip | CLIP | — | |
| audio_vae | VAE | — | |
| sounds_text | STRING | Plain ambient description, or a full prompt containing a [SOUNDS] tag (auto-extracted). | |
| duration_seconds | FLOAT | 5.00.5–60 | — |
| frame_rate | FLOAT | 24.001–120 | — |
| steps | INT | 121–50 | — |
| cfg | FLOAT | 1.00–20 | — |
| seed | INT | 420–18446744073709550000 | — |
| placeholder_width | INT | 51264–2048 | Dummy video-latent size — content is discarded, kept small for speed. |
| placeholder_height | INT | 28864–2048 | — |
| base_modelopt | MODEL | Base model without talking-head LoRA. Connect the UNETLoader output directly here — the LoRA suppresses ambient content. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| audio | AUDIO | — |