Skip to main content

Module processor

Module processor 

Source
Expand description

Audio Processor Module

High-performance audio processing pipeline using Rayon for parallelization. Restored SoX VHQ Resampler and High-Order Noise Shaping for f64 Hi-Fi path.

§Modules

§Core Processors

§Unified Abstraction (Lock-Free Design)

Re-exports§

pub use adapters::ConvolverProcessor;
pub use adapters::CrossfeedProcessor;
pub use adapters::DynamicLoudnessProcessor;
pub use adapters::EqProcessor;
pub use adapters::NoiseShaperProcessor;
pub use adapters::PeakLimiterProcessor;
pub use adapters::SaturationProcessor;
pub use adapters::VolumeProcessor;
pub use dsp_chain::DspChain;
pub use lockfree_params::AtomicCrossfeedParams;
pub use lockfree_params::AtomicDynamicLoudnessParams;
pub use lockfree_params::AtomicDynamicLoudnessTelemetry;
pub use lockfree_params::AtomicEqParams;
pub use lockfree_params::AtomicNoiseShaperParams;
pub use lockfree_params::AtomicPeakLimiterParams;
pub use lockfree_params::AtomicSaturationParams;
pub use lockfree_params::AtomicVolumeParams;
pub use lockfree_params::CrossfeedParamsSnapshot;
pub use lockfree_params::DynamicLoudnessParamsSnapshot;
pub use lockfree_params::EqParamsSnapshot;
pub use lockfree_params::NoiseShaperParamsSnapshot;
pub use lockfree_params::PeakLimiterParamsSnapshot;
pub use lockfree_params::SaturationParamsSnapshot;
pub use lockfree_params::SaturationTypeValue;
pub use lockfree_params::VolumeParamsSnapshot;
pub use lockfree_params::EQ_BANDS;
pub use traits::AudioProcessor;
pub use traits::ProcessResult;

Modules§

adapters
Processor Adapters
dsp_chain
DSP Processing Chain
lockfree_params
Lock-free Parameter Structures
traits
Audio Processor Traits

Structs§

AtomicDynamicLoudnessState
Thread-safe state for DynamicLoudness control from UI thread
AtomicLoudnessState
Atomic loudness state for lock-free audio thread access. Uses AtomicF64 with Relaxed ordering (gains don’t need strict synchronization).
AutomixAnalysis
AutomixAnalysisOptions
BiquadSection
IIR Biquad filter section (SOS - Second Order Section)
Crossfeed
Bauer crossfeed processor
CrossfeedSettings
Settings struct for API responses
DatabaseStats
Statistics about the loudness database
DynamicLoudness
Dynamic Loudness Compensation processor
Equalizer
10-band Parametric EQ
FFTConvolver
High-performance FFT convolver (Overlap-Save algorithm).
FirEq
FIR EQ generator: creates IR from band gain specifications
GainRamp
Linear gain ramp for smooth transitions between tracks. Caches the current gain and per-sample delta so accessors stay cheap.
LoudnessDatabase
SQLite database for track loudness metadata
LoudnessInfo
Loudness measurement information for API responses
LoudnessMeter
EBU R128 loudness meter using the ebur128 crate Measures integrated, short-term, momentary loudness and loudness range
LoudnessNormalizer
Loudness normalizer with EBU R128 compliance. Supports track-based pre-analysis and real-time streaming modes.
NoiseShaper
High-order noise shaping quantizer with SoX-verified coefficients
PeakLimiter
True Peak Limiter with look-ahead and proper release behavior.
ResampleOutput
Resampler
High-quality resampler using SoX (VHQ Polyphase implementation)
Saturation
Tube Saturation processor with configurable drive and mix
SaturationSettings
Settings struct for API responses
SpectrumAnalyzer
FFT-based spectrum analyzer for visualization
StreamingResampler
Stateful streaming resampler that maintains SoX instances across chunks. This is used by AudioPipeline for memory-efficient streaming resampling.
TrackLoudness
Loudness metadata for a single track
TruePeakDetector
True peak detector using 4x polyphase FIR oversampling.
VolumeController
Volume controller with anti-zipper smoothing

Enums§

AutomixAnalysisMode
FirPhaseMode
Phase mode for FIR EQ
NoiseShaperCurve
Noise shaping curve presets All coefficients from SoX src/dither.c, NTF zeros verified |z| < 1
ResamplerError
Error type for resampler operations
SaturationType
Saturation type / character

Constants§

CURRENT_SCAN_VERSION
Current scanner algorithm version Increment when measurement algorithm changes to trigger rescan
DEFAULT_BROADCAST_TARGET_LUFS
Default target loudness for broadcast (LUFS)
DEFAULT_STREAMING_TARGET_LUFS
Default target loudness for streaming (LUFS)
LOUDNESS_BANDS
ISO 226 inspired 7-band loudness compensation curve
STANDARD_BANDS
Standard 10-band EQ frequencies (ISO octave bands)

Functions§

analyze_automix
analyze_automix_with_cancel
db_to_linear
Convert dB to linear gain. Shared across all processor modules.
linear_to_db
Convert linear gain to dB. Shared across all processor modules.