Audio Latent Decoder (S42)
Get sound back out of an audio latent (and the silence trap waiting for you)
- latent
- vae_model
- AUDIO
This is the second half of the pack's audio-latent round-trip. AudioLatentDecoder takes a LATENT and a vae_model and produces AUDIO - the "decode" in the encode→mangle→decode chain that lets you edit music in latent space instead of as a waveform. Its sibling S42_AudioLatentEncoder does the compression side; this one un-compresses.
The mechanism is about as direct as it gets: it hands the latent's samples to vae_model.decode() and wraps whatever comes back into a standard ComfyUI AUDIO dict at 44.1 kHz. That's the whole node. Which means the entire question of whether it works comes down to which VAE you plug in - and this is where people get burned.
The tooltip says "The Audio VAE model," and it means it. This node does not work with the image VAE you already have loaded. The way the code is written, if your VAE has no decode() method that accepts this shape, it doesn't error out - it silently returns a waveform of zeros. You will happily decode, feed the result to a preview node, and hear nothing, with zero indication anything went wrong. That is the single most likely failure mode here, and it's a nasty one because it presents as "the pack is broken" when it's actually "wrong VAE attached."
So the practical guidance is blunt: this node only does something useful if you can supply a VAE that actually decodes audio latents - an ACE-Step audio VAE, an LTX audio VAE, that class of thing. The pack doesn't ship one and doesn't download one. The fallback path (zero-filled waveform) exists so the graph doesn't crash, not so you can ship a track.
Where it does fit: once you have a working encoder (again, requiring a real audio VAE with an .encode() method) plus something like S42_AceStepLatentModifier or S42_AudioVisualSynesthesia producing an audio-shaped latent, this node closes the loop and gives you a listenable AUDIO output you can pipe into the pack's trim/sync nodes or out to a saver.
Installing it
Standard S42-CutFlow install. ComfyUI Manager → search "S42 CutFlow" → Install → restart, or:
cd ComfyUI/custom_nodes
git clone https://github.com/GeekyGhost/S42-CutFlow.git
pip install -r S42-CutFlow/requirements.txt
That's a one-line requirements file (opencv-python-headless); the decode itself runs through torch/torchaudio already bundled with ComfyUI. The "[S42 CutFlow] Loaded ..." console line confirms the pack registered.
Before you wire it up
Check that your VAE genuinely has a working audio decode path - if you're not sure, test the encoder→decoder round-trip with a short clip first and listen to the result before you build a workflow on it. A real audio VAE in, a real track out; an image VAE in, silence out with no error message. Know which one you're holding.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| latent | LATENT | The modified audio latent to decode. | |
| vae_model | VAE | The Audio VAE model. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| AUDIO | AUDIO | — |