Smooth Cosmic Reverb — User Guide

A cascade of modulated recursive delay stages with a separate wet path, decaying high-frequency enhancement and literal dry/wet mixing.

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

Smooth Cosmic Reverb builds an evolving reverb from a cascade of recursive delay stages. Delay time changes with stage number, each stage receives a decaying coefficient and periodic amplitude modulation, and a separate first-difference high-frequency term adds a short-lived bright edge to the wet signal.

Important: unlike Ribbon Shimmer, these stages are recursive. In Praat's left-to-right Sound formula evaluation, self(x-delay) reads already processed samples from the same stage, so each stage behaves as a feedback-delay process rather than as an independent tap.

Quick start

  1. Select one mono or stereo Sound.
  2. Run Smooth_Cosmic_Reverb.praat.
  3. Choose a preset or Custom.
  4. Set the wet/dry percentage.
  5. Enable visualization/playback as desired and click OK.
0% wet returns the dry audio plus the requested silent tail. 100% wet returns the isolated recursive reverb component.

Presets

PresetTailStagesBase ampDecayDelay start/rangeDelay modAmp modHF
Subtle1.5 s250.150.9750 ms / 300 ms±50 ms0.150.05
Medium2.0 s450.220.9680 ms / 500 ms±80 ms0.200.08
Heavy3.0 s700.280.95100 ms / 750 ms±120 ms0.300.12
Extreme4.5 s1000.350.94120 ms / 1200 ms±180 ms0.400.15

Preset fade times are 1.0, 1.2, 1.8 and 2.5 seconds respectively. Wet_dry_percent, visualization and playback are not overridden.

Parameters

ParameterDefaultMeaning
Tail_duration_s2.0Silent extension used by the recursive tail.
Number_of_delays45Number of recursive delay stages.
Base_amplitude0.22Starting feedback coefficient before stage-wise decay/modulation.
Decay_factor0.96Stage coefficient decay. Must be below 1.
Delay_start_s0.08Base delay offset.
Delay_range_s0.5Linear delay increase across stages.
Delay_mod_depth_s0.08Sinusoidal perturbation of the stage delays.
Amp_mod_depth0.2Depth of stage-to-stage coefficient modulation.
Mod_freq_factor0.5Controls the stage-index sinusoid used in the nominal coefficient plan.
HF_enhancement0.08Amount of non-recursive first-difference enhancement.
HF_decay_rate4.0Controls how quickly HF enhancement decreases over output time.
Wet_dry_percent60True dry/wet crossfade, clamped to 0…100%.

Recursive reverb structure

delay[k] = delay_start + delay_range × (k/N) + delay_mod_depth × sin(0.6k) amp[k] = base_amplitude × decay_factor^k × (0.8 + amp_mod_depth × sin(k × mod_freq_factor))

The delay is never allowed below one sample. Different stage indices select slightly different time-domain tremolo formulas, adding motion to the recursive tail.

After all stages, the script subtracts the unchanged dry channel to isolate a wet-only component. A gentle time rolloff is applied, followed by non-recursive first-difference HF enhancement whose contribution decays exponentially over the whole output.

Stereo uses a decorrelated right-channel design: shifted delay parameters, slightly lower base amplitude/decay, and different cosine/sine modulation patterns.

Custom settings are rejected if Decay_factor ≥ 1 or if the script's feedback estimate reaches 0.95. These guards are intended to prevent unstable recursive growth.

Channels, tail and level

Visualization

The display contains the dry waveform, the full output including the tail, the nominal delay/amplitude plan for the left/mono recursive stages, and a compact summary. Waveforms are drawn on a fixed -1…+1 amplitude scale.

The delay/amplitude diagram describes the stage parameters. Because the audio stages are recursive, it is not a literal list of isolated echoes.

Output

Object name: <source>_cosmic_<Custom|Subtle|Medium|Heavy|Extreme>.