Hmmm. Not sure it's even that simple. This is a very difficult issue, 
partly because of the prevalent use of IIR filters (the important letter 
representing "infinite!"). To give fuel for thought, consider the Csound 
"reson" opcode - make the resonance sharp and the decay time will be very 
high around the filter frequency but very low elsewhere. Go too far and the 
unit generator will go into permanent oscillation! The problem that VSpace 
has is that real non-ideal acoustic spaces tend to exhibit frequency 
dependent and polynomial decay shapes so that even logarithmic decay may be 
an over-generalisation (there's a good paper by Schroeder on this). I 
didn't find a good fix - VSpace essentially checks the contents of the 
sequencers and the main delay buffers in use and then sits around until the 
late reflection reverb has gone quiet "for a while". Yeuch.

Run away run away I say.

-- Richard

-----Original Message-----
From:   Paul Barton-Davis [SMTP:[EMAIL PROTECTED]]
Sent:   Monday, March 27, 2000 8:23 PM
To:     [EMAIL PROTECTED]
Subject:        Re: [linux-audio-dev] an interesting idea/point/issue from 
vst-land

In message <[EMAIL PROTECTED]>you write:
>Interesting idea, but when will the reverb KNOW that is is done? One can

Hmm. Interesting point. I was about to rush off with a very rapid
answer, but I realized that really is non-trivial to determine
this. The only "correct" answer is the one that we don't want: the
host has to tell the plugins "i'm about to finish calling all of you,
does anyone have any objections", at which point, the reverb would say
"hmm, looks like we pre-computed a delay of 1.3737383 seconds until a
maximal sample value would decay to an effectively silent level, so
yes, please keep going".

I don't know if there any way to fit this into the new functions you
added for pre-run and post-run stuff, would it ?

--p




Reply via email to