Morphing Resonance — User Guide
Poisson-impulse convolution reverb with a time-varying chirp envelope, decorrelated stereo processing, and a delayed chorus layer.
What this does
Morphing Resonance builds a sparse synthetic impulse response from a Poisson point process, shapes that IR with an exponentially decaying sinusoidal chirp, convolves it with the source, and adds a short delayed chorus layer. The result is a resonant reverb whose spectral emphasis changes through the tail rather than remaining static.
2π·t·(fstart + frange·t/T). Its instantaneous frequency therefore runs from fstart to fstart + 2·frange. The GUI field Frequency_range_Hz is retained for compatibility with the established presets, so the actual sweep span is twice the entered range.Quick start
- Select exactly one Sound object.
- Run
Morphing_Resonance.praat. - Choose one of the four built-in presets or Custom.
- Set Wet/Dry and, if needed, edit the IR, chirp, chorus, tail, fade, and normalization controls.
- Click OK. The processed Sound is created as
original_morphing_PresetName.
Presets
| Preset | Tail | Density | Chirp start | Range field | Actual chirp end | Conv. mix | Chorus |
|---|---|---|---|---|---|---|---|
| Subtle Morphing | 1.5 s | 1200/s | 180 Hz | 600 Hz | 1380 Hz | 0.22 | 0.20 @ 8 ms |
| Medium Morphing | 2.0 s | 1800/s | 220 Hz | 880 Hz | 1980 Hz | 0.32 | 0.30 @ 10 ms |
| Heavy Morphing | 2.5 s | 2400/s | 260 Hz | 1150 Hz | 2560 Hz | 0.42 | 0.40 @ 12 ms |
| Extreme Morphing | 3.5 s | 3200/s | 300 Hz | 1500 Hz | 3300 Hz | 0.52 | 0.50 @ 15 ms |
Presets replace the tail, Poisson, chirp, convolution, chorus, and fade values. Wet_dry_percent, Scale_peak, Draw and Play remain user-controlled.
Parameters
| Parameter | Default | Meaning |
|---|---|---|
| Tail_duration_s | 2.0 | Silent tail appended to the source; output duration is source duration + this tail. |
| Poisson_density | 1800 | Average point density of the synthetic IR. |
| Exponential_base | 85 | Controls the IR decay envelope; internally clamped to at least 1. |
| Frequency_start_Hz | 220 | Initial instantaneous chirp frequency. |
| Frequency_range_Hz | 880 | Legacy range parameter; actual end frequency is start + 2×range. |
| Modulation_depth | 0.5 | Depth of the sinusoidal modulation embedded in the IR envelope. |
| Chorus_mix | 0.3 | Gain of the delayed copy inside the chorus stage. |
| Chorus_delay_ms | 10 | Chorus delay; internally constrained to at least one sample. |
| Convolution_mix | 0.32 | Gain applied to the convolved return before chorus and final wet/dry extraction. |
| Wet_dry_percent | 60 | True crossfade: 0% = dry only, 100% = effect only. |
| Fadeout_duration_s | 1.0 | Cosine fade applied only inside the appended tail; capped at Tail_duration_s. |
| Scale_peak | 0.9 | Target peak normalization for every non-silent result, not a ceiling-only limiter. |
Processing pipeline
- Append a silent tail with the same channel count as the source.
- Create a 4.5 s Poisson process and convert it to a pulse-train Sound.
- Apply exponential decay plus the chirp modulation formula to the IR.
- Convolve the extended source with that IR and scale the convolution return.
- Create a delayed chorus copy using the convolved signal itself.
- Construct an internal
dry + effectbuffer, then explicitly extract the effect and perform the requested wet/dry crossfade. - Fade only the appended tail and normalize the final non-silent result to Scale_peak.
Channels, randomness & output
Stereo: left and right channels are processed separately. The right IR uses slightly different density, duration, decay, modulation, chirp, convolution, chorus, and delay values for decorrelation. The two channels are recombined before final peak normalization so their relative balance is retained.
Mono and 3+ channels: the full multichannel Sound is processed with one shared mono IR; the original channel count is preserved. The script does not downmix these inputs.
The Poisson processes are not explicitly seeded, so repeated runs may produce different IR realizations. Output name: original_morphing_Custom|Subtle|Medium|Heavy|Extreme.
Visualization
The visualization includes the actual instantaneous-frequency sweep, the real generated IR waveform, a short dry/result zoom overlay, the complete output waveform, and a compact summary. The chirp panel intentionally shows the actual sweep from fstart to fstart + 2×frange, matching the DSP rather than the GUI label.