Subject: [linux-audio-dev] real time plugins
From: John S. Rhoades (jsr_AT_pixelfusion.com)
Date: Wed Mar 15 2000 - 06:12:53 EST
I've been following the discussion recently but I am not up to speed, so my
point may have been already discussed.
Filter plugins that work via convolution typically need some extra input
samples before and after the samples they generate/replace. In some
applications, this can be a LOT of samples, see below. Filters may also
(unless designed to avoid it) introduce time shifts. Some filters have the
express purpose of time shifting, e.g., time-aligning data from different
microphones. The question will arise, where does the filter get these extra
samples? It cannot "invent" them or there will be audible artifacts.
An extreme example is some work I'm doing with digital room correction. I
use an 8192 tap FIR convolution filter. This filter needs 4096 inputs before
and after the output time to generate an output sample. I NEED this number
of coefficents to get the frequency resolution (5 Hz) that is required to
supress typical room resonances below 300 Hz. The only way I know to run
such a big filter in real time on a PC is using FFT-based convolution, which
requires TWICE the number of input samples, i.e., 16384 samples are
processed in each set, with an overlap of 8192 samples. Can (or should)
plugins be able to handle this?
/s jsr
This archive was generated by hypermail 2b28 : Wed Mar 15 2000 - 14:01:04 EST