Nodes/ComfyUI Web Viewer/AUDIO WebSocket Channel Loader @ vrch.ai
ComfyUI Node

AUDIO WebSocket Channel Loader @ vrch.ai

Low-latency audio over WebSocket

By VrchStudio·Created 2 years ago·Updated about a month ago· 358
AUDIO WebSocket Channel Loader @ vrch.ai
  • default_audio
  • AUDIO
channel1
server172.17.0.2:8001
debugfalse

The AUDIO WebSocket Channel Loader @ vrch.ai is the pack's low-latency audio input: it receives audio being pushed to a channel over a WebSocket connection and hands it to the graph as AUDIO. Same channel-numbering idea as the plain AUDIO Web Viewer Channel Loader, but instead of pulling from the HTTP file-based path, this one listens on a WebSocket stream - which is the transport you want when audio is arriving continuously from a browser or another device and you can't afford polling delays.

Where does that matter? Real-time voice work. The pack's voice-clone and audio-picture-book workflows need the browser's mic audio to get into the graph with as little latency as possible - a record-then-send round trip is fine for a one-shot clip, but for streaming, WebSocket is the difference between "sounds like a radio" and "sounds like a conversation." This node is the receiving end of that streaming path.

How it works

Pick a channel (1–8) and the node subscribes to that channel on the WebSocket server at server (default 172.17.0.2:8001). Audio arriving on that channel becomes the AUDIO output. There's also an optional default_audio input - a fallback clip that plays when the channel is silent, which is useful for keeping a workflow from idling into nothing when no one is streaming. debug logs the connection and incoming chunks.

The one output, AUDIO, is the streamed audio - and since the node is marked as an output node, it works fine as a terminal stage in a chain that's purely about receiving.

Installing it

Standard pack install:

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 WebSocket nodes do need FFmpeg on the system plus the ffmpeg-python package (in the requirements) to decode what arrives - the README's FFmpeg troubleshooting section applies here directly. If you see [Errno 2] No such file or directory: 'ffmpeg', that's an environment problem, not a node problem.

The gotcha

The default server is 172.17.0.2:8001, a Docker bridge address from the author's dev environment. Unless your ComfyUI genuinely runs in a container with that network layout, point this at your real host - 127.0.0.1:8001 for local, or the LAN IP of the machine running the WebSocket server. Leaving the default is the #1 reason this node shows up as "connected but silent."

Also keep the channel contract consistent: the sender must be pushing to the same channel number this loader listens on. Channel 3 in, channel 3 out - any mismatch gives you nothing and a lot of confusing debug logs.

Categoryvrch.ai/viewer/websocket

Inputs (4)

NameTypeDefaultDescription
channelCOMBO18 options: 1, 2, 3, 4, 5, 6, +2
serverSTRING172.17.0.2:8001
debugBOOLEANfalse
default_audiooptAUDIO

Outputs (1)

NameTypeDescription
AUDIOAUDIO