[gmpi] Re: gmpi Digest V2 #6

  • From: Tim Hockin <thockin@xxxxxxxxxx>
  • To: gmpi@xxxxxxxxxxxxx
  • Date: Sat, 8 Jan 2005 15:11:03 -0800

On Sun, Jan 09, 2005 at 10:20:14AM +1300, jeffmcc@xxxxxxxxxx wrote:
> To be clear, the ramp indicates how fast the *knob* moved. 
> i.e. the sender.

Right.  But a plugin still has to handle a fast jump.  Some plugins will
choose to denoise some parameters, soe won't.

> > However, if I record MIDI input and I choose NOT to smooth
> > it at the host (or if I am playing live) I really *do* want
> > all my plugins to de-noise the control.
> 
> Can I re-word that?  You want you controls de-noised.
>   Better to do so at source?, or destination?
> Truth is, interpolating between point updates can be done at
> either end.  However, coding in the host simplifies life for
> plugin developers.

I like the idea that it can be done in one place, but it can't.  The host
doesn't know how fast I can ramp any given parameter for any given change
without artifacts.  Think of it this way:

I draw automation that looks like this (fixed width font required :)

0.9           ----------
             |
             |
0.1 ---------

What that means is "change from 0.1 to 0.9 as fast as you can.  Some
parameters will do that literally and change in one sample.  Some
parameters are coded to avoid noise and they have a formula for exactly
how fast a parameter change without distortion.

All I am saying is that ramps can't get rid of this, because not every
event will be a ramp, and not every ramp will be legitimate for noiseless
operation.  And this is 100% a plugin issue.  Every plugin developer needs
to do this evaluation on each parameter they want to denoise.  The host
can't know this.

Now, we could extend the API so each parameter can report the maximum
value change per millisec or something.  If we wanted to do that.  I don't
know that this will solve all problems.  There could be other
dependencies.

> > ..guarantee freedom from things like zipper noise.  The
> key is not that they do they internally, but that they do
> them CONSISTENTLY.
> 
> Yeah, that's one issue with VST, evey plugin does it
> differently, with varied success.

You missed my point.  I don't care if every plugin does it differently, so
long as that plugin does it the same way every time.

>   What if I record a track with my DX-7 soft-synth, then
> decide it would sound better on my Prophet-5 soft-synth. 
> Don't I want the automation playback to be identical?  All
> else being equal, ramping in the host provides better
> consistancy.

The automation playback can be the same, but the sound is *obviously*
going to be different.  And part of the audible difference is going to be
exactly how param changes affect the sound.

It might be that the filter cutoff on the P-5 can change at 1 kHz per
msec, while the DX-7 can only do 500 Hz per msec without noise.  If you
ask for an instantaneous change of 2 kHz, they will respond slightly
differently.


I'm all for ramps, but ramps are a slightly zoomed out view from what I am
talking about now.

----------------------------------------------------------------------
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

Other related posts: