ComfyUI Node

⏰Ding Dong

Your render's done and it's loud about it

By lgldlk·Created 2 years ago·Updated 2 months ago· 81
⏰Ding Dong
  • anything
  • output
musicringtone1.mp3
volume100

The whole point of the ComfyUI-PC-ding-dong pack is to stop you staring at a progress bar, and pc ding dong (⏰Ding Dong) is its main event: a node that plays a sound file the moment execution reaches it. Drop it at the end of your graph, wire your finished image into its anything input, and you get an audible "your stuff is ready" instead of babysitting a long render. The author's framing is pizza-oven, and it's honestly accurate - ding, dinner's done.

How it actually works

Here's the thing almost everyone misses: the sound is played by your browser, not by Python. When the node runs, the backend fires a websocket message (pc.play_ding_dong_mui) carrying the music file and volume, and the pack's frontend JavaScript picks it up and plays it with the browser's Audio element. The server just serves the mp3 over a little /pc_get_audio route. No PyAV, no pygame, no sound library on the server - pure frontend.

That design choice has a consequence you should know before you rely on it: if you queue jobs from the API, or your ComfyUI browser tab is closed, the bell is silent. It's a notification for a human sitting at the UI, not a server-side event.

There's a second, sneakier mechanism worth knowing about. The pack monkey-patches ComfyUI's PromptQueue.task_done the moment it loads, so it can chime when a queued workflow finishes even if this node never appears in your graph. That's configured in Settings → ⏰Ding_Dong: pick a success sound and a failure sound, set volume, and choose "play type" - all (wait until the whole queue is done, one chime) or one (chime after each workflow). The global hook is the lazy option; the node is the deliberate one, for when you want the sound at a precise spot in a specific workflow with a specific file and volume.

Inputs and outputs

  • music - a dropdown of the ten files bundled with the pack: ringtone1ringtone6.mp3, is18age.MP3, Let's speak Chinese.MP3, and two .wav files whose names are best left untranslated. Default is ringtone1.mp3. You can upload your own audio through Settings → upload file; it lands in the pack's video/ folder and shows up in this dropdown (mp3, wav, and a few video formats are accepted).
  • volume - 0–100, default 100. It's a percentage; the frontend maps it down to the browser's 0–1.
  • anything - this is the input that trips people up, because it's required but has no type. It's an any-type passthrough: wire in whatever you've got - a decoded image, a latent, a string - and it comes right back out the output untouched. It exists so the chime fires at the exact moment the data you care about is ready, and so the node can sit in the data path as an output node that marks the workflow complete. Don't try to leave it unconnected.

The single output, output, is just that passthrough. Nothing is transformed; the node is a checkpoint with a soundtrack.

Installing it

The README's instructions are minimalist - download, drop in custom_nodes, restart - and with this pack that's genuinely all there is. No requirements.txt, no model downloads, no API key. Use ComfyUI Manager and search ComfyUI-PC-ding-dong, or:

cd ComfyUI/custom_nodes
git clone https://github.com/lgldlk/ComfyUI-PC-ding-dong

then restart ComfyUI.

The catch

It's old. As of 2026 this pack hasn't been meaningfully updated in a couple of years, which matters for anything that hooks ComfyUI's internals and frontend the way this does - ComfyUI's Nodes 2.0 frontend rewrite has already broken packs with far better maintenance. If this one works for you, great; it's a tiny pack and it probably will. If it starts acting up on a newer ComfyUI, the community's maintained alternative is comfyui-ping, which does the same browser-tab "workflow finished" chime with more settings. Nice while it lasts, and the replacement is ready.

Category😱 PointAgiClub

Inputs (3)

NameTypeDefaultDescription
musicCOMBOringtone1.mp310 options: is18age.MP3, Let's speak Chinese.MP3, ringtone1.mp3, ringtone2.mp3, ringtone3.mp3, ringtone4.mp3, +4
volumeFLOAT1000–100
anything

Outputs (1)

NameTypeDescription
output