Nodes/TTS Audio Suite/๐Ÿ”ง Audio Analyzer Options
ComfyUI Node

๐Ÿ”ง Audio Analyzer Options

The tuning knobs that make the Wave Analyzer cut in the right places

By diodiogodยทCreated 12 months agoยทUpdated 17 days agoยท 1,098
๐Ÿ”ง Audio Analyzer Options
    • options
    โ—„silence_threshold0.010โ–บ
    โ—„silence_min_duration0.10โ–บ
    โ—„invert_silence_regionsfalseโ–บ
    โ—„energy_sensitivity0.5โ–บ
    โ—„peak_threshold0.020โ–บ
    โ—„peak_min_distance0.05โ–บ
    โ—„peak_region_size0.10โ–บ
    โ—„group_regions_threshold0.000โ–บ

    This is a companion node - a little box of settings that plugs into the Audio Wave Analyzer to control how it detects regions in your audio. On its own it does nothing visible; its whole job is to output an ADV_AUDIO_OPTIONS bundle that the analyzer reads. You reach for it the moment the analyzer's defaults start cutting your clip in the wrong spots.

    The pattern is common in TTS Audio Suite: keep the main node uncluttered, and push the fiddly advanced settings into an optional "Options" node you only wire in when you need it. If the default detection is fine, you never touch this. When it isn't, this is where you fix it.

    How it works

    The analyzer detects boundaries three ways - by silence, by energy, or by peaks - and each method has thresholds that decide what counts. This node exposes those thresholds. You set them here, connect the single output into the analyzer's options slot, and the analyzer uses your values instead of its built-in defaults. That's the entire contract.

    The inputs and outputs that matter

    Everything here is optional and depends on which analysis_method you picked on the analyzer. The few that matter most:

    • silence_threshold (default 0.01) - how quiet a moment has to be to count as silence. This is the big one for the silence method. Raise it if soft speech is getting chopped mid-phrase; lower it if separate phrases are being glued together.
    • silence_min_duration (default 0.1s) - how long a quiet stretch must last to become a real boundary. Turn this up so brief breaths and clicks don't trigger cuts.
    • energy_sensitivity (default 0.5) - for the energy method, how reactive the detector is to loudness changes.
    • peak_threshold (0.02), peak_min_distance (0.05), peak_region_size (0.1) - for the peaks method: how tall a peak must be, how far apart peaks must sit, and how wide a region to build around each. Useful for rhythmic or transient-heavy audio.
    • invert_silence_regions (default off) and group_regions_threshold (default 0) - flip which side of the silence you keep, and merge nearby regions that fall within the threshold.

    The only output is options (ADV_AUDIO_OPTIONS) - run it into the Audio Wave Analyzer's options input. That's it.

    How to install it

    It's part of TTS Audio Suite, so install the pack. 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. On Linux, install portaudio19-dev and libsamplerate0-dev first. This node is pure configuration - no model download, no dependencies of its own.

    Common issues & troubleshooting

    I connected it but nothing changed. The values only apply to the active analysis method. If you're on silence mode, tweaking the peak thresholds does nothing - set silence_threshold and silence_min_duration instead.

    Too many tiny regions. Raise silence_min_duration so short gaps are ignored, and consider a small group_regions_threshold to merge fragments that belong together.

    Whole sentences merged into one region. Your silence_threshold is too low (the detector thinks quiet speech is still "sound") - nudge it up until the pauses register.

    Do I even need this? No, not usually. The analyzer works out of the box on clean speech. Only add this node when the region boundaries are visibly wrong and you want to steer them.

    CategoryTTS Audio Suite/๐ŸŽต Audio Processing

    Inputs (8)

    NameTypeDefaultDescription
    silence_thresholdoptFLOAT0.0100.001โ€“0.1How quiet audio must be to count as silence (0.001-0.1): โ€ข 0.001-0.005: Very sensitive, catches whispers as speech โ€ข 0.01: Default, good for most recordings โ€ข 0.05-0.1: Less sensitive, ignores background noise Only used when analysis_method is 'silence'
    silence_min_durationoptFLOAT0.100.01โ€“2Shortest pause to count as a break between words (0.01-2.0 seconds): โ€ข 0.01-0.05: Catches tiny pauses between syllables โ€ข 0.1: Default, good for word breaks โ€ข 0.5-2.0: Only long pauses between sentences Only used when analysis_method is 'silence'
    invert_silence_regionsoptBOOLEANfalseInvert silence detection to get speech regions instead: โ€ข False: Returns silence regions (pauses between speech) โ€ข True: Returns speech regions (inverted silence detection) Useful for F5-TTS editing where you want speech segments Only used when analysis_method is 'silence'
    energy_sensitivityoptFLOAT0.50โ€“1How sensitive to detect volume changes (0.0-1.0): โ€ข 0.0-0.3: Very sensitive, detects small volume changes โ€ข 0.5: Default, balanced detection โ€ข 0.7-1.0: Less sensitive, only major volume changes Only used when analysis_method is 'energy'
    peak_thresholdoptFLOAT0.0200.001โ€“0.5Minimum amplitude threshold for detecting peaks (0.001-0.5): โ€ข 0.001-0.01: Very sensitive, catches soft consonants and emphasis โ€ข 0.02: Default for speech, good for normal speaking volume โ€ข 0.05-0.1: Less sensitive, only strong emphasis or loud sounds โ€ข 0.2-0.5: Only very loud peaks Only used when analysis_method is 'peaks'
    peak_min_distanceoptFLOAT0.050.01โ€“1Minimum time between detected peaks in seconds (0.01-1.0): โ€ข 0.01-0.03: Very sensitive, catches rapid syllables โ€ข 0.05: Default for speech, good for normal speech pace โ€ข 0.1-0.2: Less sensitive, only distinct words/emphasis โ€ข 0.5-1.0: Only major speech events Only used when analysis_method is 'peaks'
    peak_region_sizeoptFLOAT0.100.02โ€“1Size of timing region around each peak in seconds (0.02-1.0): โ€ข 0.02-0.05: Tight regions for precise timing โ€ข 0.1: Default, good balance for speech editing โ€ข 0.2-0.5: Wider regions for context around peaks โ€ข 0.5-1.0: Very wide regions for phrase-level editing Only used when analysis_method is 'peaks'
    group_regions_thresholdoptFLOAT0.0000โ€“3Group nearby detected regions into larger segments (0.000-3.000 seconds): โ€ข 0.000: No grouping, keep all regions separate โ€ข 0.001-0.050: Group very tiny gaps (remove micro-silences) โ€ข 0.100-0.200: Group small gaps (syllables โ†’ words) โ€ข 0.300-0.500: Group moderate gaps (words โ†’ phrases) โ€ข 1.000-3.000: Group large gaps (phrases โ†’ sentences) Applies to all detection methods after initial analysis

    Outputs (1)

    NameTypeDescription
    optionsADV_AUDIO_OPTIONSโ€”