Nodes/ComfyUI Web Viewer/AUDIO Recorder @ vrch.ai
ComfyUI Node

AUDIO Recorder @ vrch.ai

Record your voice in the browser and hand ComfyUI real audio

By VrchStudio·Created 2 years ago·Updated 19 days ago· 356
AUDIO Recorder @ vrch.ai
    • AUDIO
    base64_data
    record_modepress_and_hold
    record_duration_max15
    loopfalse
    loop_interval1.0
    new_generation_after_recordingfalse
    shortcuttrue
    shortcut_keyF2
    device_id
    device_name
    debugfalse

    The AUDIO Recorder @ vrch.ai is the node that makes "record your voice, clone it with AI" workflows one workflow. It opens a browser capture, records what you say, and hands the result to the graph as a proper AUDIO output - which is exactly the flow in the pack's famous real-time voice clone tutorial (record → F5-TTS → hear your cloned voice). It was the single most-mentioned node in the pack's early Reddit traction, and for good reason: before this, getting your own voice into a ComfyUI pipeline was a file-export-and-import dance.

    The recorder is the capture side of the pack's audio story. The Microphone Loader streams live numbers for analysis; this node captures an actual recording you can save, clone, or process.

    How it works

    The node listens in the browser for a capture (via base64_data coming back from the capture page) and converts it to the pack's AUDIO format. The behavior is controlled by:

    • record_mode - press_and_hold (record only while you hold the button) or start_and_stop (click to start, click again to stop). The hold mode is what you want for voice cloning - it naturally trims the silence.
    • record_duration_max (1–60s) - a safety cap so a forgotten recording doesn't run forever.
    • shortcut / shortcut_key - toggle recording from the keyboard (function keys by default) instead of clicking the page.
    • loop and loop_interval - re-trigger capture on a timer, handy for a repeating ambient-input setup.
    • new_generation_after_recording - automatically kick a new generation cycle when a recording lands, which is what turns it into a one-click voice-clone loop.
    • device_id / device_name - pick a specific mic; leave empty for the default.

    The one output, AUDIO, plugs into any downstream audio node - a saver, a TTS model, a concat.

    Installing it

    Pack install, but with one real dependency to know about:

    cd ComfyUI/custom_nodes
    git clone https://github.com/VrchStudio/comfyui-web-viewer
    pip install -r comfyui-web-viewer/requirements.txt
    

    Or install "ComfyUI Web Viewer" via ComfyUI Manager and restart. The recorder needs FFmpeg installed on the system and the ffmpeg-python package (it's in the requirements) to convert the browser capture to audio. If you see [Errno 2] No such file or directory: 'ffmpeg', install FFmpeg and make sure it's on your PATH in the same shell you start ComfyUI from.

    The two gotchas that actually come up

    • It historically clashed with ComfyUI Core's SaveAudio preview. People reported that having the vrch recorder/saver nodes installed broke the core node's preview function (the culprit thread is on r/comfyui). If your audio previews suddenly die and you run this pack, that's the first suspect - update the pack and the issue should be gone.
    • The shortcut_key: 'None' not in [...] validation error. Loading older saved workflows can throw this because the shortcut-key field changed to a strict enum. Fix: open the node and pick an explicit key from the dropdown, then save again.

    Also worth remembering: this is a browser capture, so the ComfyUI page needs focus and the mic permission granted - the same focus rule as the keyboard and gamepad nodes.

    Categoryvrch.ai/audio

    Inputs (11)

    NameTypeDefaultDescription
    base64_dataSTRING
    record_modeCOMBOpress_and_hold2 options: press_and_hold, start_and_stop
    record_duration_maxINT151–60
    loopBOOLEANfalse
    loop_intervalFLOAT1.00.5–60
    new_generation_after_recordingBOOLEANfalse
    shortcutBOOLEANtrue
    shortcut_keyCOMBOF224 options: F1, F2, F3, F4, F5, F6, +18
    device_idSTRING
    device_nameSTRING
    debugBOOLEANfalse

    Outputs (1)

    NameTypeDescription
    AUDIOAUDIO