3 ms·
I didn’t find any reference but the algorithm is approximately this: 1. Assume there is one point source of sound which dominates everything else 2. Input two
by dan-robertson 6y ago
I didn’t find any reference but the algorithm is approximately this:
1. Assume there is one point source of sound which dominates everything else
2. Input two frames of samples, s and t, and compute cross correlation: a measure of how similar they are for a given delay between samples
n(k) := sum(s(i) t(i+k)) / (s•s)(t•t)
3. Find the k which maximises n(k)
4. Do some beamforming to improve the signal to noise ratio. This sounds complicated but basically you just shift t by k samples and average it with s.
I’m not really sure how this works if k changes over time, but I guess something could be done to change it in a more continuous way.
I also don’t really know how it works with more than two microphones or if you know the geometry of the array.