Skip to main content

Module dsp

Module dsp 

Source
Expand description

Digital Signal Processing — module root

Provides signal buffers, window functions, envelopes, peak metering, signal generation, and re-exports the FFT, filter, and analysis sub-modules.

Re-exports§

pub use fft::Complex32;
pub use fft::Fft;
pub use fft::RealFft;
pub use fft::FftPlanner;
pub use fft::FftPlan;
pub use fft::Spectrum;
pub use fft::Stft;
pub use fft::StftConfig;
pub use fft::Cqt;
pub use fft::Autocorrelation;
pub use fft::MelFilterbank;
pub use fft::Mfcc;
pub use fft::Chroma;
pub use filters::Biquad;
pub use filters::BiquadType;
pub use filters::BiquadDesign;
pub use filters::FilterChain;
pub use filters::Butterworth;
pub use filters::Chebyshev1;
pub use filters::Bessel;
pub use filters::FirFilter;
pub use filters::FirDesign;
pub use filters::Convolution;
pub use filters::OlaConvolver;
pub use filters::SvfFilter;
pub use filters::SvfMode;
pub use filters::CombFilter;
pub use filters::CombMode;
pub use filters::AllpassDelay;
pub use filters::MovingAverage;
pub use filters::KalmanFilter1D;
pub use filters::PllFilter;
pub use analysis::OnsetDetector;
pub use analysis::SpectralFluxOnset;
pub use analysis::HfcOnset;
pub use analysis::ComplexDomainOnset;
pub use analysis::BeatTracker;
pub use analysis::PitchDetector;
pub use analysis::LoudnessMeters;
pub use analysis::Rms;
pub use analysis::Leq;
pub use analysis::Lufs;
pub use analysis::DynamicRange;
pub use analysis::TransientAnalysis;
pub use analysis::HarmonicAnalyzer;
pub use analysis::Correlogram;
pub use analysis::DynamicsAnalyzer;
pub use analysis::SignalSimilarity;

Modules§

analysis
Audio analysis and feature extraction — onset detection, beat tracking, pitch detection, loudness metering, transient analysis, harmonics, DTW.
fft
FFT library — Cooley-Tukey radix-2, real FFT, spectral analysis, STFT, CQT, autocorrelation, YIN pitch, Mel filterbank, MFCC, and Chroma.
filters
Digital filter library — Biquad IIR, higher-order cascades, FIR, convolution, state-variable filter, comb, allpass, moving average, Kalman, PLL.

Structs§

ComplexSignal
A complex-valued signal (e.g. FFT output).
Envelope
Amplitude envelope follower with attack, hold, and release stages.
PeakMeter
dBFS peak meter with configurable hold time and fallback rate.
Signal
An owned time-series buffer with sample-rate metadata.
SignalGenerator
Factory for generating standard test/synthesis signals.

Enums§

WindowFunction
Standard window functions for spectral analysis.

Functions§

db_to_linear
Convert dBFS to linear amplitude.
freq_to_midi
Frequency in Hz to MIDI note number (A4 = 69, 440 Hz).
hz_to_mel
Convert frequency to Mel scale.
is_power_of_two
Check if n is a power of two.
linear_to_db
Convert linear amplitude to dBFS.
mel_to_hz
Convert Mel scale to frequency.
midi_to_freq
MIDI note number to frequency in Hz.
next_power_of_two
Next power of two >= n.
sinc
Sinc function (normalized): sinc(x) = sin(π·x) / (π·x).