normalize

Function normalize 

Source
pub fn normalize(
    samples: &mut [f32],
    config: NormalizationConfig,
    sample_rate: f32,
) -> Result<LoudnessMetadata, AnalysisError>
Expand description

Normalize audio samples

§Arguments

  • samples - Audio samples to normalize (modified in-place)
  • config - Normalization configuration
  • sample_rate - Sample rate in Hz (required for LUFS method)

§Returns

LoudnessMetadata containing loudness information and applied gain

§Errors

Returns AnalysisError if normalization fails (empty samples, invalid config, etc.)

§Example

use stratum_dsp::preprocessing::normalization::{
    normalize, NormalizationConfig, NormalizationMethod
};

let mut samples = vec![0.5f32; 44100];
let config = NormalizationConfig {
    method: NormalizationMethod::Peak,
    target_loudness_lufs: -14.0,
    max_headroom_db: 1.0,
};

let metadata = normalize(&mut samples, config, 44100.0)?;
println!("Applied gain: {:.2} dB", metadata.gain_db);