- Starting point: sound source and microphone in an open area. There are no echo effects in this case. Movement will affect the spectrogram because of the inverse square law relating itensity to distance.
- Add a partially reflective wall to the picture. Assume for the moment that it reflects all frequencies equally well. Now you can detect motion based on the combination of the inverse square law plus the echo effect. The echo effect adds a time-delayed copy (at lower amplitude) of the primary wave. The presence of a time-delayed copy in the masured signal can best be detected with autocorrelation analysis. The you might reasonably ask, At what time scale must I measure autocorrelation? If the source is 1 m away from the reflecting wall, and the microphon is in the opposite dirction from th wall, then the echo must go 2 m farther to reach the microphone. That takes 6 milliseconds, since the speed of sound in air at sea level and normal temperature is about 340 m/s. THerefore autocorrelation anaysis out to 20 msec will be sufficient to detect audio paths that are up to 7 m longer than the direct path from source to microphone. There is a large literature on this subject. One example is here. Or anything by Leo Beranak (multiple books and articles), who has pioneered the analysis of concert hall acoustics. Beranak also co-founded Bolt Beranak and Newman (BBN), the company that "started the internet".
Spectrogram Audio Movement Detection
7 views (last 30 days)
I am looking for a solution to automatically detect audio movement or occlusion. I plan on having an object constantly play a sound close to it's microphone. I expect that from moving the location of the object in space toward ie. walls, into boxes, etc, will result volume changes in certain frequencies in the spectrogram. Whereas, when the object is away from walls and not moving, a somewhat constant spectrogram would result.
Is there an easy way to automatically detect:
-when the object is close to a wall, in a box, etc? (recorded tone spectrogram will be different than spectrogram of direct/original audio spectrogram on computer [transfer function])
-when the object is moving and being touched (changes in the spectrogram will occur in real time)
I am considering using the deep learning toolbox and the audio toolbox.
William Rose on 13 Aug 2022
You asked: "Is there an easy way to automatically detect..."
No. There is not an easy way. As you know, a spectrogram has many frequencies, and analyzing the spectrogram frm one moment to the next, to decide if it has changed, or if the observed change is "just noise", is not easy. It requires experimentaion and undesrstanding of the particular system being tested.
Consider the system in simple terms, and then gradually add complications to make it more like your real situation.
Collect some data from a stationary source (preferably a wide band source - I recommend white noise). Then move the source around. Explore the spectrogram. Measure the autocorrelation out to 20 msec lag, every 100 msec. See if whether the spectrogram or the autocorrelation show obvious or subtle changes. Then think about moving on to deep learning. That's my recommendation.