#audio-processing #convolution #fft #dsp #filter #block-size

fft-convolver

Audio convolution algorithm in pure Rust for real time audio processing

2 unstable releases

0.2.0 Oct 19, 2023
0.1.0 Dec 3, 2022

#342 in Audio

MIT license

21KB
447 lines

fft-convolver

Port of HiFi-LoFi/FFTConvolver to pure rust.

  • Highly efficient convolution of audio data (e.g. for usage in real-time convolution reverbs etc.).
  • Partitioned convolution algorithm (using uniform block sizes).

Example

use fft_convolver::FFTConvolver;

let mut impulse_response = vec![0_f32; 100];
impulse_response[0] = 1.;

let mut convolver = FFTConvolver::default();
convolver.init(16, &impulse_response);

let input = vec![0_f32; 16];
let mut output = vec![0_f32; 16];

convolver.process(&input, &mut output);

Dependencies

~4MB
~79K SLoC