Patent ID: 8515086

Claim:
A computer implemented audio signal processing method that compensates for different sampling rates between a playout unit and a capture unit, the method comprising: receiving samples of an audio signal at the playout unit from a computational unit, the playout unit consuming samples in a playout time domain that operates according to a playout clock; sending samples to the computational unit from the capture unit, the capture unit producing samples in a capture time domain that operates according to a capture clock; synchronizing the computational unit to a common clock operating in a common clock time domain, said common clock being different than said playout clock and the capture clock; establishing with a processor a first relationship between the common clock and a playout read pointer associated with the playout buffer; establishing with the processor a second relationship between the common clock and a capture write pointer associated with the capture buffer; for each sample in the playout time domain, obtaining a corresponding sample from the samples from the computational unit, based on the first relationship, and sending the corresponding sample to the playout buffer; and for each sample in the common clock time domain, obtaining a corresponding sample in the capture time domain, based on the second relationship, and sending the corresponding sample to the computational unit, wherein the obtaining the corresponding sample in the capture time domain includes identifying a sample in the capture time domain closest in time to a sample in the common clock time domain; if an offset between the common clock time domain and the capture time domain is not an integer, calculating a subsample and providing the subsample as the found sample, said calculating including calculating a residual factor τ, the residual factor being a residual after subtracting an integer offset between the common clock time domain and the capture time domain, and convolving a time delay filter (h τ ) of length L+1 with a series of samples (y) from the capture time domain according to y=h τ x[j−L/ 2 . . . j+L/ 2], where x is a time series of samples from the capture time domain, and the vector of samples used in the calculation is centered around the sample closest in time defined by (j).