>       X = real interrupt period, x = truncated in nsecs
> 
>               X = x + a
> 
>       Y = real tick duration Y, y = truncated in nsecs
> 
>               Y = y + b

So X/Y is ticks/period, and x/y is what we are calulating as ticks per
period.  That means (X/Y) - (x/y) is the drift in ticks per period.

>                                   bx - ay
>         = (freq * t / period) * ------------
>                                  x (x + a)

This should be:

                                 
      D = tick drift
        = (freq * t / period) * (X/Y - x/y)
        = (freq * t / period) * ((x + a)/(y + b) - x/y)
        = .04698 ticks

>       D = .1 msec

        D = .04698 ticks over 5 minutes.
        500000us/beat / 480 ticks/beat = 1041.6666 us/tick

        time drift over 5 minutes:
        T = .04698 ticks * 1041.6666 us/tick 
        T = 48.9375us

        definately still in audible i think

jack.

_______________________________________________
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel

Reply via email to