Random assorted programs to sync multiple audio streams. Very useful when you have two sound cards each capable of recording eight channels each, but they're not in sync, since real-life oscillators are non-ideal. (I'm sure this is a really common use case.) Using a sync channel (yes, that means you're "wasting" one channel on each card) it can "stretch" the channels using a phase-locked loop (PLL) so they are reasonably in sync all the time. (It won't neccessarily help you getting the _start_ right, but once you've lined the recordings up they will _stay_ lined up and not drift apart.) VERY UNPOLISHED. Needed them once, probably will never again. Basically, the tools are, in semi-logical order: - gen-random-skew: Generate semi-random skew; used for testing only. - gen-sine SAMPLES FREQUENCY: Generate a FREQUENCY Hz sine running for SAMPLES samples. Not generally used anymore. - gen-square SAMPLES FREQUENCY: The same, only with a square wave. This will be your sync channel; output it from one of the sound cards (if you can) or from an external machine. You'll need the sync signal on one channel of each card. Don't worry about clipping, it's all just max/min anyhow. - estimate-skew REFSYNC INPSYNC SKEW: Compare the sync channel from REFSYNC with that from INPSYNC and output the estimated skew (or rather, recommended normalized resampling frequency) to SKEW. - do-skew INPUT SKEW OUTPUT: Take sound data from INPUT, resample it using the information from SKEW (usually from estimate-skew) and write it to OUTPUT. Copyright 2006 Steinar H. Gunderson . Licensed under the GNU General Public License, version 2.