Chaotic Bloom — User Guide

Stochastic convolution effect built from Poisson-distributed pulse trains, fixed six-second chirped envelopes, optional stereo-decorrelated IRs, and a final wet/dry blend.

Author: Shai Cohen Affiliation: Department of Music, Bar-Ilan University, Israel Version: 0.5.1 (2026) License: MIT License Repo: https://github.com/ShaiCohen-ops/Praat-plugin_AudioTools
Contents:

What this does

Chaotic Bloom generates one or two stochastic impulse responses from Praat Poisson point processes, converts each point process to a pulse-train Sound, shapes it with a raised-sine envelope, exponential decay and accelerating sinusoidal modulation, then convolves the source. The source sample rate and channel count are retained.

Randomness: the Poisson processes have no exposed seed. Re-running the same settings can therefore produce a different impulse cloud.

Quick start

  1. Select exactly one Sound.
  2. Run Chaotic_Bloom.praat.
  3. Choose Default, Dense Bloom, Sparse Bloom, Wide Stereo Shimmer, or Custom.
  4. Set Wet/Dry, target peak and visualization/playback as needed.

Output: <source>_bloom_<preset>.

Impulse-response construction

The IR duration is fixed internally at 6 seconds. For the left/shared IR:

IR(t) = pulseTrain(t) × sin²(pi t/T) × 80^(-t/T)
        × [1 + 0.8 sin(2 pi × 200 × t²/T)]

The quadratic phase gives an instantaneous modulation frequency that rises from 0 to approximately 400 Hz by the end of the 6-second IR. The stereo right IR uses density 1.07 × Poisson_density, adaptation time 0.875 × Pulse_width, interpolation depth about 1.04 × the left value, decay base 75, modulation depth 0.75, and a chirp ending near 360 Hz.

Important Tail_duration_s semantics: Tail_duration_s does not set the IR/reverb decay length. The IR remains 6 s. The script appends that amount of silence to the source before convolution, so it extends the Sound object's final duration with trailing silence; the audible convolution tail is governed by the fixed 6-second IR.

Stereo and multichannel processing

Exactly 2 channels

Left and right are convolved with separate decorrelated IRs. In each channel, dry and convolved signals are first crossfaded with complementary sinusoidal gains: 2.0 Hz on the left channel and 1.8 Hz on the right. This is a dry/convolved crossfade inside each channel; it does not route the left signal into the right channel or vice versa. A second user-controlled Wet/Dry blend is then applied against the original channel.

Mono or 3+ channels

A single shared IR is convolved with the complete Sound, so every channel receives the same IR. There is no 2.0/1.8-Hz crossfade stage in this branch; only Convolution_mix followed by the outer Wet/Dry blend is used.

Presets

PresetTail paddingDensityAdapt. factorAdapt. timeInterpolation depthConvolution mix
Default2.0 s3000/s1.00.04 s25000.40
Dense Bloom3.0 s4500/s1.10.05 s22000.50
Sparse Bloom1.5 s1800/s0.90.03 s28000.30
Wide Stereo Shimmer2.5 s3200/s1.00.035 s26000.35
Preset override scope: presets override Tail_duration_s, Poisson_density, the three public Pulse_* fields and Convolution_mix. Wet_dry_percent, Scale_peak, Draw_visualization and Play_result remain as entered.

Parameters

ControlDefaultActual role
Tail_duration_s2.0Silent source padding before convolution; not the six-second IR duration.
Poisson_density3000Point-process rate for the left/shared IR; stereo right uses 1.07×.
Pulse_amplitude1.0Praat pulse-train adaptation factor, not literal pulse amplitude.
Pulse_width0.04Praat pulse-train adaptation time in seconds, not literal impulse width.
Pulse_period2500Rounded to the pulse-train sinc interpolation depth in samples; not a period.
Convolution_mix0.4Gain applied to the convolved signal before the later crossfade/mix stage.
Wet_dry_percent50Outer dry/bloom blend, clamped 0–100%.
Scale_peak0.85Final target peak for every non-silent output.

Output, duration, level and visualization

The visualization shows the first 3 s of the generated IR, a parameter/algorithm report, a first-500-ms original/processed overlay, a full waveform comparison on a shared amplitude scale, and a summary strip.