[LAU] outfitting a computer for songwriting in linux?

Gene Heskett gheskett at wdtv.com
Sun Jul 26 17:45:42 UTC 2015


On Sunday 26 July 2015 11:13:52 Fons Adriaensen wrote:
> On Sun, Jul 26, 2015 at 08:26:25AM -0400, Gene Heskett wrote
>
> > The jitter is, for some folks minor enough they do not notice it. 
> > It is however, there.  Those of us doing CNC machinery control are
> > very aware of it, primarily because when moving steppers at a decent
> > rpm, excessive jitter costs us considerable in motion speed. 
> > Stepper torque about 3 or 4 hundred rpm depends hugely on having the
> > step signals at a steady rate.
>
> USB by itelf is not to blame here, the way it is used to deliver
> these stepper signals is. After all USB can transmit 64 streams of
> 48 kHz audio samples (e.g. RME MADI-USB) reliably. This requires
> some HW buffering of course, but so what ?

There is no buffering in a cnc setup.  The computer expects to get 
uptodate data from the machine which I have done at rates to 4,000 times 
a second, but normal is 1,000/second.  Ditto sending data back to the 
machine, that data cannot lollygag around in a buffer someplace for 20 
milliseconds while USB is searching for a suitable sock to put it in.  
Even 2 milliseconds will likely put the resultant part out of tolerance 
bad enough its a mantle decorator.
>
> If you try to exactly control the timing of pulses by controlling
> the time they are actually sent by the SW then of course this will
> fail. You need an approach similar to how audio is transmitted over
> USB.
>
> It would be quite easy to use a standard audio interface to do this.
> Take the analog output, apply a simple first order lowpass at 3 kHz
> or so (to have a controlled FR, independent of the DA converter's
> filter), then convert to square wave with a classical Schmitt trigger
> circuit with minimal hysteresis (a small fraction of the analog signal
> range).
>
> This way you can easily generate pulses up to 10 kHz or more and
> control each edge with microsecond accuracy (provided the edges
> are at least one sample period apart). All that remains is to
> generate the required audio signal. Not trivial, but not rocket
> science either.
>
> Ciao,

Cheers, Gene Heskett
-- 
"There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
Genes Web page <http://geneslinuxbox.net:6309/gene>


More information about the Linux-audio-user mailing list