πΎ Audio Save
Where All That Noise Finally Becomes a File
- audio
- audio
- filepath
Every workflow in this pack ends the same way: you've built an unholy chain of noise generators and distortion, and you want the result as an actual file. That's AudioSave. It's the pack's output node - the one you hang at the end of the graph - and it does the job with a little more polish than the bare minimum.
What it does
You feed it an audio input, pick a filename_prefix and a format (wav or flac), and it writes the file to ComfyUI's output directory under audio/ - so you'll find your noise in ComfyUI/output/audio/, not buried in the image outputs. The filename gets a timestamp appended, so you won't overwrite previous takes. Two outputs come back: audio (the pass-through, so you can keep the signal flowing if you want) and filepath, a STRING with the full saved path - handy for wiring into something that needs to know where the file lives.
It's marked as an output node, which means ComfyUI treats it as an endpoint: your workflow "completes" here and the file appears in the UI's audio player ready to preview. That player integration is the nice touch - the node hands ComfyUI a standard ui.audio result, so the rendered sound pops up in your browser to play without hunting through your filesystem.
How it works
Under the hood it converts the audio tensor to numpy, normalizes whatever channel layout it received (it's forgiving about mono, stereo, and oddly-shaped tensors from other nodes), then writes via the soundfile library - WAV and FLAC both lossless, so no quality knob needed. It also renders a waveform preview with matplotlib and stuffs it into the output metadata. Caveat: the pack references a ./web directory for displaying that preview that doesn't actually exist in the repo, so in practice the waveform is metadata, not an in-graph picture. The audible preview in the ComfyUI player is the real feature, and it works.
The inputs that matter
Three inputs, that's it:
audio- the only one you must connect. Any AUDIO from this pack or from VideoHelperSuite will do.filename_prefix- defaults toNoiseGen_; change it per project so you can tell your takes apart.format-wavfor maximum compatibility (every DAW eats WAV),flacfor smaller lossless files. Either is fine for this kind of material.
Install
Standard for the pack:
cd ComfyUI/custom_nodes
git clone https://github.com/eg0pr0xy/comfyui_noisegen.git
cd comfyui_noisegen
pip install -r requirements.txt
Windows embedded Python: ComfyUI\python_embeded\python.exe -m pip install -r requirements.txt. Or use ComfyUI Manager and search "NoiseGen" / eg0pr0xy. No models, no keys.
Gotchas
This is the one node where the install step really isn't optional: it imports soundfile (and the pack imports scipy) directly, and neither ships with a stock ComfyUI. Skip the pip install and you'll get an ImportError, the pack won't register, and you won't even see this node in the menu. If saving suddenly throws, first suspect is that your Python environment - especially on Windows - never got the requirements. Second suspect: a tensor shape from another audio extension that the node's shape-fixing can't untangle; that path exists, but it's rare with well-behaved AUDIO inputs. Check your output folder (ComfyUI/output/audio/) if you think it saved but the player didn't show anything.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| audio | AUDIO | Audio data to save | |
| filename_prefix | STRING | NoiseGen_ | β |
| format | COMBO | wav | 2 options: wav, flac |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| audio | AUDIO | β |
| filepath | STRING | β |