Re: [linux-audio-dev] time stretching and compression under Linux ?

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: Re: [linux-audio-dev] time stretching and compression under Linux ?
From: Erik de Castro Lopo (erikd-lad_AT_mega-nerd.com)
Date: Tue Nov 13 2001 - 22:24:57 EET


It really blew my mind when Tim Goetze <tim_AT_quitte.de> said:

> >> Assuming the clocks on the cards really *are* running at constant
> >> rates. I wonder how consistent those things are? (I'm not a (digital)
> >> hardware guy...)
> >
> >I was and I can tell you they will drift relative to one another. It
> >will probably be less than 50 part per million.
>
> i wonder why they don't just take the PCI clock and divide it to generate
> the sample word clock.

Two problems:

  - Most of the A-D and D-A converter chips use delta-sigma technology which
    requires an input clock at 128 times the word clock.

  - Generating 128 times word clock for a number of different sample rate
    frequencies (22k05, 32k, 44k1, 48k, etc) from the PCI clock of 33MHz
    with low jitter would require a very difficult to design Phase Locked
    Loop. I know because I designed one.

Erik

-- 
+-----------------------------------------------------------+
  Erik de Castro Lopo  nospam_AT_mega-nerd.com (Yes it's valid)
+-----------------------------------------------------------+
$_='while(read+STDIN,$_,2048){$a=29;$b=73;$c=142;$t=255;@t=map{$_%16or$t^=$c^=(
$m=(11,10,116,100,11,122,20,100)[$_/16%8])&110;$t^=(72,@z=(64,72,$a^=12*($_%16
-2?0:$m&17)),$b^=$_%64?12:0,@z)[$_%8]}(16..271);if((@a=unx"C*",$_)[20]&48){$h
=5;$_=unxb24,join"",@b=map{xB8,unxb8,chr($_^$a[--$h+84])}@ARGV;s/...$/1$&/;$
d=unxV,xb25,$_;$e=256|(ord$b[4])<<9|ord$b[3];$d=$d>>8^($f=$t&($d>>12^$d>>4^
$d^$d/8))<<17,$e=$e>>8^($t&($g=($q=$e>>14&7^$e)^$q*8^$q<<6))<<9,$_=$t[$_]^
(($h>>=8)+=$f+(~$g&$t))for_AT_a[128..$#a]}print+x"C*",@a}';s/x/pack+/g;eval 


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : Tue Nov 13 2001 - 22:22:26 EET