Use Spectrogram Analysis and Filtering to Hear Recorded Bat Noises More Clearly

by Audrey Trujillo

Recording of nighttime noises on Purdue's campus

In the above recording of my surroundings after dark on Purdue's busy campus, many different sounds can be heard. The crickets are chirping loudly, cars drive by, a man sings while riding by on his bike, and even the bell tower rings in the background at one point. Additionally, bat chirps are heard faintly in the background. The plethora of other nighttime noises make the bat chirps quite difficult to hear, however. Fortunately, we can use MATLAB to isolate these subtle chirps to hear them more clearly.

First, load the recording into MATLAB and produce a spectrogram of the original audio. Use this spectrogram to determine which frequencies the bat chirps occur at. As seen in the spectrogram shown below, there are two faint blue lines at around 8 kHz and 10.5 kHz that appear most prominent around the same times we hear the chirps in the recording.

Spectrogram of recording of nighttime noises on Purdue's campus

A band-pass filter should allow the sounds at the desired frequencies to be heard more clearly. So then, we can design a low-pass filter in MATLAB to remove the frequencies above 11 kHz. Next, we design a high-pass filter to remove the frequencies below 7.5 kHz. See the MATLAB code and listen to the resulting filtered recording below. The clicking of the bats sounds almost like a sprinkler.

MATLAB code used to filter recording of nighttime noises to hear bat noises more clearly Filtered recording of nighttime noises on Purdue's campus

Alumni Liaison

Ph.D. 2007, working on developing cool imaging technologies for digital cameras, camera phones, and video surveillance cameras.

Buyue Zhang