Expand description
Professional audio effects suite for OxiMedia.
This crate provides production-quality implementations of professional audio effects used in music production, post-production, and broadcast applications.
§Effect Categories
§Reverb
- Freeverb - Algorithmic reverb based on Schroeder reverb architecture
- Plate Reverb - Simulation of mechanical plate reverb
- Convolution Reverb - Impulse response-based reverb for realistic spaces
§Delay/Echo
- Delay - Simple delay with feedback
- Multi-tap Delay - Multiple delay taps with independent controls
- Ping-pong Delay - Stereo ping-pong delay effect
§Modulation
- Chorus - Multi-voice chorus effect
- Flanger - Flanging with feedback
- Phaser - All-pass filter cascade phasing
- Tremolo - Amplitude modulation
- Vibrato - Frequency modulation
- Ring Modulator - Ring modulation effect
§Distortion
- Overdrive - Soft clipping overdrive
- Fuzz - Hard clipping fuzz distortion
- Bit Crusher - Bit depth and sample rate reduction
§Dynamics
- Gate - Noise gate with threshold and hysteresis
- Expander - Upward and downward expansion
§Filters
- Biquad - Second-order IIR filters (low-pass, high-pass, band-pass, notch, shelving)
- State Variable Filter - Multi-mode state-variable filter
- Moog Ladder - Classic Moog ladder filter simulation
§Pitch/Time
- Pitch Shifter - Time-domain and frequency-domain pitch shifting
- Time Stretch - Tempo change without pitch change
- Harmonizer - Pitch shifting with formant preservation
§Vocoding/Correction
- Vocoder - Channel vocoder
- Auto-tune - Basic pitch correction
§Architecture
All effects implement the AudioEffect trait, which provides a unified interface
for real-time audio processing with support for both mono and stereo operation.
Effects are designed to be:
- Real-time capable - Low latency, no allocations in process loops
- Sample-accurate - Parameter changes are smoothed to avoid artifacts
- Efficient - Optimized for CPU efficiency
- Safe - No unsafe code, enforced by
#![forbid(unsafe_code)]
§Example
ⓘ
use oximedia_effects::{AudioEffect, reverb::Freeverb, ReverbConfig};
let config = ReverbConfig::default()
.with_room_size(0.8)
.with_damping(0.5)
.with_wet(0.3);
let mut reverb = Freeverb::new(config, 48000.0);
// Process stereo audio
let mut left = vec![0.0; 1024];
let mut right = vec![0.0; 1024];
reverb.process_stereo(&mut left, &mut right);Modules§
- analog_
delay - Analog delay emulation with feedback saturation modeling.
- auto_
pan - Automatic panning effect for stereo audio.
- barrel_
lens - Barrel and pincushion lens distortion correction / simulation.
- bass_
enhancer - Psychoacoustic bass enhancer.
- bitcrusher
- Bitcrusher audio effect — bit-depth and sample-rate reduction with triangular dither.
- blend
- Blend mode effects for audio and visual processing.
- chorus
- Chorus and flanger audio effect.
- chorus_
flanger - Modulation effects: chorus and flanger.
- color_
grade - Color grading effects using CDL (Color Decision List) and film-look models.
- composite
- Porter-Duff compositing operators for video effects.
- compressor
- Dynamics compression effects.
- compressor_
look - Look-ahead compressor for transparent dynamic range control.
- deesser
- De-esser effect for sibilance reduction.
- delay
- Delay and echo effects.
- delay_
line - Multi-tap delay line effect with ping-pong and stereo modes.
- distort
- Distortion and warp effects operating on normalised UV coordinates [0.0, 1.0].
- distortion
- Distortion effects module.
- ducking
- Sidechain ducking effect for automated audio mixing.
- dynamics
- Dynamics processing effects.
- eq
- Parametric equalizer with biquad IIR filters.
- filter
- Filter effects module.
- filter_
bank - Multi-band filter bank for spectral shaping and analysis.
- flanger
- Flanger effect — short delay with LFO-modulated sweep and feedback.
- fundsp_
adapter - FunDSP interoperability adapter for
AudioEffectimplementations. - glitch
- Glitch effects for audio processing.
- harmonic_
exciter - Harmonic exciter effect.
- keying
- Chroma and luma keying effects for compositing workflows.
- lookahead_
limiter - Lookahead limiter for broadcast loudness compliance.
- lufs_
meter - LUFS Loudness Metering — EBU R128 / ITU-R BS.1770-4.
- luma_
key - Luminance (luma) keying for video effects.
- mix
- Wet/dry mix wrapper for any
AudioEffect. - modulation
- Modulation effects module.
- multiband_
compressor - Multiband dynamics compressor.
- parametric_
eq - Parametric equaliser using cascaded biquad filters with f64 internal precision.
- pitch
- Pitch and time manipulation effects.
- reverb
- Reverb effects module.
- reverb_
hall - Hall-style algorithmic reverb using a network of comb and all-pass filters.
- ring_
mod - Ring modulation audio effect.
- room_
reverb - Room reverb simulation for
OxiMediaeffects. - saturation
- Tube and tape saturation effect.
- spatial_
audio - Spatial audio rendering for
OxiMediaeffects. - stereo_
upmix - Stereo-to-surround upmixer for 5.1 and 7.1 channel configurations.
- stereo_
widener - Stereo field widening and narrowing effect.
- stereo_
wider - Stereo widener using mid-side (M/S) processing.
- tape_
echo - Tape echo simulation effect.
- tape_
sat - Tape saturation effect with configurable drive and soft-clipping transfer function.
- time_
stretch - Time-stretching algorithms for
OxiMediaeffects. - transient_
shaper - Transient shaping effect for controlling attack and sustain.
- tremolo
- Tremolo and vibrato effects with flexible LFO waveform support.
- utils
- Utility modules for audio effects.
- vibrato
- Vibrato effect — LFO-modulated pitch variation via delay modulation.
- video
- Video effects for
OxiMedia. - vocoder
- Vocoder effect module.
- warp
- Audio warp effects: tape-style warping, pitch bend, and formant shifting.
- waveshaper
- Waveshaping distortion effect.
- wet_dry
- Wet/dry mix control for audio effects.
Structs§
- Reverb
Config - Configuration for reverb effects.
- WetDry
Wrapper - A lightweight wrapper that adds wet/dry mix control to any
AudioEffect.
Enums§
- Effect
Error - Error types for audio effects.
Traits§
- Audio
Effect - Core trait for audio effects.
Type Aliases§
- Result
- Result type for effect operations.