Nodes/Audio Batch/Audio Test Signal Generator
ComfyUI Node

Audio Test Signal Generator

Audio Test Signal Generator — a lab bench for your audio pipeline

By set-soft·Created about a year ago·Updated about a year ago· 8
Audio Test Signal Generator
    • audio_out
    waveform_typesine
    frequency440
    frequency_end880
    amplitude0.50
    dc_offset0.00
    phase0
    duration3.0
    sample_rate44100
    batch_size1
    channels1
    seed0

    When your audio workflow breaks, you don't want to debug it with a podcast file that's quiet in the wrong places. You want a signal you can predict exactly: a 440 Hz sine, a white noise burst, a silence gap of precisely three seconds. Audio Test Signal Generator (SET_AudioTestSignalGenerator) produces those on demand - no files, no downloads, just deterministic audio for testing, calibrating, or feeding a pipeline while you develop it.

    The main input: waveform_type

    Ten signal types, and understanding the menu is the whole game:

    • Periodic: sine, square, sawtooth, triangle - the classic oscillator shapes, all at frequency Hz.
    • Sweep: sweep - a chirp that glides linearly from frequency to frequency_end. Great for testing how a pipeline behaves across a frequency range in one clip.
    • Noise: white_noise, pink_noise, brownian_noise - the three colors. White is flat across the spectrum, pink is the "natural" one that sounds like rain, brown is the deep rumble. A reproducible seed input makes noise generation deterministic, which is rare and genuinely useful for comparing runs.
    • Special: impulse (one full-amplitude sample - the audio equivalent of a flashbulb, useful for finding latency) and silence (all zeros, which is exactly as useful as it sounds for pacing and padding).

    The rest of the panel

    • frequency (default 440) / frequency_end (default 880) - Hz, for periodic and sweep types.
    • amplitude (0–1, default 0.5) - peak level; ignored for silence.
    • dc_offset - a constant added to the whole signal, shifting it up or down. Niche, but it's how you'd deliberately build a DC-biased signal to see if your downstream node handles it.
    • phase - degrees (0–360), for aligning periodic signals against each other.
    • duration - a string, accepting "5.5" seconds or HH:MM:SS.ss format, same flexible parsing as Audio Cut.
    • sample_rate (default 44100), channels (1–8), batch_size (1–64) - shape of the output. Generate a batch of identical test tones and feed the whole stack through your batch-based pipeline.

    The output is audio_out: the generated signal in standard ComfyUI AUDIO form.

    What it's actually for

    Debugging, mostly. Insert a sine before a suspected-broken node and you can hear/see exactly what that node does to a known input. Use silence to inject a precisely-timed gap into a concatenation. Use impulse to measure pipeline latency. And pair it with Audio Musical Note - note-to-frequency converter - to generate actual notes: the pack's generate_and_blend.json example builds a chord from four generated notes blended together.

    Install & gotchas

    From ComfyUI Manager, search "Audio Batch", or:

    cd ComfyUI/custom_nodes/
    git clone https://github.com/set-soft/ComfyUI-AudioBatch
    pip install seconohe
    

    Restart ComfyUI. No models to download - the whole point is nothing external.

    Gotchas are few but real. A square wave at full amplitude is loud; keep amplitude modest (0.5 is a sane default) or you'll clip downstream. frequency above your sample rate's Nyquist limit (half the rate) produces nonsense - the node's max of 22050 assumes 44.1 kHz. And the sweep is linear, so it spends equal time per Hz band, not equal time per octave - fine for testing, just don't expect a log-sweep's frequency response curve.

    Categoryaudio/generation

    Inputs (11)

    NameTypeDefaultDescription
    waveform_typeCOMBOsine10 options: sine, square, sawtooth, triangle, sweep, white_noise, +4
    frequencyFLOAT4400–22050Frequency in Hz for periodic waveforms (or start frequency for sweep).
    frequency_endFLOAT8800–22050End frequency in Hz for 'sweep' waveform type.
    amplitudeFLOAT0.500–1Amplitude of the signal (0.0 to 1.0).
    dc_offsetFLOAT0.00-1–1DC offset to add to the signal.
    phaseFLOAT00–360Phase offset in degrees (0-360).
    durationSTRING3.0Duration time in HH:MM:SS.ss format, or just a float for seconds.
    sample_rateINT441001–192000
    batch_sizeINT11–64
    channelsINT11–8Number of audio channels (1=mono, 2=stereo, etc.).
    seedoptINT00–18446744073709550000

    Outputs (1)

    NameTypeDescription
    audio_outAUDIO