Nodes/ComfyUI-Jumper/Receive Audio
ComfyUI Node

Receive Audio

Catch the waveform the other machine just sent you

By myonmu0·Created 11 months ago·Updated 9 months ago· 0
Receive Audio
    • audio
    • order
    addr127.0.0.1:8282
    modeClient
    order0

    Audio is the quiet corner of the ComfyUI-Jumper pack - two nodes, and most people never touch them. But the day you need a waveform that exists on one machine to show up on another, Receive Audio is the exact half of Send Audio you're looking for. It sits on the socket, waits for an audio message, and hands you back a proper ComfyUI AUDIO value you can wire into anything downstream.

    How it works

    Receive Audio is the mirror of Send Audio. It reads the payload, verifies the SHA-256 hash the sender baked in, and checks that the format tag really says audio - if a Send String or Send Images got aimed at it instead, it raises Receive unexpected data. and tells you the chains are crossed. Assuming all's well, it parses the 20-byte sample-rate header, loads the waveform tensor back through safetensors, and reassembles the AUDIO dict. Sample rate survives the trip, waveform survives losslessly - nothing is transcoded or resampled along the way.

    The two setup inputs are the pack standard: addr (host:port, default 127.0.0.1:8282) and mode (Client dials, Server listens - set it opposite to whatever the Send Audio node uses, and per the README keep it Client on your local machine and Server on the remote when you're crossing a network). Pair it with an SSH tunnel (ssh root@REMOTE_IP -p REMOTE_PORT -NL 8282:localhost:8282) for anything not on localhost, because the transport itself is plain TCP.

    What you get out of it

    • audio - the received AUDIO value. Wire it into an audio preview, a video combiner's audio track, an audio-conditioned sampler, or whatever node consumes AUDIO in your setup.
    • order - the chain counter, pass it along to the next Jumper node.

    The order chain is the same across the whole pack and it's where beginners trip: one chain per workflow, identical order on both machines. Wire each node's order output into the next node's order input, start with a Primitive Int at 0, and anchor the chain's end in something like a PreviewAny so the sequence actually executes. Receive Audio's position in the chain has to match where its counterpart Send Audio sits in the other machine's chain - the counter is how the two sides know which message is which.

    Installing it

    ComfyUI-Jumper is a no-dependency pack - empty requirements.txt, no models, nothing to download beyond the code itself. Install via ComfyUI Manager (search ComfyUI-Jumper) or:

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

    Then restart ComfyUI.

    Where people get burned

    Same list as its siblings: cancel doesn't work while a Jumper node is running (restart ComfyUI to abort), mode mismatches leave a node waiting forever for a connection that never comes, and a crossed chain produces Receive unexpected data. when the wrong message type shows up. The author's security note stands for audio too - unencrypted TCP means use the tunnel, which is exactly the lesson the ComfyUI community hammered home after its own unauthenticated-instance scares.

    CategoryJumper

    Inputs (3)

    NameTypeDefaultDescription
    addrSTRING127.0.0.1:8282
    modeCOMBOClient2 options: Client, Server
    orderoptINT0

    Outputs (2)

    NameTypeDescription
    audioAUDIO
    orderINT