Notify Audio
A beep when your render is done, because nobody watches the progress bar
- any
Long renders have two states: waiting, and "I alt-tabbed and now it's been done for ten minutes." The Notify Audio output node from ComfyUI-AsyncPause solves the second one - it plays a sound in your browser the moment the node executes, so a 4x upscale or a 30-image batch can tell you it's finished while you're three tabs away. It's the most low-tech quality-of-life win in this pack, and it costs you exactly nothing at runtime.
This is the output node variant: a terminal, a dead end. It takes one input and nothing comes out, so you hang it at the end of the branch whose completion you care about. Its sibling Notify Audio (Passthrough) plays the same sound but passes data through, if you'd rather drop it mid-pipeline - this one is for "I'm done."
How it works
The backend is almost embarrassingly simple: execute() just returns a dummy UI trigger. The real work is frontend JS - when the node runs, an <audio> element built into the node plays the selected file through the browser. No system sounds, no OS calls, no dependencies; it plays through whatever tab has ComfyUI open, so keep that tab audible.
Because it's all frontend, the node grows two widgets that aren't backend inputs: a sound dropdown and a volume slider. Twelve preset sounds ship with the pack - everything from a polite chime (the default) to a cartoon boing - and you can preview each one right in the dropdown. The only real schema input is the required any, which accepts anything: wire it to the image, latent, or even a string output of the node you're waiting on, purely as a trigger.
Add your own sound
If the presets aren't you, it's a three-step edit:
# 1. copy your .mp3/.wav into the pack's web/audio folder
# 2. edit web/js/sounds.js - add your file to the sounds object, e.g.
# mynoise: 'mynoise.mp3',
# 3. restart ComfyUI, pick it from the dropdown
That's it. A restart is required because the sounds list is baked into the frontend bundle at load time. There's also a Play when selected setting under Async Pause in ComfyUI's settings if you'd rather not get the preview ping every time you scroll the list.
Install
Same as the rest of the pack - zero Python dependencies, zero model downloads:
# ComfyUI Manager → Custom Nodes → search "Async Pause" → Install → restart
# or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/vilanele/ComfyUI-AsyncPause
# restart ComfyUI
If you hear nothing
First suspect is the browser tab - muted tab, or autoplay blocked, and the sound silently never fires. Unmute ComfyUI's tab. Second: the volume slider defaults to 50, and the Play when selected preview can fool you into thinking the dropdown plays on execute (it doesn't - only a real run triggers it). And since the sound plays from the node's own audio element, a node that never re-executes (ComfyUI's cache skipping an unchanged node) means no beep - the same rerun gotcha that bites the Pause node in this pack. Toggle something in the input if you need it to fire again.
Pair it with the pack's Pause node and you get the pattern the README pushes: notify before a checkpoint that you've arrived, notify after one that you can look now.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| any | * | — |
Outputs (0)
No outputs