Amplitude-Following Wah-Wah — User Guide
Dynamic filter effect that automatically follows audio amplitude: creates expressive wah-wah and filter modulation effects where the filter frequency tracks the loudness of your audio in real-time.
What this does
This script implements an amplitude-following wah-wah effect that dynamically adjusts a band-pass filter's center frequency based on the audio's instantaneous amplitude. Unlike traditional wah-wah pedals that require manual control, this automated version analyzes the audio's loudness envelope and maps it to filter frequency changes, creating expressive filter sweeps that naturally follow the dynamics of your performance.
Key Features:
- 4 Specialized Presets – Classic guitar, funky bass, subtle vocal, sci-fi zap
- Amplitude Tracking – Real-time loudness-to-frequency mapping
- Dynamic Filter Control – Automatic filter sweeps based on audio dynamics
- Customizable Ranges – Full control over frequency and bandwidth parameters
- High-Quality Filtering – FormantGrid-based band-pass filtering
- Real-time Preview – Immediate auditory feedback
- Preset System – Quick access to professionally tuned settings
Technical Implementation: (1) Amplitude Analysis: Convert sound to Intensity object with 100Hz minimum frequency for adequate time resolution. (2) Envelope Extraction: Analyze intensity values across all time frames, calculate minimum/maximum for normalization. (3) Frequency Mapping: For each time point: normalize amplitude (0-1), map to frequency range (min_cutoff to max_cutoff), set constant bandwidth. (4) Filter Application: Create FormantGrid with dynamic formant points, apply band-pass filter to original sound. (5) Output: Rename processed sound, play result, clean up intermediate objects. Key insight: The wah effect emerges from the correlation between amplitude and filter frequency — loud moments get bright, filtered tones while quiet moments get dark, muted tones.
Quick start
- In Praat, select exactly one Sound object.
- Run script… →
amplitude_following_wah.praat. - Choose a Preset Style:
- Classic Guitar – Mid-range, sharp wah for guitar
- Funky Bass – Low-range, thumpy wah for bass
- Subtle Vocal – Wide, gentle wah for vocals
- Sci-Fi Zap – Extreme range, very sharp effects
- Custom – Manual parameter control
- If selecting Custom, adjust parameters:
- Custom_Min_Hz – Minimum filter frequency
- Custom_Max_Hz – Maximum filter frequency
- Custom_Bandwidth_Hz – Filter bandwidth
- Click OK – processing begins automatically.
- The script:
- Analyzes amplitude envelope
- Creates dynamic filter sweeps
- Applies wah-wah effect
- Plays result immediately
- Creates "originalname_wah_presetname" object
Wah Presets
Preset Overview
Four professionally tuned presets provide instant access to classic wah-wah sounds and creative filter effects:
| Preset Name | Frequency Range | Bandwidth | Character | Best For |
|---|---|---|---|---|
| Classic Guitar | 400-2500 Hz | 100 Hz | Mid-range, sharp | Electric guitar, lead instruments |
| Funky Bass | 80-800 Hz | 80 Hz | Low-range, thumpy | Bass guitar, low instruments |
| Subtle Vocal | 500-1500 Hz | 300 Hz | Wide, gentle | Vocals, acoustic instruments |
| Sci-Fi Zap | 200-4000 Hz | 50 Hz | Extreme, sharp | Sound design, special effects |
| Custom | User defined | User defined | Full control | Experimental/advanced use |
🎸 Classic Guitar (Mid-range, sharp)
Use case: Traditional wah-wah effect for electric guitar and lead instruments
- Frequency range: 400-2500 Hz (vocal formant range)
- Bandwidth: 100 Hz (sharp, resonant filter)
- Filter character: Pronounced mid-range emphasis
Result: Classic crybaby-style wah with strong mid-range presence and clear filter sweeps. Perfect for funk, rock, and blues guitar applications.
🎶 Funky Bass (Low-range, thumpy)
Use case: Bass guitar wah and low-frequency filter effects
- Frequency range: 80-800 Hz (bass frequency focus)
- Bandwidth: 80 Hz (tight, focused filter)
- Filter character: Deep, thumping filter sweeps
Result: Powerful bass wah effect that preserves low-end punch while adding expressive filter movement. Ideal for funk basslines and electronic bass processing.
🎤 Subtle Vocal (Wide, gentle)
Use case: Gentle filter effects for vocals and acoustic instruments
- Frequency range: 500-1500 Hz (speech intelligibility range)
- Bandwidth: 300 Hz (wide, gentle filter)
- Filter character: Smooth, musical sweeps
Result: Subtle vocal filter effect that adds movement without overwhelming the source. Maintains vocal intelligibility while adding expressive filter character.
🚀 Sci-Fi Zap (Extreme range, very sharp)
Use case: Dramatic filter effects for sound design and special effects
- Frequency range: 200-4000 Hz (full spectrum sweep)
- Bandwidth: 50 Hz (very sharp, narrow filter)
- Filter character: Extreme, resonant sweeps
Result: Intense filter effects with dramatic frequency sweeps and strong resonance. Perfect for sci-fi sounds, laser effects, and experimental music.
Preset Selection Guide
- For guitar/lead instruments: Classic Guitar
- For bass/low instruments: Funky Bass
- For vocals/acoustic instruments: Subtle Vocal
- For sound design/effects: Sci-Fi Zap
- For experimental processing: Custom with extreme settings
Pro tip: If you're unsure, start with Classic Guitar — it works well with most instrumental sources and provides a good balance of effect audibility and musicality.
Technical Theory
Amplitude-Following Concept
🎚️ Dynamic Envelope Tracking
Core principle: Filter frequency = f(amplitude)
Musical result: Performance dynamics control filter sweeps
Technical implementation: Real-time amplitude-to-frequency mapping
Creative potential: Expressive, performance-driven filter effects
Amplitude Analysis
Intensity extraction process:
Filter Mathematics
Band-Pass Filter Properties
FormantGrid filter characteristics:
Dynamic Frequency Mapping
Amplitude to frequency conversion:
Complete Processing Algorithm
Step-by-Step Implementation
Psychoacoustic Considerations
Perception of Wah Effects
How we hear wah-wah effects:
200-500 Hz: "Dark" wah, muted character
500-1500 Hz: "Mid" wah, vocal-like quality
1500-3000 Hz: "Bright" wah, sharp presence
3000+ Hz: "Thin" wah, nasal character
Bandwidth Perception:
< 50 Hz: Very sharp, strong resonance
50-150 Hz: Sharp, pronounced wah
150-300 Hz: Moderate, musical wah
> 300 Hz: Gentle, subtle filtering
Speed Perception:
Fast sweeps: Rhythmic, obvious effect
Slow sweeps: Expressive, subtle effect
The speed depends on amplitude change rate in source
Parameters
Custom Parameters
| Parameter | Type | Range | Default | Description |
|---|---|---|---|---|
| Custom_Min_Hz | positive | 50-2000 Hz | 400 Hz | Filter frequency at minimum amplitude |
| Custom_Max_Hz | positive | 500-5000 Hz | 2500 Hz | Filter frequency at maximum amplitude |
| Custom_Bandwidth_Hz | positive | 20-500 Hz | 150 Hz | Width of band-pass filter |
Parameter Effects Guide
50-200 Hz: Very dark baseline, bass emphasis
200-500 Hz: Warm baseline, guitar-friendly
500-1000 Hz: Mid-range baseline, vocal-friendly
1000-2000 Hz: Bright baseline, special effects
Max_Hz Effects (500-5000 Hz):
500-1500 Hz: Subtle range, gentle sweeps
1500-3000 Hz: Moderate range, classic wah
3000-5000 Hz: Extreme range, dramatic effects
>4000 Hz: Potentially harsh, use carefully
Bandwidth_Hz Effects (20-500 Hz):
20-50 Hz: Very sharp, strong resonance
50-150 Hz: Sharp, pronounced filtering
150-300 Hz: Moderate, musical filtering
300-500 Hz: Gentle, subtle tone shaping
Parameter Combinations
Creating Specific Wah Characters
Recommended parameter sets for common effects:
Min_Hz: 400, Max_Hz: 2000, Bandwidth: 80
Character: Classic guitar wah with strong mid-range
Bass Wah:
Min_Hz: 100, Max_Hz: 800, Bandwidth: 60
Character: Deep, thumping bass filter
Vocal Filter:
Min_Hz: 500, Max_Hz: 1500, Bandwidth: 200
Character: Gentle, speech-friendly filtering
Extreme FX Wah:
Min_Hz: 200, Max_Hz: 4000, Bandwidth: 40
Character: Dramatic, resonant special effects
Subtle Tone Shaper:
Min_Hz: 800, Max_Hz: 1800, Bandwidth: 300
Character: Gentle, almost imperceptible movement
Applications
Instrument Processing
Use case: Adding expressive filter effects to musical instruments
Technique: Match preset to instrument frequency range
Examples: Guitar wah, bass filter, synth sweeps, horn processing
Vocal Effects
Use case: Creating dynamic vocal filters and talk-box effects
Technique: Use Subtle Vocal preset or custom 500-1500Hz range
Results: Expressive vocal filtering, pseudo-talk-box, robotic vocals
Sound Design
Use case: Generating movement and expression in synthetic sounds
Technique: Extreme settings with Sci-Fi Zap or wide custom ranges
Applications: Laser sounds, robot voices, alien effects, evolving pads
Rhythmic Enhancement
Use case: Adding filter movement to rhythmic material
Technique: Process drums or percussive loops with moderate settings
Results: Dynamic drum processing, filter-house effects, rhythmic sweeps
Practical Workflow Examples
🎸 Guitar Wah Processing
Goal: Add classic wah-wah to electric guitar recording
Settings:
- Preset: Classic Guitar
- Source: Electric guitar recording
- Performance: Dynamic playing with volume variations
Result: Expressive wah-wah that follows picking dynamics and volume swells. Creates authentic crybaby-style effects automatically.
🎤 Vocal Talk-Box Effect
Goal: Create talk-box-like filter effects on vocals
Settings:
- Preset: Subtle Vocal or Custom 600-1200Hz
- Source: Clear vocal recording with good dynamics
- Performance: Articulate singing with consonant emphasis
Result: Vocal filter that emphasizes consonants and follows vocal dynamics, creating synthetic talk-box character.
🚀 Sci-Fi Sound Design
Goal: Create dramatic filter effects for sci-fi sounds
Settings:
- Preset: Sci-Fi Zap
- Source: Synthetic sounds, noise, or simple waveforms
- Performance: Source with strong amplitude variations
Result: Extreme filter sweeps with strong resonance, perfect for laser zaps, robot voices, and alien communication effects.
Advanced Techniques
- Pre-processing: Add compression to source for more consistent wah effect
- Post-processing: Add reverb/delay after wah for spatial effects
- Layered processing: Process different frequency bands separately
- Extreme settings: Use very narrow bandwidth for strong resonance effects
Experiment with source material that has unusual amplitude characteristics for unique results
- Best sources: Dynamic performances, instruments with clear attacks, vocal consonants
- Good sources: Sustained tones with volume swells, rhythmic material
- Challenging sources: Consistent amplitude material, very dense mixes
- Experimental sources: Noise, granular textures, field recordings
Troubleshooting Common Issues
Cause: Source has consistent amplitude, range too narrow
Solution: Use more dynamic source, widen frequency range, add compression to source
Cause: Range too wide, bandwidth too narrow, extreme settings
Solution: Use smaller frequency range, increase bandwidth, try gentler presets
Cause: Source has abrupt amplitude changes
Solution: Use source with smoother dynamics, wider bandwidth, or pre-smooth amplitude
Cause: Filter range excludes important frequency content
Solution: Adjust min/max Hz to preserve desired frequency content