>> I have written a FFTW based block convolution jack client, but I am >> having difficulty processing the last jackframes%L samples of the jack >> buffer. I have read that it might be an idea to collect the samples > > What do you mean by "the last jackframes%L samples" ??
The algorithm I am using is the standard overlap-add method of block convolution as defined in Oppenheim and Schafer 1989. Basically, I take a FIR filter of length M taps, zero pad to N=L+M-1 where L is the length of my sub-block of convolution. Also zero pad L inputs up to to N, then convolve these N inputs with the zero padded filter. The first M-1 outputs are added to the last M-1 outputs from the previous block, and the output of the current block is truncated to L samples (from N). My question is, how do I handle the final sub-block of convolution of each jack buffer, as it will not be of length L, but of length (FRAMES mod L) where FRAMES is the length of the jack buffer. +-------+-------+-------+-------+----+ | | | | | | +-------+-------+-------+-------+----+ 0 L 2L 3L 4L FRAMES -- Damien
_______________________________________________ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev