Re: Side thread: Sndobj, Python, and RT-safe
Posted: Sat Mar 01, 2008 7:21 pm
That's where I'll have to play around, because I have my own ideas for modulations, filters, and oscillators that SndObj may or may not be a help in implementing.
Here's the basic idea:
Each voice has four cubic Bezier-curve oscillators, which allow the user to draw a waveform using points and handles. To avoid aliasing, the handles are moved closer to the points they control to round the waveform as the pitch goes higher. The points themselves can also be modulated by the user (for PWM-like effects).
The output can then be routed in several ways to any or all of two (or four, haven't decided yet) filters, before heading out to a final amp. I was going to build the filters with integrated non-linear waveshapers in the feedback path to simulate the non-linear characteristics of different analog filters (this would require oversampling).
I also wanted to allow FM routing between the four oscillators, if the user wants. AM routing might be possible, too, and would also require oversampling. Also, various effects, like a ring modulator (which would, yet again, need to be oversampled) could be included.
I'm kind-of aiming for something not unlike Absynth, but with a few twists. I have an idea of how to handle the routing, by storing the current value of a particular stream in a variable which can be used as input for another function at the whim of the GUI, which is basically the Csound method.
Anyway, that's my vision, as stated in text the best I can for now.
Here's the basic idea:
Each voice has four cubic Bezier-curve oscillators, which allow the user to draw a waveform using points and handles. To avoid aliasing, the handles are moved closer to the points they control to round the waveform as the pitch goes higher. The points themselves can also be modulated by the user (for PWM-like effects).
The output can then be routed in several ways to any or all of two (or four, haven't decided yet) filters, before heading out to a final amp. I was going to build the filters with integrated non-linear waveshapers in the feedback path to simulate the non-linear characteristics of different analog filters (this would require oversampling).
I also wanted to allow FM routing between the four oscillators, if the user wants. AM routing might be possible, too, and would also require oversampling. Also, various effects, like a ring modulator (which would, yet again, need to be oversampled) could be included.
I'm kind-of aiming for something not unlike Absynth, but with a few twists. I have an idea of how to handle the routing, by storing the current value of a particular stream in a variable which can be used as input for another function at the whim of the GUI, which is basically the Csound method.
Anyway, that's my vision, as stated in text the best I can for now.