Fade-Out — User Guide
Applies a configurable fade-out envelope to one Sound, with full-duration or tail-only fades, five curve shapes, optional whole-output soft waveshaping, explicit normalization, playback, and visualization.
What this does
The script copies the selected Sound and multiplies it by a fade-out gain envelope. Before the fade begins, gain remains 1.0. Inside the fade region, the selected curve falls toward zero. A partial fade covers only the final N seconds; a full-duration fade spans the entire Sound.
xmin/xmax, so non-zero-start Sound objects are handled correctly.An optional soft compression waveshaper is applied to the whole copied Sound before the fade-out. Optional peak normalization is a separate final stage and is off by default.
Quick start
- Select exactly one Sound object.
- Run
Linear_Fade-Out.praat. - Choose a preset or Custom.
- Choose the curve and whether the fade spans the full Sound or only its final N seconds.
- Optionally enable soft compression and/or final normalization.
- Leave Draw_visualization and Play_result enabled if desired, then click OK.
Fade curves
Let φ = (x − fadeStart) / fadeLen within the fade region, so φ runs from 0 to 1 in continuous time.
| Curve | Envelope inside fade | Character |
|---|---|---|
| Linear | 1 − φ | Constant-rate fall. |
| Exponential | (base^(1−φ) − 1) / (base − 1) | For base > 1, holds level longer and drops more strongly toward the end. |
| Logarithmic | 1 − ln(1 + φ(base−1)) / ln(base) | For base > 1, drops quickly and then approaches zero more gradually. |
| S-Curve | (1 + cos(πφ)) / 2 | Smooth slope at both ends. |
| Quarter-cosine | cos(πφ/2) | Gentle initial decline followed by a stronger fall toward zero. |
Curve_base = 1 is handled explicitly as the exact linear limiting case.Presets
Preset selection overwrites the parameters listed below. Parameters not mentioned by a preset retain the value chosen in the form.
| Preset | Curve | Fade range | Soft compression |
|---|---|---|---|
| Custom | Form values | Form values | Form values |
| Natural Decay | Quarter-cosine | Full duration | Off |
| Hard Cut | Exponential, base 30 | Final 10% of Sound duration | Off |
| Cinematic Close | S-Curve | Full duration | On, denominator 6 |
| Slow Dissolve | Logarithmic, base 8 | Full duration | Off |
| Tail Trim | Linear | Final 3 s, clamped to Sound duration | Off |
| Compressed Exit | S-Curve | Full duration | On, denominator 2 |
Parameters
| Parameter | Default | Behavior |
|---|---|---|
| Preset | Custom | Selects one of the configurations above. |
| Curve_shape | Quarter-cosine | Linear, Exponential, Logarithmic, S-Curve, or Quarter-cosine. |
| Curve_base | 10 | Used only by Exponential/Logarithmic; must be ≥ 1. Base 1 gives a linear fade. |
| Full_duration | On | When on, the fade spans the complete Sound. |
| Fade_seconds | 3.0 s | Used only when Full_duration is off. The fade covers the last N seconds; longer values are clamped to the Sound duration. |
| Apply_compression | Off | Applies the soft waveshaper to the whole copied Sound before fading. |
| Compression_denominator | 4.0 | Positive shaping constant C; higher values produce less processing. Presets use 2 or 6; the form suggests roughly 2–8. |
| Normalize_output | Off | If enabled and output is non-silent, scales sample peak to 0.99 after compression and fade. |
| Draw_visualization | On | Draws the diagnostic page in Praat Picture. |
| Play_result | On | Plays the processed Sound. |
Soft compression
When enabled, the script first applies the memoryless waveshaper
where C = Compression_denominator. This reduces larger sample magnitudes more strongly than small ones for the normal parameter ranges used by the presets. It is not an envelope-following compressor: there is no threshold, ratio, attack, release, detector, or makeup gain.
Processing details
The script preserves the source's channels, sampling frequency, duration, and actual time domain. The same time-varying gain law is applied to every channel.
Because normalization is off by default, both the soft compression and fade retain their natural level effect. Enabling normalization can raise or lower the entire processed result so its sample peak becomes 0.99.
srcEnd, but the final stored sample usually occurs slightly before that boundary and therefore need not equal exact digital zero.Visualization
The 8-inch Picture page contains:
- Original waveform in gray.
- Fade-out envelope on a 0–1 gain scale, with the fade region shaded orange; partial fades show a dotted
fadeStartmarker. - Processed waveform in orange.
- Summary strip with source duration/sample rate, curve, absolute fade times, compression state, normalization state, output peak, and preset.
The Original and Output waveform panels share the same amplitude scale. The envelope panel shows only the fade multiplier; any preceding waveshaping and final normalization are reported separately.
Output
- Object name:
<source>_fadeOut - Channels: preserved from the source
- Sampling frequency: preserved
- Duration and time domain: preserved
- Default normalization: off
- Dependencies: Praat only