|
From: ian e. <de...@cu...> - 2003-12-30 14:14:00
|
On Tue, 2003-12-30 at 04:26, be...@ga... wrote: > The problem with the event system is that we need to figure out a > good tradeoff between flexibility and speed. > > David (Olofson), what do you suggest ? Using an event system similar to the > one you use in audiality ? > For performance reasons I'd opt for a system that uses only linear > segments for both volume and pitch enveloping. > exp curves and other kind of envelopes can be easily simulated by > using a serie of linear segments. i think you would probably find this to be more expensive than having log/exp curves. to create the traditional log style envelopes is actually very easy, and can be done with a modified one pole (no zero) lowpass filter. that just requires one coefficient calculation for the whole curve, rather than doing a whole load of calculations for each linear segment. > Keep in mind it must for example handle following tasks: > assume there is a pitch envelope running (composed of linear segments). > Now the user operates the pitchbender. > The real time event is timestamped and delayed till the next audio fragment > gets processed. If there is already an envelope running the pitchbender > needs to "add" his own pitch to the current one possibly using an event. > for example if we want two pitch envelopes modulating the same sample > what's the best way to do it ? just add the two (or more) modulating sources scaled by the mod depths to get the final mod amount. ian |