Methods
​
Our initial thoughts for identifying the individual ball hits in an audio clip from a tennis match was to directly apply a high-pass filter to the clip and that would perfectly filter out the noises that aren’t important to the scoring of a tennis match. The sound of a tennis ball getting hit occurs over a very short period of time when compared to the applause that follows, so a filter that eliminates low frequency noises would logically block out the unimportant crowd noises and would only leave us with the hits. But after analyzing the spectrograms of audio clips of both events, it was discovered that the two different audio clips were very similar in the frequency domain. Both clips had the majority of their power at low frequencies, and applying a high-pass filter to the clip would not achieve the desired effect.
The one fact that was noticed in analyzing the differences between the two audio clips was the brevity of the individual clips of balls getting hit by rackets when compared to the crowd noise. The hits were very brief, having a very high magnitude lasting for less than two hundredths of a second, while the applause maintained a similar level of audio for well over five seconds, sometimes lasting twenty seconds. This fact provided inspiration for the creation of our final filter.
By studying how long the average ball hit last, we can introduce and tune a time-based parameter that we can use to peek ahead in the audio clip and check if there is any noise above a certain pre-set threshold. If there is noise above the threshold at the present time, then it would stand to reason that the audio we are looking at in the current time is most likely unimportant noise from the crowd. This method is illustrated below in Figure H.
​
​
​
​
​
​
​
​
​
​
Figure H: Illustration of our final filtering method on an audio clip containing both crowd noise and hits from the end of a rally
While this method does produce very accurate results, it does take tuning of thresholds to accomplish its goal accurately. And while we designed this filter to accomplish its main task of looking for individual ball hits, it is also adept at identifying other events during a tennis match that have an impact on the scoring of a game, namely when the ball hits the net or when a line umpire declares a ball to be out of bounds.
To identify when the umpire calls ‘Out’, we saved a known instance of an umpire making an out call. Since the out call also passes through our filter, we can compare this saved audio clip to each event, assign a correlation coefficient to each event based on how well it resembles the known audio clip, and then confirm the event is indeed an out call if the coefficient is above a certain threshold.
​​
