๐๏ธ Voice Capture
Record your mic straight into ComfyUI for instant voice cloning
- voice_audio
Want to clone your own voice but don't have a clean reference clip lying around? This node records one for you, right inside ComfyUI. Hit run, talk into your mic, and out comes an AUDIO output you can feed straight into a cloning engine or save as a character voice. No Audacity round-trip, no hunting for a file.
It's the fastest path from "I want this voice" to "the reference clip exists." Most cloning engines in the suite want a few seconds to 30-ish seconds of clean speech; this node captures exactly that.
How it works
It talks to your microphone through the system audio stack (that's why the pack needs PortAudio installed) and records until either your time limit hits or it detects you've stopped talking. It can auto-normalize the level so the clip isn't too quiet, and it hands the recording back as a standard ComfyUI AUDIO object.
The one thing to understand up front: this records on the machine ComfyUI's backend runs on, using that machine's microphone. That's the crucial catch - see troubleshooting.
The inputs and outputs that matter
voice_max_recording_time(default 10s, up to 300) - the hard cap. Set it to roughly how long you plan to speak; a 10โ20s clip is plenty for most cloning.voice_silence_duration(default 2s) - how long a pause before it decides you're done and stops. Lower it if it's cutting you off; raise it if it stops during natural pauses.voice_silence_threshold(default 0.02) - how quiet counts as "silence" for that auto-stop. Bump it up in a noisy room so background hum doesn't keep the recording alive forever.voice_sample_rate(default 44100),voice_volume_gain(default 1),voice_auto_normalize(default on) - audio quality knobs. Defaults are fine; leave normalize on so the clip has a healthy level.voice_device(STRING) - which input device to use, if you have several. Leave blank for the default mic.voice_trigger(INT, optional) - bump this number to force a fresh recording on the next run instead of reusing a cached one.
Output is a single voice_audio (AUDIO) - wire it into Character Voices / Save Character Voice, or straight into a TTS engine that clones from reference.
How to install it
Comes with TTS Audio Suite. ComfyUI Manager: search TTS Audio Suite, install, restart. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/diodiogod/TTS-Audio-Suite.git
cd TTS-Audio-Suite
python install.py
then restart. Recording specifically depends on PortAudio: on Linux run sudo apt-get install portaudio19-dev before installing (the README calls this out as the package that enables voice recording); on macOS brew install portaudio; Windows ships the libraries pre-built.
Common issues & troubleshooting
It records silence / no device found. This is the big one: the node captures from the microphone on the machine running the ComfyUI server, not your browser or laptop. On a remote or cloud instance (like a hosted ComfyUI) there is no physical mic, so it captures nothing. Voice Capture is a local-desktop feature - if you're on a cloud runner, record on your own machine and upload the file instead.
"PortAudio not found" or the node errors on load. The system library isn't installed. Install portaudio19-dev (Linux) / portaudio (macOS), then re-run python install.py.
It stops too early or won't stop. That's the silence detector. Raise voice_silence_duration and/or voice_silence_threshold if it cuts you off; lower them if it keeps recording room tone after you finish.
Wrong microphone. Set voice_device to the specific input you want rather than relying on the system default.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| voice_device | STRING | Optional input device name match. Leave empty to use the system default device. Device lookup is deferred until recording so ComfyUI startup does not block on PortAudio. | |
| voice_sample_rate | INT | 441008000โ96000 | โ |
| voice_max_recording_time | FLOAT | 10.01โ300 | โ |
| voice_volume_gain | FLOAT | 1.00.1โ10 | โ |
| voice_silence_threshold | FLOAT | 0.0200.001โ0.1 | โ |
| voice_silence_duration | FLOAT | 2.00.5โ10 | โ |
| voice_auto_normalize | BOOLEAN | true | โ |
| voice_triggeropt | INT | 00โ999999 | โ |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| voice_audio | AUDIO | โ |