Skip to main content

audio_lab/dsp/
mod.rs

1//! Generic DSP and measurement primitives built on top of [`signal`](crate::signal).
2//!
3//! Boundary:
4//! - [`signal`](crate::signal) owns signal containers, I/O, and synthetic test fixtures.
5//! - `dsp` owns reusable DSP building blocks such as padding, windowing,
6//!   transforms, and filter-bank design.
7//! - Room-correction-specific policy, target-curve logic, and correction filter
8//!   design workflows do not belong in this module.
9
10pub mod convolve;
11pub mod deconvolution;
12pub mod filter_bank;
13pub mod fractional_octave;
14pub mod frequency;
15pub mod pad;
16pub mod stft;
17pub mod time;
18pub mod window;
19
20pub use convolve::{ConvolveError, ConvolveMode, convolve};
21pub use deconvolution::{DeconvolutionConfig, DeconvolutionError, deconvolve};
22pub use fractional_octave::{
23    FractionalOctaveSmoothingConfig, FractionalOctaveSmoothingError, FractionalOctaveSmoothingMode,
24    FractionalOctaveSmoothingStats, smooth_fractional_octave,
25};
26pub use frequency::{FrequencyError, group_delay};
27pub use pad::{PadMode, pad_zeros};
28pub use stft::{StftConfig, StftError, stft};
29pub use time::{
30    TimeError, TimeShiftMode, apply_gain, apply_gain_db, find_impulse_response_start, resample,
31    time_shift, time_shift_per_channel, trim_duration, trim_samples, window_and_trim,
32};
33pub use window::{
34    WindowFn, apply_hann, apply_hann_left, apply_hann_right, generate_periodic_window,
35    generate_window,
36};