Nodes/ComfyUI-DN-VoxCPM/VoxCPM ASR Recognition
ComfyUI Node

VoxCPM ASR Recognition

The ASR node that does the typing for your VoxCPM voice clones

By DekaNear·Created 9 months ago·Updated 9 months ago· 1
VoxCPM ASR Recognition
  • audio
  • transcription

The thing people hate about voice cloning is the homework: to clone with VoxCPM Audio Reference you need a transcription of your reference clip, and nobody wants to type out an eight-second recording by hand. VoxCPM ASR Recognition exists to remove that step. Feed it the reference audio, get the text back as a STRING, wire it into the cloning node, done.

It's a straightforward automatic speech recognition node powered by FunASR's SenseVoice model (iic/SenseVoiceSmall), which the pack downloads on first use. That's a real model download and a chunky funasr dependency, so the first run is slower than everything after it.

How it works

One input, one output, nothing to configure. Drop audio (the ComfyUI AUDIO type) in and it comes out the other side as transcription (a STRING). Under the hood the node squeezes the waveform to mono, saves it to a temp WAV, runs SenseVoice on GPU if you have one (CPU otherwise), then strips the |> event markers SenseVoice embeds in its output so you get clean text, not a transcript sprinkled with <|zh|> tags.

The workflow the README pushes is exactly this:

[VoxCPM Load Audio] → [VoxCPM ASR Recognition] → [VoxCPM Audio Reference] (prompt_text)
                                                    ↓
                                          [VoxCPM Save Audio]

The ASR output feeds the Audio Reference node's prompt_text socket. You can also send transcription to any text-display node just to read it - handy for checking that SenseVoice heard what you think it heard before you clone with it.

Installing it

This node ships in the ComfyUI-DN-VoxCPM pack, so you install the whole pack once:

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. ComfyUI Manager users can just search "DN VoxCPM" and install from there instead. The requirements.txt pulls in voxcpm, torch, numpy, soundfile, and funasr - the last one is the heavy one, and audio packs are where ComfyUI's dependency conflicts like to hide, so install with a clean head and a recent ComfyUI.

Where people get burned

  • First run downloads a model. SenseVoiceSmall comes from HuggingFace the first time you run ASR. If it looks "stuck", it's downloading, not hung.
  • "Audio too short" errors. The node refuses to transcribe anything under 0.1 seconds. If your reference clip is short but fine, or if you're feeding it ComfyUI's own LoadAudio output, route the audio through the pack's VoxCPM Audio Converter first - that's exactly the fix its README describes.
  • Quality follows the audio. SenseVoice is multilingual and generally good, but a muffled or noisy clip gives you a wrong prompt_text, and a wrong prompt_text quietly poisons your clone. Listen once, read the transcription, fix it if it's off.
CategoryDN-VoxCPM

Inputs (1)

NameTypeDefaultDescription
audioAUDIO

Outputs (1)

NameTypeDescription
transcriptionSTRING