Audio Smart Chunker (Silence-based)
The node that stops voice conversion from cutting mid-word
- audio
- whisper_chunks
- chunk_count
Every long-form voice conversion tool has the same ugly failure: it slices your audio into fixed-size chunks, one chunk lands in the middle of a word, and you get a seam where a syllable got decapitated. This node is the pre-emptive fix. It scans your audio, finds the natural silences, and plans the chunk boundaries so that every cut lands on a pause - then hands that plan to the conversion node so it never has to improvise. It's a planning node, not an audio-output node, which makes it confusing until you see the pipeline it feeds.
How it works
Two-stage, per the README: first a global silence scan finds every natural pause in the track, then a greedy optimization walks through and packs segments into chunks that don't exceed your max_duration while keeping every boundary on a silence. The output isn't chopped audio - it's a WHISPER_CHUNKS structure describing where the cuts should go. That's the key mental shift: this node plans, something downstream executes.
The inputs
Only three, and they're all about tuning what counts as a pause:
- max_duration - target chunk size in seconds, default 27 (range 5–29). This matches what the voice-conversion node is happiest with; keep it near 25s.
- silence_threshold - how quiet "silent" has to be, default 0.001 (i.e. 0.1% of peak). For noisy recordings you may need to raise it so the scanner doesn't miss real pauses.
- min_silence_duration - how long a silence must last to count, default 0.3s. Shorter pauses (like a comma's worth) get ignored so you don't end up with a hundred micro-chunks.
Outputs and the wiring
- whisper_chunks (
WHISPER_CHUNKS) - the cut plan. Feed it into Voice Conversion (AIIA Unlimited)'s optionalwhisper_chunksinput, and the converter does "semantic-aware chunking" - it prefers these boundaries and only falls back to its own silence detection inside them. - chunk_count (
INT) - how many chunks the plan produced. Handy for sanity-checking that the settings didn't fragment a 10-minute file into 400 pieces.
Where it fits
The killer pipeline for long voice conversion is: long audio → Smart Chunker → Voice Conversion (whisper_chunks in) → Splice Analyzer (verify seams) → Post-Process. Pre-planning the cut points is what makes the converter's "unlimited duration" claim actually hold up - without it, the seams land where the converter's internal chunking decides, which is exactly where the decapitated syllables come from.
Gotchas
- It produces no audible output on its own - if you hook it up expecting audio, you'll stare at the widget wondering. The audio goes through the converter, not through here.
- On very quiet, hissy source, the default
silence_thresholdcan find almost no "silence" and the greedy packer gets weird; nudge the threshold up untilchunk_countlooks sane.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| audio | AUDIO | — | |
| max_duration | FLOAT | 27.05–29 | — |
| silence_threshold | FLOAT | 0.00100.0001–0.1 | — |
| min_silence_duration | FLOAT | 0.300.05–2 | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| whisper_chunks | WHISPER_CHUNKS | — |
| chunk_count | INT | — |