Professional Audio Effects Reference

Complete reference for all 15+ professional-grade audio effects with detailed parameter specifications, preset configurations, and usage examples.

Zero-Allocation Design All effects are optimized for real-time audio with zero-allocation processing, SIMD operations where applicable, and lock-free operation for professional audio applications.

Overview

Every effect in OwnaudioSharp implements the IEffectProcessor interface and provides:

Dynamics Processing

DYNAMICS

CompressorEffect

Professional dynamic range compressor with soft-knee design, envelope following, and adaptive gain control.

Parameters

Threshold
float - Compression threshold level
Range: 0.0 - 1.0 (linear amplitude)
Ratio
float - Compression ratio
Range: 1.0 - 100.0 (N:1)
AttackTime
float - Attack time in milliseconds
Range: 0.1 - 1000.0 ms
ReleaseTime
float - Release time in milliseconds
Range: 1.0 - 2000.0 ms
MakeupGain
float - Output gain compensation
Range: 0.1 - 10.0 (linear multiplier)

Presets

Default VocalGentle VocalAggressive Drums Bass MasteringLimiter Vintage
DYNAMICS

LimiterEffect

Brick-wall peak limiter with look-ahead, adaptive release, and zero-allocation buffer management.

Parameters

Threshold
float - Threshold in dB
Range: -20.0 - 0.0 dB
Ceiling
float - Output ceiling in dB
Range: -2.0 - 0.0 dB
Release
float - Release time in milliseconds
Range: 1.0 - 1000.0 ms
LookAheadMs
float - Look-ahead time in milliseconds
Range: 1.0 - 20.0 ms

Presets

Default Mastering Broadcast Live DrumBus VocalSafety Bass Podcast Aggressive
DYNAMICS

AutoGainEffect

Automatic gain control with intelligent noise gating, look-ahead detection, and smooth gain transitions.

Parameters

TargetLevel
float - Target output level
Range: 0.01 - 1.0 (linear amplitude)
AttackCoefficient
float - Attack smoothing coefficient
Range: 0.9 - 0.999
ReleaseCoefficient
float - Release smoothing coefficient
Range: 0.9 - 0.9999
GateThreshold
float - Noise gate threshold
Range: 0.0001 - 0.01
MaximumGain
float - Maximum gain limit
Range: 1.0 - 10.0
MinimumGain
float - Minimum gain limit
Range: 0.1 - 1.0

Presets

Default Music Voice Broadcast Live
DYNAMICS

DynamicAmpEffect

Adaptive volume control with dual-window RMS detection, smart noise gating, and gain change limiting for transparent dynamics management.

Parameters

TargetLevel
float - Target RMS level in dB
Range: -60.0 - -3.0 dB
AttackTime
float - Attack time in seconds
Range: 0.05 - ∞ seconds
ReleaseTime
float - Release time in seconds
Range: 0.2 - ∞ seconds
NoiseGateThreshold
float - Noise gate threshold in dB
Range: -80.0 - -30.0 dB
MaxGain
float - Maximum gain value
Range: 1.0 - 20.0
MaxGainReduction
float - Maximum gain reduction in dB
Range: 3.0 - 40.0 dB

Presets

Default Speech Music Broadcast Mastering Live Transparent

Frequency Processing

FREQUENCY

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

Band0-9 Gain
float - Gain for each band in dB
Range: -12.0 - +12.0 dB
Mix
float - Wet/dry mix
Range: 0.0 - 1.0

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

Default Bass Treble Rock Classical Pop Jazz Voice
FREQUENCY

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

Band[0-29] Gain
float - Gain for each band in dB
Range: -18.0 - +18.0 dB
Mix
float - Wet/dry mix
Range: 0.0 - 1.0

Presets

Default Bass Treble Rock Classical Pop Jazz Voice Electronic Acoustic
FREQUENCY

EnhancerEffect

Psychoacoustic enhancer with high-pass filtering, harmonic saturation, and soft clipping for added presence and clarity.

Parameters

Mix
float - Wet/dry mix amount
Range: 0.0 - 1.0
Gain
float - Pre-saturation amplification
Range: 0.1 - 10.0
CutoffFrequency
float - High-pass filter cutoff in Hz
Range: 100.0 - 20000.0 Hz

Presets

Default VocalClarity RockEdge AcousticSparkle MixCutter Broadcast

Modulation Effects

MODULATION

ChorusEffect

Multi-voice chorus with LFO modulation, fractional delay interpolation, and 2-6 independent voices for rich detuning effects.

Parameters

Rate
float - LFO modulation rate in Hz
Range: 0.1 - 10.0 Hz
Depth
float - Modulation depth
Range: 0.0 - 1.0
Mix
float - Wet/dry mix
Range: 0.0 - 1.0
Voices
int - Number of chorus voices
Range: 2 - 6

Presets

Default VocalSubtle VocalLush GuitarClassic GuitarShimmer SynthPad StringEnsemble VintageAnalog Extreme
MODULATION

FlangerEffect

Classic flanging effect with variable delay modulation, feedback control, and LFO-driven comb filtering for sweeping tones.

Parameters

Rate
float - LFO rate in Hz
Range: 0.1 - 5.0 Hz
Depth
float - Modulation depth
Range: 0.0 - 1.0
Feedback
float - Feedback amount
Range: 0.0 - 0.95
Mix
float - Wet/dry mix
Range: 0.0 - 1.0

Presets

Default Classic JetPlane SubtleChorus VocalDoubling GuitarLead AmbientWash Percussive
MODULATION

PhaserEffect

Multi-stage phaser with all-pass filters (2-8 stages), LFO modulation sweeping from 200 Hz to 2 kHz, and feedback control.

Parameters

Rate
float - LFO rate in Hz
Range: 0.1 - 10.0 Hz
Depth
float - Modulation depth
Range: 0.0 - 1.0
Feedback
float - Feedback amount
Range: 0.0 - 0.95
Mix
float - Wet/dry mix
Range: 0.0 - 1.0
Stages
int - Number of all-pass filter stages
Range: 2 - 8

Presets

Default Vintage Ambient Tremolo DeepSpace GuitarSolo Vocal SynthPad
MODULATION

RotaryEffect

Leslie speaker simulator with separate horn and rotor, crossover filtering at 800 Hz, and fast/slow speed switching.

Parameters

HornSpeed
float - Horn rotation speed in Hz
Range: 2.0 - 15.0 Hz
RotorSpeed
float - Rotor rotation speed in Hz
Range: 0.5 - 5.0 Hz
Intensity
float - Effect intensity
Range: 0.0 - 1.0
Mix
float - Wet/dry mix
Range: 0.0 - 1.0
IsFast
bool - Fast/slow speed switch
true = fast (3x horn, 2x rotor)

Presets

Default Hammond Gospel Rock Jazz Psychedelic VintageSlow VintageFast Subtle

Spatial Effects

SPATIAL

ReverbEffect

Extended Freeverb algorithm with 8 comb filters + 4 all-pass filters per channel, 20ms pre-delay, stereo spread, and damping control.

Parameters

RoomSize
float - Room size
Range: 0.0 - 1.0
Damping
float - High-frequency damping
Range: 0.0 - 1.0
WetLevel
float - Wet signal level
Range: 0.0 - 1.0
DryLevel
float - Dry signal level
Range: 0.0 - 1.0
Width (StereoWidth)
float - Stereo width
Range: 0.0 - 2.0
Mix
float - Master wet/dry mix
Range: 0.0 - 1.0
Gain
float - Output gain
Range: 0.0 - ∞

Presets

Default SmallRoom LargeHall Cathedral Plate Spring AmbientPad VocalBooth DrumRoom Gated Subtle
SPATIAL

DelayEffect

Echo/delay with feedback, damping filter, and up to 5 seconds delay time. Supports fractional delay with linear interpolation.

Parameters

Time
int - Delay time in milliseconds
Range: 1 - 5000 ms
Repeat
float - Feedback amount
Range: 0.0 - 1.0
Mix
float - Wet/dry mix
Range: 0.0 - 1.0
Damping
float - High-frequency damping in feedback
Range: 0.0 - 1.0

Presets

Default SlapBack ClassicEcho Ambient Rhythmic PingPong TapeEcho Dub Thickening

Distortion Effects

DISTORTION

DistortionEffect

Soft-clipping distortion with drive control and output gain compensation. Uses smooth saturation curve for musical harmonics.

Parameters

Drive
float - Drive amount
Range: 1.0 - 10.0
Mix
float - Wet/dry mix
Range: 0.0 - 1.0
OutputGain
float - Output gain compensation
Range: 0.1 - 1.0

Presets

Default WarmOverdrive ClassicRock HeavyMetal VintageTube BassDrive FuzzBox VocalSaturation DigitalCrush
DISTORTION

OverdriveEffect

Tube-style overdrive with asymmetric saturation, tone control (0=dark, 1=bright), and musical harmonics.

Parameters

Gain
float - Input gain
Range: 1.0 - 5.0
Tone
float - Tone control
Range: 0.0 - 1.0 (0=dark, 1=bright)
Mix
float - Wet/dry mix
Range: 0.0 - 1.0
OutputLevel
float - Output level
Range: 0.1 - 1.0

Presets

Default CleanBoost Blues RockCrunch Lead VintageTube Bass Screamer

Master Processing

MASTER

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.

Measurement Microphone Required for Auto-Calibration
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

  1. 31-Band Graphic EQ - Precise frequency shaping (20 Hz - 16 kHz)
  2. Subharmonic Synthesizer - Enhanced low-frequency extension below speaker cutoff
  3. Multiband Compressor - Dynamic range control across frequency bands
  4. Crossover Filter - Linkwitz-Riley 4th order (configurable frequency)
  5. Phase & Time Alignment - Delay compensation for multi-way systems
  6. Brick-Wall Limiter - Peak protection and loudness maximization

Factory Presets

Default
Transparent passthrough (no processing)
Use Case: Reference monitoring
HiFi
Bookshelf/tower speakers
+1.5dB bass, +1.0dB highs, 40Hz crossover
Headphone
Studio/consumer headphones
+0.5dB bass, -1.0dB highs, balanced response
Studio
Professional monitors
+0.3dB bass, flat mids/highs, 35Hz crossover
Club
DJ/club systems
+4.0dB bass, +2.5dB highs, 100Hz crossover
Concert
Live PA systems
+3.0dB bass, -0.8dB mids, +2.0dB highs, 80Hz crossover

Auto-Calibration Features

Speaker Detection
Automatic analysis of speaker characteristics
Requires measurement microphone
Frequency Response
FFT-based spectrum measurement
20 Hz - 20 kHz analysis
Phase Alignment
Time-of-arrival detection
Compensates for multi-way speaker delays
Auto-EQ Correction
Automatic EQ calculation
Based on measured response

Usage Example

SmartMaster with Factory Preset
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);
SmartMaster with Auto-Calibration
// 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");
Position-Dependent Optimization
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

Single Effect
// 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

Multiple Effects in Series
// 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

Dry/Wet Parallel Chains
// 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

Real-time Parameter Automation
// 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

Toggle Effects On/Off
// 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

Monitor Effect Status
// 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