Detect Watermark
The tiny node that tells you if a clip is watermarked
- audio
- BOOLEAN
Detect Watermark is the pack's quiet utility node: it takes an AUDIO clip and returns a BOOLEAN saying whether that clip carries a PerTh watermark. That's the invisible watermark the other two nodes in this pack apply to their output by default - the one you disable with disable_watermark when you don't want it. This node is the flip side of that switch.
Why would you care? Two reasons. The obvious one: if you've been generating with watermarking on, you can check a clip before it goes into a downstream step (or before you hand it off) and know for sure whether it's marked. The less obvious one: because PerTh watermarks are shared with other Chatterbox-based tools, this is also a way to spot-check whether an audio file you were given came out of that pipeline. It's a "is this AI-spoken by this model family" test, not a universal detector - don't expect it to recognize every TTS watermark on the planet.
The mechanism
Nothing fancy: the node converts your audio to mono, runs it through PerTh's get_watermark(), and returns True when the extracted watermark is near 1.0 (or above 0.5). Feed it clean, unwatermarked audio and it returns False. It's a Boolean output, so you can wire it into a switch node or anything else that gates on a yes/no - though honestly, for most people it's a manual sanity check you'll run a handful of times.
Install
It ships in the same pack as Voice Clone and Voice Replace, so install is identical: search "ComfyUI Voice Clone" in ComfyUI Manager, or git clone https://github.com/Sean-Bradley/ComfyUI-Voice-Clone.git into custom_nodes, pip install -r requirements.txt, restart. The model files in ComfyUI/models/tts/chatterbox/ aren't needed just to detect - this node only touches the perth dependency - but you'll want them anyway if the rest of the pack is running.
Honest verdict
With zero impressions, this node isn't exactly the crowd favorite, and it doesn't need to be. It's a one-input-one-output utility that answers one question, and once you've answered it a few times you may never think about it again. That's fine. What it does tell you is that the pack's watermarking is real and detectable - which is the thing to remember when you're deciding whether to leave disable_watermark off for a final export. If provenance matters for your output, leave the watermark on and let this node be your verification.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| audio | AUDIO | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| BOOLEAN | BOOLEAN | — |