FL VoxCPM Transcribe
Free transcriptions, because your cloned voice needs to know what was said
- audio
- transcription
Every voice-cloning pipeline has the same hidden chore: the model needs the transcript of your reference audio, word for word. VoxCPM is pickier than most - feed it a wrong transcript and the cloned voice drifts, or the babbling retry kicks in. You could transcribe by ear, or you could drop a Whisper model into the graph and let it do the typing. This node is the second option, and it's free and fully local.
It's a helper node inside filliptm/ComfyUI-FL-VoxCPM, so it lives in the same pack as the TTS nodes. It takes any AUDIO and runs it through OpenAI's Whisper, returning plain text that you wire straight into prompt_text (V1 TTS), reference_text or prompt_text (V2 TTS), or a Dataset Maker .txt transcript.
How it works
Nothing exotic. The node takes the incoming audio tensor, forces it to mono, resamples to Whisper's native 16kHz, and runs it through a transformers Whisper model. The model choice and language settings are right there in the node:
- model - defaults to
openai/whisper-large-v3-turbo, with large-v3, medium, small, base, and tiny as fallbacks. Turbo is the sweet spot: near-large accuracy, noticeably faster. - language -
autodetects from the audio, or pin it (en,zh,ja,ko,de,fr,es,pt,ru,it) when auto mishears. - device -
autopicks CUDA if present, then MPS on Macs, then CPU.
The loaded model is cached in memory, so the second transcription is fast - the first one pays the download cost, which for large-v3-turbo is a few GB on first run. The single transcription output is a STRING, so it plugs into any text socket. There's a ProgressBar on the node so you're not staring at a dead canvas while it thinks.
Inputs that matter
Honestly, just two: audio in, and model if you want to trade accuracy for speed. A 10-second clone reference transcribes in a blink on tiny or base; a full dataset of narration clips is where you'd lean on large-v3-turbo for accuracy.
Installation
Same pack as everything else here - Manager search "FL VoxCPM", or:
cd ComfyUI/custom_nodes
git clone https://github.com/filliptm/ComfyUI-FL-VoxCPM.git
cd ComfyUI-FL-VoxCPM
pip install -r requirements.txt
Requires transformers, which the requirements file already pulls in. Whisper itself downloads from HuggingFace on first use.
Common issues
- Empty output on a bad clip - very short or very noisy audio can return an empty string. Use the Audio Crop node to feed it a clean segment, or pin
languageinstead of relying onauto. - First run is slow - that's the Whisper model download plus the 16kHz resample. Normal.
- Transcript doesn't match the reference - Whisper sometimes "corrects" accents or names. If you're cloning, eyeball the transcription once before trusting it; a corrected word is still a wrong transcript for VoxCPM.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| audio | AUDIO | — | |
| model | COMBO | openai/whisper-large-v3-turbo | 6 options: openai/whisper-large-v3-turbo, openai/whisper-large-v3, openai/whisper-medium, openai/whisper-small, openai/whisper-base, openai/whisper-tiny |
| language | COMBO | auto | 11 options: auto, en, zh, ja, ko, de, +5 |
| deviceopt | COMBO | auto | 3 options: auto, cuda, cpu |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| transcription | STRING | — |