On Thursday 30 December 2004 22.03, Jeff McClintock wrote: > > Small note on 4.10: Ramped or Smoothed Events > > "In fact, these audio-rate events can eliminate the > > need for ramps altogether." > > > > It might be worth noting that audio rate controls - actual > > or this bybrid kind - add hidden costs (downsampling) when > > plugins morph internal coefficients to avoid doing the full > > control value to coefficients transform for each sample. > > Hi, > Well, downsampling can be as simple as using, say every 8th > sample and discarding the remainder. Not a huge overhead. Right, but that may cause aliasing, and the only thing a plugin can do to tell how much it's safe to downsample is to analyze the full bandwidth control signal. Meanwhile, a chain of ramp events can be seen as a well defined variable sample rate signal. A ramped control output should never send more events than are needed to describe the intended signal with sufficient accuracy (however that is defined...), so you're safe as long as you do something sensible with all incoming events - and you don't wast cycles analyzing low bandwidth control signals at the full audio rate. One might get the best of both worlds, to some extent at least, by using audio rate buffers with bandwidth hints... If your plugin needs to downsample a lot, check the hint and chose an adequate downsampling method for each buffer. > My synths have the opposite problem, how to convert discrete > parameter updates into a smooth, zipper-noise-free signal. > Anytime I receive a parameter update, I ramp smoothly to the new > value. Trouble is, I don't know what rate the host will send > updates. the result is far from ideal... > > http://www.synthedit.com/stepped.gif > > I figure this is analogous to upsampling a signal without > knowing the sample rate, it's simply not possible to do so > perfectly. There is not enough information. The entire concept of > sending parameter changes as discrete events is flawed. UNLESS: > -The host could indicate the rate at which parameter changes occur > -or the host included more info with each parameter change, i.e. a > rate at which to ramp toward the new value. > > Including this extra information would allow much better > recontruction of the intended (smooth) parameter signal. That's exactly what ramp events are all about; providing that extra information. //David Olofson - Programmer, Composer, Open Source Advocate .- Audiality -----------------------------------------------. | Free/Open Source audio engine for games and multimedia. | | MIDI, modular synthesis, real time effects, scripting,... | `-----------------------------------> http://audiality.org -' --- http://olofson.net --- http://www.reologica.se --- ---------------------------------------------------------------------- Generalized Music Plugin Interface (GMPI) public discussion list Participation in this list is contingent upon your abiding by the following rules: Please stay on topic. You are responsible for your own words. Please respect your fellow subscribers. Please do not redistribute anyone else's words without their permission. Archive: //www.freelists.org/archives/gmpi Email gmpi-request@xxxxxxxxxxxxx w/ subject "unsubscribe" to unsubscribe