VoxCPM Load Audio
Load Audio — a reference-clip loader that actually searches your input folder
- audio
Every VoxCPM cloning workflow starts the same way: you need your reference voice as a ComfyUI AUDIO. VoxCPM Load Audio is the pack's answer to that, and its killer feature is that it stops you having to remember full paths. Type a bare filename and it finds the file in your ComfyUI/input/ folder. That's it, that's the whole trick, and it's genuinely the right amount of convenience.
It's built on soundfile, so it handles WAV, MP3, FLAC, OGG, M4A and the usual suspects, and it does the normalization that the VoxCPM nodes want as it loads: stereo gets averaged down to mono, everything becomes float32, and the output is a proper [1, 1, samples] AUDIO dict. The README calls it the recommended way to bring in reference audio, ahead of ComfyUI's stock LoadAudio, precisely because the format comes out right without an extra converter hop.
The single input
- audio_path - either a filename (
my_voice.wav) that lives inComfyUI/input/, or an absolute path anywhere on disk (C:/Users/you/audio/clip.mp3on Windows,/home/you/audio/clip.flacon Linux). Bare filename wins if it exists; the node even tells you which location it resolved in the console.
Output is audio (AUDIO), ready for VoxCPM ASR Recognition or directly into VoxCPM Audio Reference's prompt_audio socket.
Installing it
It's part of the ComfyUI-DN-VoxCPM pack:
cd ComfyUI/custom_nodes/
git clone https://github.com/DekaNear/ComfyUI-DN-VoxCPM.git
cd ComfyUI-DN-VoxCPM
pip install -r requirements.txt
Restart ComfyUI, or find "DN VoxCPM" in ComfyUI Manager. You're paying the pack's full install (voxcpm, funasr, the works) for what is, in isolation, a fairly simple loader - but you almost certainly want the rest of the family anyway.
Where people get burned
The failure mode is loud and self-explanatory: if it can't find the file, it tells you exactly what it tried - the input-folder path and the current directory - and reminds you where to put files. The real gotcha is subtle: a file that exists but is broken loads and then dies downstream with "audio is empty" or the 100-sample minimum check. A truncated download or an export that failed mid-write will do that. If you get those errors with a file that's plainly longer than a blink, re-export the source rather than debugging the node.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| audio_path | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| audio | AUDIO | — |