Voice Conversion (AIIA Unlimited)
Clone a voice onto hours of audio, seams be damned
- model
- source_audio
- target_audio
- whisper_chunks
- audio
- splice_info
This is the pack's marquee audio node, and the claim is a big one: it converts any-length audio into a target voice, where official CosyVoice 3 recommends 20 seconds and caps out around 60. The trick isn't magic - it's that the node does the chunking smarter than the stock pipeline, planning cuts at semantic pauses instead of letting a fixed window fall mid-syllable. The result is that a 90-minute audiobook or a long lecture can be re-voiced in one pass, and - the part that separates good from acceptable - the seams where chunks get stitched back together are the quietest they can be.
How it works
Three techniques stack up, per the README:
- Semantic-aware chunking - if you feed it
whisper_chunks(from the pack's diarization/splitter), it identifies the gaps between sentences and plans chunk boundaries there, so it never slices a word in half. - Physical silence detection - within a candidate boundary region, a fine-grained energy scan finds the actual silent instant, down to sub-millisecond precision.
- Sacrificial context stitching - each chunk generates with overlap for context, but the previous chunk's tail is discarded at join time, keeping only a ~50ms cross-fade. That kills the "ghost echo" and phase-y smear that plagues naive long-form conversion.
The inputs
- model - a
COSYVOICE_MODELfrom the loader. - source_audio - what gets converted. Any length.
- target_audio - the voice to convert to; the node auto-takes the first 30 seconds, so you don't need to trim your reference.
- speed - 1.0 default.
- chunk_size - seconds per chunk, default 25, range 10–28. The tooltip's advice is blunt: keep it around 25.
- overlap_size - seconds of overlap, default 1; note the tooltip that overlap counts against the ~30s model limit, so don't stack it with a big chunk.
- whisper_chunks (optional) - the semantic-planning input. This is the one that makes long audio good rather than merely long.
- seed (optional) - 42 default, −1 for random.
Outputs
- audio - the converted track (
AUDIO). - splice_info - the seam metadata, so you can verify the joins visually with the Audio Splice Analyzer instead of trusting your ears.
The recommended pipeline
source → Audio Smart Chunker → Voice Conversion (whisper_chunks in)
→ Splice Analyzer (verify)
→ Audio Post-Process (master)
The chunker supplies the semantic plan; the converter executes it; the analyzer shows you the seams landed in silence; post-process does the final polish.
Gotchas
- Feed it good target audio. The clone quality is only as good as the 30 seconds you give it - clean, dry, consistent.
- The seams live or die by the chunk plan. Skip
whisper_chunksand the node falls back to its own detection, which is decent but not the same. For professional results, chunker first. - Chunk + overlap budget. Keep
chunk_sizenear 25 and don't run both at max - the overlap counts toward the model's effective window. - It's CosyVoice under the hood, so the PyTorch 2.9.x and transformers-compat caveats from the loader apply here too.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| model | COSYVOICE_MODEL | — | |
| source_audio | AUDIO | — | |
| target_audio | AUDIO | — | |
| speed | FLOAT | 1.00.5–2 | — |
| chunk_size | INT | 2510–28 | 建议保持在25秒左右 |
| overlap_size | INT | 10–4 | 重叠部分也会计入30秒限制 |
| whisper_chunksopt | WHISPER_CHUNKS | — | |
| seedopt | INT | 42-1–2147483647 | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| audio | AUDIO | — |
| splice_info | SPLICE_INFO | — |