Surely this question has been answered before in parts but I cannot find one solid answer. Ultimately I am trying to calculate the audio delay between two signals I am recording on USB microphones. With no problem I am recording the audio, reading it back into python, computing the cross correlation/convolving, and then finding the delay. When I manually create the signals (one with a delay) and feed them into my algorithm both methods find the right delay. As a test for real data I am trying to find the speed of sound between two mics (velocity = dis / time). Again, with a man-made delay of 76 frames and mic spacing of .6 meters I get a speed of sound of roughly 348.157...close enough for me.
When I try this with real recorded data no two tests have similar outputs; huge outliers, and no consistency.
- What should I try next? filtering?
- Add more mics for more accuracy?
The source signal is Guassian white noise. Any help you guys can give would be awesome.