--- John Rigg <[EMAIL PROTECTED]> wrote: > If the control signal is derived from the upsampled > input > to the compressor, that is taken care of.
But that puts potentially expensive gain calculations into the fast sr code, also I was rather planning on using the impulse used for the upsampler to provide the band limiting for free. > > ... > > With both the audio and control bandlimited to > >0.25 * FS, we can safely multiply them, any more then > >that (split any way you like) and it all falls apart. > > Yes; that more or less makes 2x upsampling > essential. True as far as I can see, and there is a sting in the tail - you cannot just upsample at the input to something like jamin and have done with it, you would have to band limit between each stage as otherwise the HF crud from the first stage will just get aliased in the second! BEAST was the project that had the SSE 2* up/down sampler code that seems to be reasonably quick. > Isn't there always a discontinuity here anyway? When > it changes fromattack to decay the rate of gain change switches > suddenly from negative to positive. A bandwidth limit on the > control signal should take care of that, as long as the cutoff is > steep enough. True when I think about it. That is why I am trying to do the upsampling **JUST** before the gain multiplication, so that the upsampler also provides the band limiting. The downside (Apart from the CPU load) is the need to add a Latency port to things that would not otherwise need one. I might (depending on how manic work gets) have something based on SC4 using libsamplerate by the weekend. I doubt that libsamplerate is the correct tool for this however, we don't need the features and given we know the ratio is 2, we can gain some serious speedups with vector optimisations. Would an 'Aliasing free gain cell' library be of interest to anyone? The idea would be that it could be dropped in place of the whole output = gain * sample; thing and would handle upsampling gain and sample arrays, multiplying them and downsampling the result. This would potentially make fixing a LOT of the LADSPA dynamics much easier and would be one place to bugfix rather then scattering that pain all over the place. The API is likely to be 'interesting' as most dynamics plugs don't generate an array of gain values then apply them, and a single sample streaming resampler doesn't bear thinking about. Regards, Dan. Send instant messages to your online friends http://uk.messenger.yahoo.com
