Nodes/ComfyUI_AceNodes/πŸ… Audio Save
ComfyUI Node

πŸ… Audio Save

Write generated audio to disk as wav, mp3, or flac β€” with auto-numbering

By hay86Β·Created 2 years agoΒ·Updated about a year agoΒ· 96
πŸ… Audio Save
  • audio
    β—„sample_rateβ€”β–Ί
    β—„filename_prefixComfyUIβ–Ί
    β—„extensionwavβ–Ί

    Every audio pipeline ends the same way: you need the thing on disk, not trapped in a graph. ACE_AudioSave is the terminal node for Ace Nodes' audio chain - it takes the samples and sample rate from ACE_AudioLoad (or any audio generation node that speaks the same format), picks a format, and writes a file into ComfyUI's output folder with auto-numbering so you never overwrite a previous run. Same job Save Image does for pixels, done for sound.

    It's part of πŸ… Ace Nodes (hay86/ComfyUI_AceNodes), the usual one-author grab-bag.

    How it works

    Inputs:

    • audio - the raw samples.
    • sample_rate - required; wire it from the loader or generator so the file is written at the correct rate (getting this wrong makes everything play at chipmunk or sloth speed).
    • filename_prefix - default ComfyUI. Files land in ComfyUI/output as <prefix>_00001.wav (or whatever extension you picked), with the counter auto-incremented past any existing files with the same prefix. Use a descriptive prefix if you generate a lot.
    • extension - wav, mp3, or flac. WAV is the safe default (lossless, universally supported); use mp3 for smaller files to send around, flac for archival-quality with compression.

    It's an output node with no outputs - the file is the result. After a run you'll find it in the output folder, browsable from ComfyUI's UI.

    The two things to know

    The format split, again. Like ACE_AudioPlay, this node expects the "raw samples + separate sample-rate integer" convention that ACE_AudioLoad produces. It will not accept the standard {"waveform", "sample_rate"} dict - so if your audio comes from a dict-producing node (including this pack's own ACE_AudioCrop), you'll need to bridge formats before saving. It's a genuine wart in this pack's audio section: Load and Save agree with each other, Crop doesn't.

    mp3 quality isn't tunable. The node writes mp3 with soundfile's defaults - no bitrate slider. Fine for voice and most music; if you care about the last bit of quality, save as WAV.

    Installing

    ComfyUI Manager β†’ search ComfyUI_AceNodes, or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/hay86/ComfyUI_AceNodes
    

    Then restart. This node needs soundfile from the pack's requirements.txt; Manager installs the full heavy list (transformers, rembg, insightface, openai, boto3, oss2, …) whether you use it or not.

    Where it fits: the natural end of a TTS or music-generation graph - generate, listen via ACE_AudioPlay, and save the keepers with this node. If you're using VideoHelperSuite for audio, its own save node covers similar ground in the dict format, so pick the save node that matches the format your generator actually emits and stop there.

    CategoryAce Nodes

    Inputs (4)

    NameTypeDefaultDescription
    audio*β€”
    sample_rateINTβ€”
    filename_prefixSTRINGComfyUIβ€”
    extensionCOMBOwav3 options: wav, mp3, flac

    Outputs (0)

    No outputs