Nodes/ControlFoley Official/ControlFoley Save Audio
ComfyUI Node

ControlFoley Save Audio

Turn the waveform into a file

By YJX-Research·Created 2 months ago·Updated 2 months ago· 6
ControlFoley Save Audio
  • audio
  • audioUI
  • audio
  • audio_file
  • audio_path
filename_prefixcontrolfoley/output
formatwav

ControlFoley Save Audio is the last node in most ControlFoley workflows: it takes the AUDIO tensor that a Generate node hands you, writes it to disk as WAV or FLAC under ComfyUI/output/controlfoley/, and shows an inline audio player so you can check the result without leaving the UI. It's the difference between having generated audio floating in RAM and actually being able to listen, share, and reuse it.

Inputs and outputs

Inputs:

  • audio - the AUDIO tensor, almost always from ControlFoley Generate or Advanced Generate.
  • filename_prefix - default controlfoley/output. The node resolves this against ComfyUI's output directory and auto-increments a numeric suffix per run, so you get output_00001_.wav, then _00002_, and so on - no overwrites. Change the prefix to organize runs into separate files.
  • format - wav (default) or flac. That's it; MP3 is deliberately absent to keep the dependency list predictable, per the pack's own notes. WAV is the right choice for most people; FLAC if you want lossless at a smaller size.
  • audioUI (optional) - the AUDIO_UI widget input. This is a small but real piece of ComfyUI plumbing: the stock frontend only auto-creates an audio player for a hard-coded list of core node classes, so custom nodes have to declare this widget themselves for the ui.audio result to render a player. Leave it alone; it's there so you get the playback UI.

Outputs: audio (the same AUDIO tensor, passed through - and now carrying a stem so downstream muxing can pair the WAV and MP4 by name), audio_file (CONTROLFOLEY_AUDIO_FILE, the file handle with path/sample-rate/stem), and audio_path (STRING, the absolute path to what was written - handy for logging or for other nodes that need the file location).

How it fits

This node is why the pack's video workflows keep both output nodes enabled: Save Audio writes the standalone .wav, and the Video-Audio Muxer consumes this node's audio (using the shared stem) to write the paired .mp4 with the same numeric suffix. It uses soundfile under the hood, so the waveform gets written out as straightforward PCM - nothing exotic, which is exactly what you want from a save node. If you're benchmarking, note that the WAV duration should match your generated audio exactly; if the muxed MP4 ever looks longer, that's the muxer's container-timing quirk, not this node.

Install the pack via ComfyUI Manager ("ControlFoley Official") or git clone into custom_nodes + pip install -r requirements.txt (install only genuinely-missing packages one at a time). And a heads-up if you're planning to publish anything you generate: the ControlFoley weights are CC BY-NC 4.0, so your output rides on non-commercial terms too - worth a glance at the model card before you monetize.

CategoryControlFoley

Inputs (4)

NameTypeDefaultDescription
audioAUDIO
filename_prefixSTRINGcontrolfoley/output
formatCOMBOwav2 options: wav, flac
audioUIoptAUDIO_UI

Outputs (3)

NameTypeDescription
audioAUDIO
audio_fileCONTROLFOLEY_AUDIO_FILE
audio_pathSTRING