ComfyUI Node

Audio Load

Pull an audio file into your ComfyUI graph

By jamesWalker55·Created 3 years ago·Updated about a year ago· 215
Audio Load
    • AUDIO
    path./audio.mp3
    gain_db0.00
    offset_seconds0.00
    duration_seconds0.00
    resample_to_hz0.00
    make_stereotrue

    If you're building anything that ends in a video with sound, at some point you need to get an audio file into the graph. That's what JWLoadAudio is for. Point it at a file on disk and it hands you a ComfyUI AUDIO object you can wire into a video-combine node, an audio-reactive setup, or anything else that consumes audio. It's a small utility from jamesWalker55's "Various ComfyUI Nodes by Type" pack, and unlike a lot of audio tooling it does a few genuinely handy things on the way in: it can trim, boost, resample, and force stereo, so you often don't need a separate cleanup step.

    How it works

    You give it a path to an audio file and it decodes that file into an in-memory audio tensor, applying whatever adjustments you've set. The key mental model, and the thing that trips people up, is that the path is read from the machine running ComfyUI, not uploaded from your browser. On your own PC that's just a file on your drive. On a hosted or cloud instance it means the file has to already be on the server, which changes how you get it there.

    The inputs worth knowing

    • path (default ./audio.mp3): the file to load. Relative paths are resolved from ComfyUI's working directory, so ./audio.mp3 means "audio.mp3 next to where ComfyUI launched." An absolute path is clearer if you know exactly where the file lives.
    • gain_db: volume adjustment in decibels (range -100 to 100). Leave it at 0 for no change; positive makes it louder, negative quieter. Handy when your source is too hot or too quiet.
    • offset_seconds and duration_seconds: a built-in trim. offset_seconds skips that many seconds from the start; duration_seconds caps how much you take. Both default to 0, which reads as "start at the beginning, take the whole thing."
    • resample_to_hz: force a specific sample rate (e.g. 44100 or 16000). 0 keeps the file's original rate. Set this when a downstream model insists on a particular rate.
    • make_stereo (default true): forces the output to two channels, upmixing mono if needed. Leave it on unless something specifically wants mono.

    The output is a single AUDIO. That's a native ComfyUI type these days, so it plugs straight into core audio-save nodes and the common video-with-audio combine nodes without any adapter.

    Installing it

    Via ComfyUI Manager: search "Various ComfyUI Nodes by Type" or jamesWalker55, install, restart. Or by hand:

    cd ComfyUI/custom_nodes
    git clone https://github.com/jamesWalker55/comfyui-various
    

    then restart ComfyUI. No model files here.

    Common issues

    The big one is the path. Because the file is read server-side, "file not found" almost always means the path is wrong relative to where ComfyUI is actually running, or (on a cloud box) the file simply isn't on that machine yet. Prefer a full absolute path while you're debugging, and confirm the file is really sitting where you think it is. On a hosted instance you'll need to get the audio onto the server first rather than expecting a file picker.

    Second, decoding depends on your environment. MP3 and other compressed formats need a working audio backend in your Python install; if a particular file refuses to load while a WAV loads fine, that's the decoder, not the node. Converting the source to WAV is the quickest way to rule that out.

    And a small sanity check: if your trim comes back empty or silent, look at offset_seconds and duration_seconds. An offset longer than the clip, or a tiny duration, will do exactly that.

    CategoryjamesWalker55

    Inputs (6)

    NameTypeDefaultDescription
    pathSTRING./audio.mp3
    gain_dbFLOAT0.00-100–100
    offset_secondsFLOAT0.000–100000000000000000
    duration_secondsFLOAT0.000–100000000000000000
    resample_to_hzFLOAT0.000–100000000000000000
    make_stereoBOOLEANtrue

    Outputs (1)

    NameTypeDescription
    AUDIOAUDIO