Nodes/Dehypnotic/🧘 BrainwaveSync (Dehypnotic)
ComfyUI Node

🧘 BrainwaveSync (Dehypnotic)

Draw a curve, get 20 minutes of brainwave audio

By DehypnoticΒ·Created about a month agoΒ·Updated 9 days agoΒ· 4
🧘 BrainwaveSync (Dehypnotic)
    • audio
    β—„carrier_hz200β–Ί
    β—„beat_modeIsochronicβ–Ί
    β—„volume1.00β–Ί
    β—„sample_rate44100β–Ί
    β—„points_json[{"time":0,"hz":1.0},{"time":600,"hz":4.5},{"time":1200,"hz":1.0}]β–Ί

    BrainwaveSync is the node you reach for when your ComfyUI workflow suddenly needs to sound like something. It synthesizes brainwave-entrainment audio - isochronic pulses or binaural beats - from a frequency-over-time graph you draw right on the node, and hands you a standard AUDIO output you can save or mix anywhere.

    Let's get the science caveat out of the way, because this is the one node in the pack where the marketing outruns the evidence. Binaural beats are real as a perception: play 200 Hz in one ear and 204 Hz in the other, and your brain reports a beat at the 4 Hz difference that isn't physically in the audio. Whether that measurably "entrains" your brainwaves is genuinely contested. The community has basically nothing to say about this node or isochronic audio in ComfyUI at all (the reddit corpus returns zero hits), which tells you this is a niche corner of an audio layer that only recently got bolted onto an image-first tool. Use it for meditation tracks, ambient YouTube filler, or because it's fun to tinker with. Don't cancel your sleep doctor over it.

    How it works

    The beat frequency over time is a curve defined by a handful of (time, hz) control points, serialized into a JSON string. The default is a 20-minute session sweeping 1 Hz β†’ 4.5 Hz β†’ 1 Hz - a classic "gentle alertness" curve. Everything is pure numpy synthesis: no ML, no model download, no GPU. It's fast.

    • Isochronic mode: mono audio - a carrier tone at carrier_hz, amplitude-modulated by a triangular pulse envelope that pulses at the beat frequency (on half the time, off half).
    • Binaural mode: stereo audio - the left channel gets carrier_hz, the right gets carrier_hz + beat. The beat only exists when you have both channels in your ears.

    Inputs and outputs that matter

    • carrier_hz (20–2000, default 200) - the base tone everything sits on. Pick something your headphones reproduce cleanly; the classic is 100–300 Hz.
    • beat_mode - Isochronic or Binaural.
    • volume (0–1) and sample_rate (default 44100) - set the sample rate to what you'll actually deliver; 44.1 or 48 kHz is plenty for this.
    • points_json - you won't hand-edit this normally; the graph editor writes it for you. It's the list of {time, hz} points plus the total duration.
    • Output: audio - the standard ComfyUI AUDIO dict (waveform tensor + sample_rate), ready for Save Audio (Dehypnotic) or any other audio save node. There's also an in-node ▢️ WebAudio play button, so you can audition the session before you commit to a render.

    One real footgun: duration scales memory linearly. A 20-minute session at 44.1 kHz stereo is around 400 MB of float32 samples sitting in RAM - fine on any desktop, but don't build a one-hour graph at 192 kHz and then wonder why your memory spiked. Keep the session to what you actually need.

    Installing it

    ComfyUI Manager is the easy route: open Manager, search "Dehypnotic", install, restart. Or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/Dehypnotic/ComfyUI-Dehypnotic
    

    Then restart ComfyUI. One real warning from the README: this is now the author's only repo, so if you ever installed the older split packs (comfyui-aspect-ratio-advanced, comfyui-numbered-text, comfyui-range-to-string, or comfyui-dehypnotic-save-nodes), delete those folders first - leftover copies conflict.

    There's no requirements.txt and no model files anywhere in the pack. BrainwaveSync specifically only needs numpy and torch, which ComfyUI already ships, so it's the lightest node in the bundle. (The pack's video and filter-heavy nodes expect opencv, scipy, and ffmpeg to already be in your environment - those are the ones to watch.)

    Common issues

    • No sound comes out. BrainwaveSync doesn't save anything by itself - you have to wire its audio output into a save node. The in-node preview only plays in your browser.
    • The curve doesn't match what you drew. points_json is a plain widget, so it's baked into the workflow JSON like any other value. If you re-run from a dragged-in workflow, the saved points are what execute.
    • Enormous output. Long session plus high sample rate, as above. It's not a bug, but it will fill your RAM faster than you expect.
    CategoryDehypnotic/πŸ”Š Audio

    Inputs (5)

    NameTypeDefaultDescription
    carrier_hzFLOAT20020–2000β€”
    beat_modeCOMBOIsochronic2 options: Isochronic, Binaural
    volumeFLOAT1.000–1β€”
    sample_rateINT441008000–192000β€”
    points_jsonoptSTRING[{"time":0,"hz":1.0},{"time":600,"hz":4.5},{"time":1200,"hz":1.0}]β€”

    Outputs (1)

    NameTypeDescription
    audioAUDIOβ€”