VAE Decode Audio (Tiled)
Decode long audio latents without blowing up your VRAM
- samples
- vae
- AUDIO
VAEDecodeAudio decodes a latent back into an AUDIO waveform. VAEDecodeAudioTiled does the same thing, except it chews through the latent in overlapping chunks along the time axis and stitches the results, which keeps peak memory bounded. If you've ever used VAEDecodeTiled for big images, this is the exact same idea pointed at sound.
Why would you need it? Because audio VAEs - Stable Audio's, MiniMax H3's, LTX-2's audio VAE - encode long audio into latents that span a lot of time. Decoding a whole minutes-long latent in one shot makes the VAE try to reconstruct everything at once, and at high resolution that's a fast way to hit a CUDA out-of-memory error on mid-range cards. Tiling means the decode is never bigger than one tile plus its overlap, regardless of how long the clip is.
How it works
The node walks the latent in tile_size chunks with overlap of blending between neighbors, so tile boundaries don't show up as audible seams, then reassembles the waveform. After the VAE decode it also normalizes the output - dividing by a multiple of the signal's standard deviation with a floor to avoid near-silence - which is the same post-processing the non-tiled audio decode applies. It returns an AUDIO object carrying the sample rate from the VAE itself, so downstream save/playback nodes know what they're holding.
Inputs that matter
- samples (LATENT) - the audio latent, e.g. from
VAEEncodeAudioor an audio-generating model. - vae (VAE) - the audio VAE you encoded with. Match them; an image VAE will reject the shape.
- tile_size (INT, 32–8192, default 512, step 8) - latent samples per tile. Lower it if you're OOMing.
- overlap (INT, 0–1024, default 64, step 8) - how much adjacent tiles share. Raise it if you hear seams or clicks at tile boundaries.
Output: one AUDIO object.
How you get it
Ships with ComfyUI core - no install, no Manager. It lives in the audio-nodes file that's been part of core since the Stable Audio support era, so any reasonably recent ComfyUI has it.
Where people get burned
First: this node assumes you already have an audio latent and the right audio VAE. Those are two separate downloads with their own loaders - the audio VAE is not baked into an image checkpoint, and an image latent fed here fails immediately. Get the pairing right: encode with the same audio VAE you decode with.
Second, the settings trade-off. Tiles too small with too little overlap and you'll hear the seams. Tiles too big and you've defeated the point and may OOM anyway. The defaults (512 tile, 64 overlap) are a sane middle; if you're decoding something very long, drop tile_size first before touching anything else.
And a practical expectation: tiled audio decode won't rescue bad audio. If the model's output is tinny or artifact-laden - LTX-2's generated sound has a reputation for exactly this - that's the model's doing, not the decoder's. This node just gets you the waveform in one piece.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| samples | LATENT | — | |
| vae | VAE | — | |
| tile_size | INT | 51232–8192 | — |
| overlap | INT | 640–1024 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| AUDIO | AUDIO | — |