On Wed, 29 Jun 2005 23:07:24 +0200
fons adriaensen [EMAIL PROTECTED] wrote:
Another very useful feature would be tail extension (combine convolution
with traditional reverb processing to lighten the CPU load)
I don't think this requires special support from the convolution
engine - it's
My suggestion is to handle buffering in the convolution plugin and
accept any buffer size from the host.
I'd do it without threading to ensure the lowest possible latency.
For example:
assume we run convolution at 512 samples.
use a ringbuffer structure (eg like RingBuffer.h in
On Wed, 29 Jun 2005 13:20:31 +0200
Benno Senoner [EMAIL PROTECTED] wrote:
assume we run convolution at 512 samples.
process(float *input,float *output, int numframes) {
if(numframes == 512) {
convolve(input, output, 512);
return;
}
This has a subtle bug afaict. Let's
On Wed, Jun 29, 2005 at 03:43:39PM +0200, Florian Schmidt wrote:
This has a subtle bug afaict. Let's assume the host called several
process() with numframes != 512 first, then one with numframes == 512, i.e.:
1. 123
2. 432
3. 234
4. 512
The 4th process call disregards data already in
Florian Schmidt wrote:
On Wed, 29 Jun 2005 13:20:31 +0200
Benno Senoner [EMAIL PROTECTED] wrote:
assume we run convolution at 512 samples.
process(float *input,float *output, int numframes) {
if(numframes == 512) {
convolve(input, output, 512);
return;
}
This has a
On Wed, Jun 29, 2005 at 05:45:12PM +0200, Benno Senoner wrote:
So a 2nd output ringbuffer buffer would be required.
Yes. In my lib, the two ringbuffers are part of the convolver,
and the FFT and MAC operations operate directly on them.
The API to write/read them is similar to ALSA's memory
On Wed, Jun 29, 2005 at 06:02:24PM +0200, Florian Schmidt wrote:
What other goodies does it have?
Nothing special. I'd like to add a mode using multiple block
sizes for minimal delay. This is not trivial and requires
multiple threads as well.
What do you mean by the API being a bit more
fons adriaensen wrote:
On Wed, Jun 29, 2005 at 06:02:24PM +0200, Florian Schmidt wrote:
What other goodies does it have?
Nothing special. I'd like to add a mode using multiple block
sizes for minimal delay. This is not trivial and requires
multiple threads as well.
Another
On Wed, Jun 29, 2005 at 10:20:47PM +0200, Benno Senoner wrote:
Another very useful feature would be tail extension (combine convolution
with traditional reverb processing to lighten the CPU load)
I don't think this requires special support from the convolution
engine - it's jsut an