Professional Audio Effects Reference
Complete reference for all 15+ professional-grade audio effects with detailed parameter specifications, preset configurations, and usage examples.
Overview
Every effect in OwnaudioSharp implements the IEffectProcessor interface and provides:
- Real-time Processing - Sample-accurate, low-latency processing
- Preset System - Pre-configured settings for common scenarios
- Parameter Ranges - Validated min/max ranges for all parameters
- Bypass Support - Enable/disable without removing from chain
- Mix Controls - Wet/dry blending where applicable
Dynamics Processing
CompressorEffect
Professional dynamic range compressor with soft-knee design, envelope following, and adaptive gain control.
Parameters
Presets
LimiterEffect
Brick-wall peak limiter with look-ahead, adaptive release, and zero-allocation buffer management.
Parameters
Presets
AutoGainEffect
Automatic gain control with intelligent noise gating, look-ahead detection, and smooth gain transitions.
Parameters
Presets
DynamicAmpEffect
Adaptive volume control with dual-window RMS detection, smart noise gating, and gain change limiting for transparent dynamics management.
Parameters
Presets
Frequency Processing
EqualizerEffect (10-Band)
Professional 10-band parametric equalizer with cascaded biquad filters (2 per band) and Direct Form II Transposed implementation for numerical stability.
Parameters
ISO Frequencies
31.25 Hz, 62.5 Hz, 125 Hz, 250 Hz, 500 Hz, 1 kHz, 2 kHz, 4 kHz, 8 kHz, 16 kHz
Presets
Equalizer30BandEffect
High-resolution 30-band graphic equalizer with professional frequencies from 20 Hz to 16 kHz, optimized Q factors, and single filter per band for natural sound.
Parameters
Presets
EnhancerEffect
Psychoacoustic enhancer with high-pass filtering, harmonic saturation, and soft clipping for added presence and clarity.
Parameters
Presets
Modulation Effects
ChorusEffect
Multi-voice chorus with LFO modulation, fractional delay interpolation, and 2-6 independent voices for rich detuning effects.
Parameters
Presets
FlangerEffect
Classic flanging effect with variable delay modulation, feedback control, and LFO-driven comb filtering for sweeping tones.
Parameters
Presets
PhaserEffect
Multi-stage phaser with all-pass filters (2-8 stages), LFO modulation sweeping from 200 Hz to 2 kHz, and feedback control.
Parameters
Presets
RotaryEffect
Leslie speaker simulator with separate horn and rotor, crossover filtering at 800 Hz, and fast/slow speed switching.
Parameters
Presets
Spatial Effects
ReverbEffect
Extended Freeverb algorithm with 8 comb filters + 4 all-pass filters per channel, 20ms pre-delay, stereo spread, and damping control.
Parameters
Presets
DelayEffect
Echo/delay with feedback, damping filter, and up to 5 seconds delay time. Supports fractional delay with linear interpolation.
Parameters
Presets
Distortion Effects
DistortionEffect
Soft-clipping distortion with drive control and output gain compensation. Uses smooth saturation curve for musical harmonics.
Parameters
Presets
OverdriveEffect
Tube-style overdrive with asymmetric saturation, tone control (0=dark, 1=bright), and musical harmonics.
Parameters
Presets
Master Processing
SmartMasterEffect
Comprehensive master processing chain with intelligent auto-calibration for optimal sound across different speaker systems. Combines professional-grade effects with measurement-based optimization.
Overview
SmartMaster is an all-in-one mastering solution that adapts to your specific speaker system and listening environment. It features factory presets for common playback systems and an intelligent calibration wizard that measures your actual speaker response.
The auto-calibration wizard requires an external measurement microphone to analyze your speaker system. Without a measurement microphone, you can use the factory presets which provide excellent results for common speaker types.
Important: The system optimizes audio for the measurement microphone's position. Place the microphone at your primary listening position for best results. The calibrated system will sound optimal at that specific location.
Processing Chain
- 31-Band Graphic EQ - Precise frequency shaping (20 Hz - 16 kHz)
- Subharmonic Synthesizer - Enhanced low-frequency extension below speaker cutoff
- Multiband Compressor - Dynamic range control across frequency bands
- Crossover Filter - Linkwitz-Riley 4th order (configurable frequency)
- Phase & Time Alignment - Delay compensation for multi-way systems
- Brick-Wall Limiter - Peak protection and loudness maximization
Factory Presets
Auto-Calibration Features
Usage Example
using OwnaudioNET.Effects.SmartMaster;
// Initialize SmartMaster
var smartMaster = new SmartMasterEffect();
smartMaster.Initialize(engine.Config);
// Option 1: Use factory preset
smartMaster.LoadSpeakerPreset(SpeakerType.HiFi);
smartMaster.Enabled = true;
// Apply to mixer output
mixer.AddMasterEffect(smartMaster);
// Option 2: Run auto-calibration (requires measurement microphone)
// Place microphone at primary listening position
await smartMaster.StartMeasurementAsync();
// Monitor progress
var status = smartMaster.GetMeasurementStatus();
Console.WriteLine($"Progress: {status.Progress * 100:F0}%");
Console.WriteLine($"Step: {status.CurrentStep}");
// Save calibrated settings
smartMaster.Save("my_listening_room");
// Load later
smartMaster.Load("my_listening_room");
The auto-calibration wizard measures the acoustic response at the microphone's location. The resulting calibration will optimize the sound specifically for that position in your room. For best results:
- Place the measurement microphone at your primary listening position (e.g., your chair or desk)
- Ensure the room is quiet during measurement
- The calibrated system will sound best when you're at the same position as the microphone was during measurement
- Different listening positions may require separate calibrations
Advanced Features
Subharmonic Synthesis: Generates harmonically-related low frequencies below the speaker's natural cutoff frequency, enhancing bass response on smaller systems without requiring larger drivers.
Phase Alignment: Automatically compensates for time-of-arrival differences between drivers in multi-way speaker systems (woofer vs. tweeter), ensuring coherent sound and proper imaging.
Adaptive Crossover: Linkwitz-Riley 4th order filters provide perfect reconstruction when summed, maintaining phase coherence across the crossover region for seamless frequency transitions.
Measurement Engine: Uses white noise test signals and FFT analysis to measure actual speaker response in your room, then calculates optimal EQ correction automatically to compensate for room acoustics and speaker characteristics.
Usage Examples
Basic Effect Usage
// Create source
var fileSource = new FileSource("audio.mp3");
// Wrap source with effects capability
var source = new SourceWithEffects(fileSource);
// Create and add effect with preset
var compressor = new CompressorEffect(CompressorPreset.VocalGentle);
source.AddEffect(compressor);
// Or create with custom parameters
var reverb = new ReverbEffect(
size: 0.7f,
damp: 0.5f,
wet: 0.33f,
dry: 0.67f,
stereoWidth: 1.0f,
mix: 0.5f
);
source.AddEffect(reverb);
// Control effect
compressor.Enabled = true;
compressor.Threshold = 0.6f;
// Add to mixer
mixer.AddSource(source);
mixer.Start();
Effect Chain
// Create source and wrap with effects capability
var fileSource = new FileSource("guitar.wav");
var source = new SourceWithEffects(fileSource);
// Build effect chain in order
var compressor = new CompressorEffect(CompressorPreset.Default);
var eq = new EqualizerEffect(EqualizerPreset.Rock);
var chorus = new ChorusEffect(ChorusPreset.GuitarClassic);
var reverb = new ReverbEffect(ReverbPreset.Plate);
var limiter = new LimiterEffect(48000f, LimiterPreset.Mastering);
// Add in order (signal flows top to bottom)
source.AddEffect(compressor); // 1. Control dynamics
source.AddEffect(eq); // 2. Shape frequency
source.AddEffect(chorus); // 3. Add movement
source.AddEffect(reverb); // 4. Add space
source.AddEffect(limiter); // 5. Final peak protection
mixer.AddSource(source);
Parallel Processing
// Create two instances of same source
var dryFileSource = new FileSource("vocal.wav");
var wetFileSource = new FileSource("vocal.wav");
// Wrap wet source with effects
var wetSource = new SourceWithEffects(wetFileSource);
// Process wet chain only
var reverb = new ReverbEffect(ReverbPreset.Cathedral);
reverb.Mix = 1.0f; // 100% wet
wetSource.AddEffect(reverb);
// Set levels for parallel blend
dryFileSource.Volume = 0.8f; // 80% dry
wetSource.Volume = 0.2f; // 20% wet
// Mix both
mixer.AddSource(dryFileSource);
mixer.AddSource(wetSource);
Dynamic Parameter Control
// Create source with effects
var fileSource = new FileSource("music.mp3");
var source = new SourceWithEffects(fileSource);
// Create and add effect
var flanger = new FlangerEffect(FlangerPreset.Classic);
source.AddEffect(flanger);
// Animate parameters
Task.Run(async () =>
{
while (fileSource.State == AudioState.Playing)
{
// Sweep rate from 0.2 to 2.0 Hz
float time = DateTime.Now.Ticks / 10000000.0f;
float rate = 0.2f + (float)Math.Sin(time) * 0.9f + 0.9f;
flanger.Rate = rate;
await Task.Delay(50);
}
});
Bypassing Effects
// Create source with effects
var fileSource = new FileSource("audio.mp3");
var source = new SourceWithEffects(fileSource);
// Add effects
var reverb = new ReverbEffect(ReverbPreset.Plate);
var chorus = new ChorusEffect(ChorusPreset.GuitarClassic);
source.AddEffect(reverb);
source.AddEffect(chorus);
// Toggle bypass
reverb.Enabled = false; // Bypass (signal passes through)
reverb.Enabled = true; // Re-enable
// Conditional processing
if (fileSource.Position > 30.0)
{
// Enable effect after 30 seconds
chorus.Enabled = true;
}
// Remove effect from chain
source.RemoveEffect(chorus);
Reading Effect State
// Check limiter activity
if (limiter.IsLimiting)
{
float reduction = limiter.GetGainReductionDb();
Console.WriteLine($"Limiter active: {reduction:F1}dB gain reduction");
}
// Read current gain from auto-gain
float currentGain = autoGain.CurrentGain;
float inputLevel = autoGain.InputLevel;
Console.WriteLine($"AutoGain: {currentGain:F2}x, Input: {inputLevel:F3}");
// Display effect info
Console.WriteLine(compressor.ToString());
// Output: "Compressor: Threshold=0.50, Ratio=4.0:1, Attack=100.0ms, Release=200.0ms, Enabled=True"
Best Practices
- Effect Order: Dynamics → EQ → Modulation → Spatial → Limiter
- CPU Usage: Reverb and 30-band EQ are most intensive
- Latency: Limiter adds 1-20ms lookahead delay
- Memory: Delay/Reverb use up to 4MB per instance
- Thread Safety: Initialize effects before adding to source