ComfyUI Extension: ComfyUI_ChatterBox
An unofficial ComfyUI custom node integration for a/Resemble AI's ChatterBox - a state-of-the-art open-source Text-to-Speech (TTS) model with voice cloning capabilities.
Custom Nodes (0)
README
ComfyUI_ChatterBox_Voice
An unofficial ComfyUI custom node integration for High-quality Text-to-Speech and Voice Conversion nodes for ComfyUI using ResembleAI's ChatterboxTTS with unlimited text length!!!.
NEW: Audio capture node
Features
š¤ ChatterBox TTS - Generate speech from text with optional voice cloning
š ChatterBox VC - Convert voice from one speaker to another
šļø ChatterBox Voice Capture - Record voice input with smart silence detection
ā” Fast & Quality - Production-grade TTS that outperforms ElevenLabs
š Emotion Control - Unique exaggeration parameter for expressive speech
š Enhanced Chunking - Intelligent text splitting for long content with multiple combination methods
š¦ Self-Contained - Bundled ChatterBox for zero-installation-hassle experience
Note: There are multiple ChatterBox extensions available. This implementation focuses on simplicity, ComfyUI standards, and enhanced text processing capabilities.
Installation
cd ComfyUI/custom_nodes
git clone https://github.com/ShmuelRonen/ComfyUI_ChatterBox.git
Expected folder structure for bundled approach:
ComfyUI_ChatterBox_Voice/
āāā __init__.py
āāā nodes.py
āāā nodes_audio_recorder.py
āāā chatterbox/
āāā web/
āāā models/ # ā Models bundled here (optional)
ā āāā chatterbox/
ā āāā conds.pt
ā āāā s3gen.pt
ā āāā t3_cfg.pt
ā āāā tokenizer.json
ā āāā ve.pt
āāā README.md
2.3. Install Additional Dependencies
pip install -r requirements.txt
2.4. Download Models
Download the ChatterboxTTS models and place them in:
ComfyUI/models/TTS/chatterbox/
Required files:
conds.pt
(105 KB)s3gen.pt
(~1 GB)t3_cfg.pt
(~1 GB)tokenizer.json
(25 KB)ve.pt
(5.5 MB)
Download from: https://huggingface.co/ResembleAI/chatterbox/tree/main
3. Install Voice Recording Dependencies (Optional)
pip install sounddevice
4. Restart ComfyUI
Enhanced Features
š Intelligent Text Chunking (NEW!)
Long text support with smart processing:
- Character-based limits (100-1000 chars per chunk)
- Sentence boundary preservation - won't cut mid-sentence
- Multiple combination methods:
auto
- Smart selection based on text lengthconcatenate
- Simple joiningsilence_padding
- Add configurable silence between chunkscrossfade
- Smooth audio blending
- Comma-based splitting for very long sentences
- Backward compatible - works with existing workflows
Chunking Controls (all optional):
enable_chunking
- Enable/disable smart chunking (default: True)max_chars_per_chunk
- Chunk size limit (default: 400)chunk_combination_method
- How to join audio (default: auto)silence_between_chunks_ms
- Silence duration (default: 100ms)
Auto-selection logic:
- Text > 1000 chars ā silence_padding (natural pauses)
- Text > 500 chars ā crossfade (smooth blending)
- Text < 500 chars ā concatenate (simple joining)
š¦ Smart Model Loading
Priority-based model detection:
- Bundled models in node folder (self-contained)
- ComfyUI models in standard location
- HuggingFace download with authentication
Console output shows source:
š¦ Using BUNDLED ChatterBox (self-contained)
š¦ Loading from bundled models: ./models/chatterbox
ā
ChatterboxTTS model loaded from bundled!
Usage
Voice Recording
- Add "š¤ ChatterBox Voice Capture" node
- Select your microphone from the dropdown
- Adjust recording settings:
- Silence Threshold: How quiet to consider "silence" (0.001-0.1)
- Silence Duration: How long to wait before stopping (0.5-5.0 seconds)
- Sample Rate: Audio quality (8000-96000 Hz, default 44100)
- Change the Trigger value to start a new recording
- Connect output to TTS (for voice cloning) or VC nodes
Enhanced Text-to-Speech
- Add "š¤ ChatterBox Voice TTS" node
- Enter your text (any length - automatic chunking)
- Optionally connect reference audio for voice cloning
- Adjust TTS settings:
- Exaggeration: Emotion intensity (0.25-2.0)
- Temperature: Randomness (0.05-5.0)
- CFG Weight: Guidance strength (0.0-1.0)
- Configure chunking (optional):
- Enable Chunking: For long texts
- Max Chars Per Chunk: Chunk size (100-1000)
- Combination Method: How to join chunks
- Silence Between Chunks: Pause duration
Voice Conversion
- Add "š ChatterBox Voice Conversion" node
- Connect source audio (voice to convert)
- Connect target audio (voice style to copy)
Workflow Examples
Long Text with Smart Chunking:
Text Input (2000+ chars) ā ChatterBox TTS (chunking enabled) ā PreviewAudio
Voice Cloning with Recording:
š¤ Voice Capture ā ChatterBox TTS (reference_audio) ā PreviewAudio
Voice Conversion Pipeline:
š¤ Voice Capture (source) ā ChatterBox VC ā š¤ Voice Capture (target)
Complete Advanced Pipeline:
Long Text Input ā ChatterBox TTS (with voice reference) ā PreviewAudio
ā ChatterBox VC ā š¤ Target Voice Recording
Settings Guide
Enhanced Chunking Settings
For Long Articles/Books:
max_chars_per_chunk=600
,combination_method=silence_padding
,silence_between_chunks_ms=200
For Natural Speech:
max_chars_per_chunk=400
,combination_method=auto
(default - works well)
For Fast Processing:
max_chars_per_chunk=800
,combination_method=concatenate
For Smooth Audio:
max_chars_per_chunk=300
,combination_method=crossfade
Voice Recording Settings
General Recording:
silence_threshold=0.01
,silence_duration=2.0
(default settings)
Noisy Environment:
- Higher
silence_threshold
(~0.05) to ignore background noise - Longer
silence_duration
(~3.0) to avoid cutting off speech
Quiet Environment:
- Lower
silence_threshold
(~0.005) for sensitive detection - Shorter
silence_duration
(~1.0) for quick stopping
TTS Settings
General Use:
exaggeration=0.5
,cfg_weight=0.5
(default settings work well)
Expressive Speech:
- Lower
cfg_weight
(~0.3) + higherexaggeration
(~0.7) - Higher exaggeration speeds up speech; lower CFG slows it down
Text Processing Capabilities
š No Hard Text Limits!
Unlike many TTS systems:
- OpenAI TTS: 4096 character limit
- ElevenLabs: 2500 character limit
- ChatterBox: No documented limits + intelligent chunking
š§ Smart Text Splitting
Sentence Boundary Detection:
- Splits on
.!?
with proper spacing - Preserves sentence integrity
- Handles abbreviations and edge cases
Long Sentence Handling:
- Splits on commas when sentences are too long
- Maintains natural speech patterns
- Falls back to character limits only when necessary
Examples:
Input: "This is a very long article about artificial intelligence and machine learning. It contains multiple sentences and complex punctuation, including lists, quotes, and technical terms. The enhanced chunking system will split this intelligently."
Output: 3 well-formed chunks with natural boundaries
License
MIT License - Same as ChatterboxTTS
Credits
- ResembleAI for ChatterboxTTS
- ComfyUI team for the amazing framework
- sounddevice library for audio recording functionality
š Links
- Resemble AI ChatterBox
- Model Downloads (Hugging Face) ā¬ ļø Download models here
- ChatterBox Demo
- ComfyUI
- Resemble AI Official Site
Note: The original ChatterBox model includes Resemble AI's Perth watermarking system for responsible AI usage. This ComfyUI integration includes the Perth dependency but has watermarking disabled by default to ensure maximum compatibility. Users can re-enable watermarking by modifying the code if needed, while maintaining the full quality and capabilities of the underlying TTS model.