Graillon 1.0, VST effect fully made with D

Warwick via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Sun Nov 29 02:14:39 PST 2015


On Sunday, 29 November 2015 at 09:12:18 UTC, Any wrote:
> On Sunday, 29 November 2015 at 06:18:13 UTC, Jonny wrote:
>> um, come on, you sit here and preach that I don't know what 
>> I'm talking about yet you can't even be right on the first 
>> sentence?
>>
>> jitter is the standard deviation of the timings. Do you know 
>> what standard deviation is? It is the square root of the sum 
>> of the squares...
>
> Jitter is any deviation in, or displacement of, the signal 
> pulses in a high-frequency digital signal. The deviation can be 
> in terms of amplitude, phase timing or the width of the signal 
> pulse.
>
> The units of jitter measurement are picoseconds peak-to-peak 
> (ps p-p), rms, and percent of the unit interval (UI).
>
> See google.

We're talking about whether a plugin / audio code / runtime 
environment can deliver audio to a soundcard in a reliable manner 
so that you don't get audio drop outs. We're not talking about 
the jitter of a digital clock source that's used to control the 
actual sampling stream. It's similar but at the level of the 
audio buffer timeslice, not the unit delta of the sample stream. 
The jitter of an audio clock source is for electronic engineers 
not audio plugin developers.

In general terms of delivering audio to a soundcard jitter would 
be the variation in the time take to deliver each buffers worth 
of audio data to the soundcard. If the sound card has 5ms 
latency, then you need to make sure your audio processing never 
takes more than that.

The point is that it is better to have an algorithm that always 
takes 3ms, than one that usually takes 2ms but occasionally takes 
6ms. Because those times when it takes 6ms it cant feed the 
soundcard in time for the next audio buffer to be delivered.

In more precise terms jitter is the variation in the time a given 
algorithm takes to process. I mean if the code is identical and 
doesn't change from one buffer to the next, the variation in time 
take to produce a each buffers worth of data.

It's important to remember that a typical DAW user may have 10, 
20, or 100+ plugins loaded, and it may be hitting 80 or 90 
percent CPU usage in places. With constantly changing loads on 
the plugins.

IE. If you are at 90% cpu usage with 5ms timeslice you can only 
tollerate 0.5ms jitter before the shit hits the fan. So the 
important question is not "does it work", it's "does it work 
under heavy load".





More information about the Digitalmars-d-announce mailing list