Bursts & Taps Convolution — User Guide
Builds a synthetic impulse response from two sparse taps plus Gaussian-distributed burst clouds, then convolves it with the selected Sound.
What this does
Bursts & Taps Convolution creates a mono impulse response (IR) containing two discrete taps and a set of random burst clusters. Each burst cluster is a cloud of PointProcess events drawn from a Gaussian distribution around a randomly chosen centre. The IR is then convolved with the selected Sound, and the dry and wet paths are mixed according to Wet_dry_percent.
What is convolution?
Convolution applies an impulse response to a sound. Every impulse in the IR creates a delayed, scaled copy of the source; the copies overlap and sum. A sparse IR therefore behaves like a multi-tap echo pattern, while a denser IR produces a more diffuse response. In this tool the IR is generated algorithmically rather than recorded from a physical room.
IR structure
Sparse taps
Tap_1_time_s and Tap_2_time_s place two PointProcess events inside the IR. Custom values are clamped so both taps remain inside the IR domain; if clamping makes them coincide, the script separates them by one sample when possible.
Burst clouds
For each burst, the script first chooses a random centre between the protected margins. It then requests Points_per_burst Gaussian-distributed events:
Timing law
t = burstCenter + randomGauss(0, Burst_stddev_s)
Only events that remain strictly inside the IR are added. Therefore the number of realized burst points can be smaller than Number_of_bursts × Points_per_burst.
Pulse shaping
With Pulse_tone_Hz = 0, taps and burst events remain broadband click-like impulses. With a positive tone frequency, every impulse is convolved with a Hann-windowed cosine grain. The requested carrier is capped below Nyquist and the effective grain width is at least four samples.
Pulse_amplitude does not set the final IR peak. It scales the burst-cloud layer relative to the two sparse taps; after the two layers are combined, the complete IR is peak-scaled to 0.9.
Presets
| Preset | IR | Taps | Bursts × points | σ | Margin |
|---|---|---|---|---|---|
| Subtle Bursts | 1.5 s | 0.12 / 1.00 s | 2 × 6 | 25 ms | 0.25 s |
| Medium Bursts | 1.8 s | 0.15 / 1.20 s | 3 × 10 | 35 ms | 0.30 s |
| Heavy Bursts | 2.5 s | 0.18 / 1.80 s | 5 × 15 | 50 ms | 0.35 s |
| Extreme Bursts | 3.5 s | 0.20 / 2.80 s | 8 × 25 | 80 ms | 0.40 s |
| Custom | Uses the values entered in the form. | ||||
Pulse_amplitude, Wet_dry_percent, or the output switches. All built-in presets use broadband clicks (Pulse_tone_Hz = 0), so their pulse-width value is inactive unless the tone is changed manually.Parameters
| Parameter | Meaning |
|---|---|
| IR_duration_s | Length of the generated impulse response. Internally kept at least four samples long. |
| Tap_1_time_s / Tap_2_time_s | Times of the two sparse reference taps. |
| Number_of_bursts | Number of randomly positioned burst centres. |
| Points_per_burst | Requested Gaussian events in each burst. Out-of-domain draws are discarded. |
| Burst_stddev_s | Standard deviation of event times around each burst centre. |
| Burst_margin_s | Keeps burst centres away from the IR edges; internally limited to 49% of IR duration. |
| Pulse_amplitude | Relative gain of the burst-cloud layer before final IR normalization. |
| Pulse_width_s | Hann tone-grain duration when Pulse_tone_Hz > 0; inactive for broadband-click mode. |
| Pulse_tone_Hz | 0 = broadband clicks; positive = Hann-windowed tonal grains. |
| Wet_dry_percent | Linear mix: 0% dry only, 100% convolution only. |
Output & visualization
- Name:
source_bursts_Preset. - Duration: approximately source duration + IR duration (limited to the actual discrete-convolution result).
- Channels: the mono IR is applied to every source channel; the original channel count is preserved.
- Sample rate: preserved.
- Peak handling: every non-silent final result is normalized to a target peak of 0.95. This is not an attenuate-only safety ceiling; even a quiet dry-only result can be boosted.
- Time origin: processing uses a private zero-based source copy, so the generated output uses the zero-based processing domain rather than preserving a non-zero source
xmin. - Keep_IR: keeps the generated IR as
IR_bursts_Preset; otherwise it is removed.
Visualization
The picture shows the original waveform, result waveform, an IR-structure panel, and a run summary. The two waveform panels use their own automatic amplitude scaling. The IR panel shows the sparse taps and the randomly chosen burst centres with Gaussian-envelope hints; it does not draw every realized Gaussian event. The Summary reports how many burst points were actually placed.