Cascading Echoes — User Guide

Randomized multi-tap FIR delay: parallel delayed copies of the dry signal with exponential tap gains, independent L/R tap sets, and optional multichannel alternation.

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

Despite its name, the current engine is not a feedback delay and not a chain of echoes feeding later echoes. It is a parallel multi-tap FIR structure. For each tap k, the script chooses one random delay and adds a delayed copy of the original dry signal with gain decay^k.

wet[n] = dry[n] + sum(k=1..N) decay^k × dry[n - delay[k]]

The source is first extended with a silent tail, so delayed copies from the end of the source can ring into that region.

Quick start

  1. Select exactly one Sound.
  2. Run Cascading_Echoes.praat.
  3. Choose Default, Short and Tight, Long Ambient Tail, Wide Stereo Delay, or Custom.
  4. Set Wet/Dry and optionally visualization/playback.

Output: <source>_echo_<preset>. Output duration is source duration + Tail_duration_s.

Tap generation and randomness

Delay controls are specified in milliseconds and converted to integer samples at the source sample rate. Each run independently draws one left-range and one right-range delay per tap. There is no user seed, so repeated runs can produce different patterns.

Custom ranges are automatically reordered if minimum exceeds maximum. All generated delays are at least one sample. Iterations is limited internally to 256, and decay values above 1.0 are capped at 1.0.

Tail truncation: if the selected silent-tail duration is shorter than the longest generated delay, delayed content from the end of the source is truncated. The Info window reports this condition.

Presets

PresetTailTapsL delayR delayDecay L/R
Default1.0 s510–100 ms12–120 ms0.80 / 0.75
Short and Tight0.5 s35–40 ms7–50 ms0.90 / 0.88
Long Ambient Tail2.5 s725–250 ms30–300 ms0.85 / 0.82
Wide Stereo Delay1.5 s615–120 ms40–350 ms0.78 / 0.72
Preset override scope: a built-in preset overrides tail, iterations, both delay ranges and both decay values. Wet/Dry, Draw_visualization and Play_result remain user-controlled.

Parameters

ControlDefaultMeaning
Tail_duration_s1.0Silent extension appended before the taps are calculated into the output.
Iterations5Number of parallel delayed copies per tap set.
Delay_min_ms / Delay_max_ms10 / 100Left/odd-channel random-delay interval.
Stereo_delay_min_ms / max12 / 120Right/even-channel random-delay interval.
Decay_left / Decay_right0.80 / 0.75Tap k uses gain decay^k.
Wet_dry_percent60Linear final wet/dry mix, clamped 0–100%.

Channel behavior and level

Visualization

The page shows: an echo-tap diagram (L green, R blue, dry at time zero), a parameter/tap report, a first-500-ms original/processed overlay, a full original/processed waveform comparison on a shared amplitude scale, and a summary strip. For stereo, the report explicitly notes the per-channel peak scaling; for 3+ channels it reports the odd/even tap assignment.