Resonant Comb Cascade — User Guide
A cascade of recursive feedback comb filters that turns one delay period into resonant, echoing, and swelling delay structures.
What this does
Resonant Comb Cascade processes the source through one or more recursive feedback-comb stages. Each stage combines the current input with a delayed version of its own output, so a single delay period generates a train of regularly spaced echoes. Cascading several stages reshapes that train into a denser resonant response whose amplitude can build before it decays.
The delay may be fixed or chosen randomly once per run. Short delays emphasize a regularly spaced comb spectrum and produce metallic or resonant coloration; longer delays separate the repeated structures in time. Cascade stages control the order of the cascaded filter, while Feedback amount controls how strongly each stage carries energy forward from one delay period to the next.
y[n] = x[n] + fb · y[n-D]. The script applies that same stage repeatedly in series. The result is therefore a cascaded resonator rather than a simple “repeat N times” delay.
Quick start
- Select exactly one Sound object in Praat.
- Run
Resonant.praat. - Choose a preset or Custom.
- Choose Random or Fixed delay mode. Presets set the delay range/value, but they do not change this mode.
- Set Dry/Wet mix. A value of 0 is an exact dry bypass.
- Leave Safety peak at 0.99 for attenuation-only peak protection, or adjust it as needed.
- Enable Show spectrum if you want the lower visualization panel to compare spectra instead of showing the processed waveform.
Signal flow
Every stage operates on the full Sound and processes every channel independently. The wet signal is not normalized before the dry/wet mix.
Presets
The named presets override Cascade stages, Feedback amount, Delay samples, and Dry/Wet mix. They do not override Delay mode, Random seed, Safety peak, Show spectrum, visualization, or playback.
| Preset | Stages | Feedback | Delay samples | Wet |
|---|---|---|---|---|
| Custom | 20 | 0.50 | 1000 | 70% |
| Light Echo | 5 | 0.50 | 1000 | 70% |
| Medium Resonance | 10 | 0.50 | 1500 | 70% |
| Dense Resonance | 20 | 0.50 | 2000 | 70% |
| Extreme Resonance | 30 | 0.60 | 2500 | 70% |
| Subtle Texture | 3 | 0.40 | 800 | 70% |
| Metallic Comb | 20 | 0.60 | 50 | 60% |
| Short Comb | 10 | 0.50 | 30 | 50% |
| Short Random Echo | 3 | 0.40 | 2000 | 50% |
| Cathedral-like Resonance | 25 | 0.55 | 3000 | 70% |
| Small Room-like Resonance | 8 | 0.45 | 500 | 50% |
| Long Random Echo | 5 | 0.50 | 3000 | 50% |
Parameters
| Parameter | Default | Meaning |
|---|---|---|
| Cascade stages | 20 | Number of recursive comb stages connected in series. Internally constrained to 1–50. |
| Feedback amount | 0.5 | Feedback coefficient for every stage. Internally constrained to 0–0.9. |
| Delay mode | Random | Random: choose one integer delay uniformly from 1…Delay samples. Fixed: use Delay samples exactly. |
| Delay samples | 1000 | Maximum random delay or fixed delay. Rounded to an integer and limited to the available Sound length. |
| Random seed | 0 | 0 gives a new unpredictable random delay; a non-zero seed makes the random delay reproducible. |
| Safety peak | 0.99 | Attenuation-only final peak ceiling. It never raises a quiet result. |
| Dry/Wet mix | 0.7 | Linear wet proportion from 0 to 1. At 0, processing and safety attenuation are skipped for an exact bypass. |
| Show spectrum | Off | Changes the lower visualization panel from output waveform to input/output spectrum overlay. |
| Draw visualization | On | Draw the AudioTools diagnostic page. |
| Play result | On | Audition the selected output when processing finishes. |
Delay time in milliseconds is 1000 · D / sampleRate. The corresponding comb spacing is sampleRate / D Hz.
Cascade response
One stage
Praat evaluates Sound formulas from earlier to later samples, so self[col-D] can refer recursively to samples already computed in the same Formula operation. Out-of-range references before the beginning of the Sound evaluate to zero.
N stages in series
The binomial factor is why a multi-stage cascade can rise before it decays. The number of stages therefore changes both the density and the temporal envelope of the resonant response. The visualization’s impulse-coefficient panel draws this theoretical sequence and normalizes it only for display.
Input & output behavior
| Property | Behavior |
|---|---|
| Channels | Preserved. Mono, stereo, and multichannel Sounds are processed channel-by-channel; channels are not folded together. |
| Sample rate | Preserved. |
| Duration | Preserved exactly; no effect tail is appended. |
| Start time (xmin) | Preserved. |
| Dry/Wet = 0 | Exact copy of the input; filtering and safety attenuation are skipped. |
| Output level | No loudness normalization. With wet > 0, the final mix is attenuated only if its peak exceeds Safety peak. |
| Output name | originalName_PresetName. |
If safety attenuation is required, one gain factor is applied to the complete multichannel result, preserving channel balance and the dry/wet ratio.
Visualization
The visualization uses temporary mono display copies only; it does not alter the output Sound.
- Cascade impulse coefficients: theoretical coefficients at multiples of the actual delay, normalized to their display peak.
- Parameter report: stages, actual delay, delay mode, feedback, mix, peaks, and any safety attenuation.
- First 200 ms overlay: input and processed waveform on a shared amplitude scale.
- Lower panel: processed waveform, or an input/output spectrum overlay when Show spectrum is enabled.
- Summary strip: preset, stages, delay, feedback, wet percentage, channel count, peak change, sample rate, and original start time.
Further Reading
- Praat. Formulas 1.7: Formulas for modification — documents recursive Sound formulas and out-of-range sample references.
- Schroeder, M. R., & Logan, B. F. (1961). “Colorless” Artificial Reverberation. Journal of the Audio Engineering Society, 9(3), 192–197.
- Schroeder, M. R. (1962). Natural Sounding Artificial Reverberation. Journal of the Audio Engineering Society, 10(3), 219–223.