Moog Ladder Filter — User Guide
Vintage analog emulation: implements the classic Moog ladder filter using Topology-Preserving Transform (TPT) with parameter automation, adaptive processing, and authentic analog character.
What this does
This script implements Moog ladder filter emulation — a sophisticated digital recreation of the classic analog filter using Topology-Preserving Transform (TPT) methodology. Unlike simple digital filters, this method provides: (1) Authentic analog character: Emulates the warm, nonlinear behavior of the original Moog design. (2) TPT implementation: Preserves filter topology for numerical stability and musical quality. (3) Parameter automation: Real-time cutoff and resonance sweeps with musical interpolation. (4) Adaptive processing: Automatic iteration control based on filter settings. (5) Professional features: DC blocking, analog-style limiting, output trimming. Process implements 4-pole ladder topology with feedback, handles both static filtering and dynamic parameter sweeps, and applies authentic analog-style saturation. Result: professional-quality filter effects with the warmth and character of vintage analog hardware.
Key Features:
- 11 Professional Presets — Bass, pads, vocals, sweeps, acid bass
- TPT Methodology — Topology-preserving transform for stability
- Real-time Automation — Cutoff and resonance sweeps during playback
- Adaptive Processing — Automatic iteration control for quality/performance
- Analog Emulation — Authentic Moog ladder filter character
- Professional Processing — DC blocking, limiting, output control
Technical Implementation: (1) TPT coefficients: Calculate g = tan(π×fc/fs) for bilinear transform stability. (2) Ladder structure: Four identical one-pole low-pass filters in series. (3) Resonance feedback: Output of fourth stage fed back to input with gain k. (4) Adaptive iterations: 2-4 iterations based on resonance and cutoff for accuracy. (5) Automation system: Chunk-based processing with parameter interpolation. (6) Analog emulation: Soft clipping or tanh limiting for saturation. (7) DC blocking: High-pass filter to remove DC offset. Key insight: TPT methodology preserves the analog filter's topological relationships in the digital domain, maintaining musical quality while ensuring numerical stability.
Quick start
- In Praat, select exactly one Sound object.
- Run script… →
moog_ladder_filter.praat. - Choose Preset for common filter types or "Custom" for full control.
- For static filtering: adjust Cutoff_frequency and Resonance.
- For sweep presets: parameters are pre-configured for musical sweeps.
- Enable DC_blocker to remove low-frequency artifacts.
- Choose Limiter_type for analog saturation character.
- Set Output_trim for gain compensation.
- Click OK — Moog filter applied, result named "originalname_moog".
Filter Theory
Moog Ladder Filter Fundamentals
Analog Circuit Basis
Original Moog design:
Why TPT Methodology?
Topology-Preserving Transform advantages:
- Numerical stability: No uncontrolled feedback buildup
- Frequency preservation: Cutoff frequency accuracy maintained
- Musical quality: Preserves analog filter character
- Efficient computation: Suitable for real-time processing
- Parameter invariance: Stable across entire parameter range
TPT Mathematics
Digital Implementation
TPT coefficient calculation:
Adaptive Processing
Intelligent iteration control:
Normal resonance (< 0.7) and moderate cutoff
Fast processing, good musical quality
Suitable for most applications
Enhanced accuracy (iterations = 3):
High resonance (> 0.7) OR high cutoff (> 0.5×Nyquist)
Better approximation of analog behavior
Noticeable quality improvement
Maximum accuracy (iterations = 4):
Very high resonance (> 0.85) AND high cutoff
Closest analog emulation
Computationally intensive but necessary
Resonance limiting:
k_max = 3.9 (theoretical maximum: 4.0)
Reduced at very high cutoffs for stability
k_max = 3.9 - (g - 0.6) × 3.0 for g > 0.6
Prevents numerical instability
Practical benefits:
Automatic quality/performance balance
No manual iteration setting required
Consistent results across parameter range
🎵 Analog Intuition
Cutoff frequency:
Higher cutoff → brighter sound, more high frequencies
Lower cutoff → darker sound, emphasis on lows
Musical sweep → evolving tone color
Resonance:
Higher resonance → peaked response at cutoff
Very high resonance → self-oscillation (tonal peak)
Musical use → emphasis, squelch, acid bass
Moog character:
Warm saturation → gentle harmonic generation
Smooth response → musical rather than clinical
Nonlinearities → part of the charm
Automation System
Real-time Parameter Control
Chunk-based processing:
Why Chunk-based Automation?
Perceptual advantages:
- Smooth sweeps: No stepping or zipper noise
- Musical timing: Parameters change continuously
- Efficient processing: Balance of quality and performance
- Flexible control: Any parameter can be automated
- Professional quality: Comparable to DAW automation
Complete Processing Pipeline
Filter Presets
Static Filter Presets
🎛️ Fixed Parameter Settings
Character: Classic Moog filter settings for common applications
Parameters: Pre-configured cutoff and resonance values
Best for: Quick tonal shaping, specific frequency effects
Static filter presets:
| Preset | Cutoff (Hz) | Resonance | Sonic Character | Typical Use |
|---|---|---|---|---|
| Bass Filter | 300 | 0.3 | Warm, rounded low-end | Bass enhancement, low-pass |
| Warm Pad | 800 | 0.5 | Smooth, musical highs | Pads, strings, vocals |
| Vocal Formant | 1500 | 0.65 | Peaked, vocal-like | Voice processing, emphasis |
| Bright Sweep | 2500 | 0.55 | Crisp, clear highs | Lead sounds, brightness |
| Resonant Peak | 1200 | 0.75 | Strong resonance peak | Special effects, squelch |
| Telephone | 2800 | 0.35 | Band-limited, vintage | Lo-fi effects, retro |
| Sub Bass | 150 | 0.2 | Deep, powerful lows | Sub-bass, rumble |
| Acid Bass | 500 | 0.75 | Squelchy, resonant | 303-style bass, acid |
Automation Presets
🔄 Dynamic Parameter Sweeps
Character: Evolving filter effects with parameter automation
Parameters: Start/end values for cutoff and resonance
Best for: Dynamic effects, building tension, evolving textures
Automation presets:
| Preset | Cutoff Sweep | Resonance | Sonic Character | Typical Use |
|---|---|---|---|---|
| Cutoff Sweep Up | 200→3000 Hz | 0.5 (static) | Brightening, opening up | Build-ups, transitions |
| Cutoff Sweep Down | 3000→200 Hz | 0.5 (static) | Darkening, closing down | Breakdowns, endings |
| Resonance Sweep | 800 Hz (static) | 0.1→0.85 | Increasing peak emphasis | Texture evolution, tension |
Preset Selection Guide
🎯 Choosing the Right Preset
For bass sounds: Bass Filter, Sub Bass, Acid Bass
For melodic content: Warm Pad, Bright Sweep, Vocal Formant
For special effects: Resonant Peak, Telephone
For dynamic evolution: Cutoff Sweep Up/Down, Resonance Sweep
For custom control: Use Custom preset with manual parameters
Parameters
Filter Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
| Preset | option | Custom | 11 filter presets + Custom |
| Cutoff_frequency_(Hz) | positive | 1000 | Filter cutoff frequency (static mode) |
| Resonance_(0-1) | real | 0.7 | Resonance amount 0-1 (static mode) |
Automation Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
| Start_cutoff_(Hz) | positive | 200 | Starting cutoff for sweeps |
| End_cutoff_(Hz) | positive | 3000 | Ending cutoff for sweeps |
| Start_resonance_(0-1) | real | 0.2 | Starting resonance for sweeps |
| End_resonance_(0-1) | real | 0.8 | Ending resonance for sweeps |
Processing Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
| DC_blocker | boolean | 1 (on) | Remove DC offset with 20Hz high-pass |
| Limiter_type | option | Soft | Saturation character: Soft or Analog-style |
| Output_trim_(dB) | real | 0 | Gain adjustment after filtering |
Automatic Calculations
| Calculation | Formula | Purpose |
|---|---|---|
| TPT coefficient g | tan(π×fc/fs) | Frequency warping for stability |
| Resonance gain k | 4 × resonance^1.5 | Musical resonance response |
| DC blocker alpha | exp(-2π×20/fs) | 20Hz high-pass coefficient |
| Output trim gain | 10^(dB/20) | Linear gain from dB |
Applications
Music Production
Use case: Tonal shaping and creative filtering in mixes
Technique: Use Bass Filter preset for kick drums, Warm Pad for vocals
Example: Apply Acid Bass preset to synth bass for squelchy character
Sound Design
Use case: Creating evolving textures and special effects
Technique: Use automation presets for dynamic filter movements
Workflow:
- Start with harmonic-rich source material
- Use Cutoff Sweep Up for build-up effects
- Use Resonance Sweep for evolving textures
- Combine with other effects (delay, reverb)
- Experiment with extreme resonance settings
Electronic Music Production
Use case: Authentic analog-style filtering for electronic genres
Advantages:
- Authentic Moog character for acid, techno, house
- Precise control over filter sweeps and resonance
- Analog-style saturation and nonlinearities
- Professional automation for dynamic effects
Example: 303-style bass lines with Acid Bass preset
Mixing and Mastering
Use case: Creative EQ and tonal shaping
Technique: Use as character filter instead of surgical EQ
Application: Drum bus processing, vocal sweetening
Practical Workflow Examples
🎵 Acid Bass Line
Goal: Create squelchy 303-style bass line
Settings:
- Preset: Acid Bass
- Source: Simple sawtooth or square wave bass
- Cutoff: 500 Hz (from preset)
- Resonance: 0.75 (from preset)
- DC blocker: On
- Limiter: Analog-style (tanh)
- Output trim: 0 dB
Result: Authentic acid bass with squelchy resonance
🎵 Build-Up Effect
Goal: Create tension build with filter sweep
Settings:
- Preset: Cutoff Sweep Up
- Source: Pad or rhythmic element
- Start cutoff: 200 Hz
- End cutoff: 3000 Hz
- Resonance: 0.5 (static)
- DC blocker: On
- Limiter: Soft
- Output trim: -3 dB (compensate for resonance boost)
Result: Smooth brightness increase building tension
🎵 Vocal Sweetening
Goal: Add warmth and character to vocals
Settings:
- Preset: Warm Pad
- Source: Vocal track
- Cutoff: 800 Hz (from preset)
- Resonance: 0.5 (from preset)
- DC blocker: On
- Limiter: Soft
- Output trim: 0 dB
Result: Warm, musical vocal treatment with analog character
Advanced Techniques
- Serial filtering: Apply multiple Moog filters in sequence
- Parallel processing: Blend dry and filtered signals
- Automation chains: Create complex movements with multiple sweeps
- Extreme settings: Explore self-oscillation at maximum resonance
- Source selection: Use harmonic-rich sources for best results
The Moog filter responds differently to various source materials
- Cutoff 50-300 Hz: Sub-bass and rumble effects
- Cutoff 300-800 Hz: Bass and lower midrange
- Cutoff 800-2000 Hz: Vocal and instrument range
- Cutoff 2000+ Hz: Brightness and presence
- Resonance 0-0.3: Subtle emphasis
- Resonance 0.3-0.7: Musical peak emphasis
- Resonance 0.7-0.9: Strong resonance effects
- Resonance 0.9+: Extreme squelch and self-oscillation
Troubleshooting Common Issues
Cause: Resonance peak creates significant gain boost
Solution: Use output trim to compensate, enable limiting
Cause: Filter resonance amplifying very low frequencies
Solution: Enable DC blocker, check source material
Cause: Parameter changes too abrupt
Solution: Use smaller chunk sizes, ensure smooth interpolation
Cause: Extreme parameter combinations
Solution: The script includes safety limits, use moderate settings
Technical Deep Dive
TPT Mathematics
Topology-Preserving Transform
Mathematical foundation:
Why TPT for Moog Emulation?
Comparison with other methods:
Standard digital filter implementation
Can become unstable with high resonance
Frequency response errors at high cutoffs
Impulse invariant:
Matches impulse response of analog filter
Aliasing issues at high frequencies
Complex computation
State variable:
Separate bandpass, highpass outputs
Good for modulation but less authentic Moog sound
TPT (This implementation):
Preserves analog filter topology exactly
Numerically stable across entire parameter range
Authentic Moog character and nonlinearities
Efficient computation suitable for real-time
Key advantage:
TPT maintains the musical qualities of the analog original
while providing digital stability and precision