Skip to main content

Crate oximedia_effects

Crate oximedia_effects 

Source
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 AudioEffect implementations.
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 OxiMedia effects.
saturation
Tube and tape saturation effect.
spatial_audio
Spatial audio rendering for OxiMedia effects.
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 OxiMedia effects.
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§

ReverbConfig
Configuration for reverb effects.
WetDryWrapper
A lightweight wrapper that adds wet/dry mix control to any AudioEffect.

Enums§

EffectError
Error types for audio effects.

Traits§

AudioEffect
Core trait for audio effects.

Type Aliases§

Result
Result type for effect operations.