I am certainly interested in this for unison. One goal is for a shared library to provide common oscillator routines for core and plugins to use. Maybe you and I can work on this? I guess the client should be able to choose different shapes and quality levels.


On Aug 30, 2010 7:13 AM, "Stefan Fendt" <> wrote:
Hi all,

> How much additional RAM does it take?

hmm,... got me... ;-) ;-)

no, seriously... in it's current incarnation it eats up a lot additional
RAM (but not that much, that I would say it's too much for a current
machine...) Let me see:

6 Waveforms * 1024 Samples * 128 Steps * sizeof(float) = 3MiB

That's not too much I guess, given the fact that even a smaller
GUI-decoration could easily eat up more than that.

However this calculation is valid for 44.1kHz. For allowing up to 96kHz
(and higher) and the best possible tonal quality (I'm still tweaking
these steppings inside the wavetable) I guess it will be twice or three
times this value...

> Stunning differences which make me interested in your patch ;-)

:) Thanks a lot!

> Is it wavetable-based? If so, why is the load still the same?

Yes, it is wavetable-based. "Roughly" it's the same load... I have not
measured it in detail, yet.

But, on the one hand side a table-lookup is just a little bit faster
than a FPU-sinf(x) and on the other hand side it needs (at least) linear
interpolation (between samples and steps)... Currently it seem's like it
wages out each other... Maybe the wavetable-code is a little bit slower.
But even then I would think it's worth it... (Despite that: the previous
audio-sample only did linear interpotation between the wavetable-steps,
so very little but measurable time-alias-noise was present. OK, this
isn't as anoing as frequency-aliasing but... ;-))

> What I'd like to see to make it dynamically configurable so the
> "bandlimited
> oscillators" opt...

Well, currently I'm strictly aiming towards the live-mode. That's
because of the many difficulties which arise with real high
sample-rates, making the output not sounding better but very different
from the live-"preview"-mode... That would allow to really have a "What
you hear is what you get when rendering it"-System. If everything works
like I want it I suppose there will be no need of that switch between
generators any more...

all the best,

Sell apps to milli...