Technical Articles

Protecting Endangered Owl Species with MATLAB Audio Processing Algorithms

By Mutsumi Saito, Fujitsu Kyushu Network Technologies Ltd.


The Blakiston’s fish owl is one of the rarest birds in the world (Figure 1). The current population in Japan is estimated at fewer than 200 owls, and Ministry of the Environment has listed Blakiston’s fish owl as a species at high risk of extinction.

Figure 1. A Blakiston’s fish owl. This is the largest species of owl (Photo credit: Wild Bird Society of Japan)

Figure 1. A Blakiston’s fish owl. This is the largest species of owl (Photo credit: Wild Bird Society of Japan)

The species’ rapid decline in population is due to widespread loss of its riparian forest habitat. Seeking to protect Blakiston’s fish owls and increase their numbers, the Wild Bird Society of Japan (WBSJ) is conducting research into the owl’s habitat and status. The results will help conservationists implement measures to prevent further decline.

To support this research, Fujitsu Kyushu Network Technologies developed a MATLAB® application that automatically recognizes the distinct audio patterns of the Blakiston’s fish owl’s call. Typically, male and female owls form pairs and exchange calls throughout the night. The MATLAB application enables researchers to accurately identify these calls from audio recordings made in the forest. In the past, researchers spent the same number of hours as the recording time to listen to audio recordings. Using the MATLAB application, they can accurately identify all owl calls from the same recording in two to three minutes.

Automating a Subjective, Labor-Intensive Process

When WBSJ began the project, researchers spent several hours in the forest listening for owl calls. This approach proved arduous, and the researchers soon switched strategies, placing many digital recorders in the forest to capture sounds in many areas.

With thousands of hours of audio—several hundred GB of data—captured each season, the process of identifying owl calls was time-consuming and highly dependent on the skills of the individual researcher. Detecting the calls of owls located far away from the devices was close to impossible. Clearly, a more automated approach was needed.

At the time, Fujitsu was supporting WBSJ efforts to protect the Japanese crane. Based on the relationship established during this collaboration, WBSJ asked Fujitsu to develop software capable of analyzing the digital recordings and automatically recognizing Blakiston’s fish owl calls. The request aligned with the Fujitsu Group’s biodiversity action principles, which promote the application of IT solutions to biodiversity conservation, and I agreed to develop software to support activities to protect Blakiston’s fish owl.

Developing the Call Identification Algorithms

The first step in developing the software was to prepare the sound data for spectral analysis by format conversion and filtering it. The digital recorders captured sound data at a sampling rate of 44.1kHz and stored it as either a WAV or MP3 file. Data in MP3 files is compressed, so I used MATLAB to reformat it into the uncompressed pulse code modulation (PCM) format.

Owl calls are in the 200-300Hz range. To make call detection easier, I downsampled the 44.1kHz data using the SampleRateConverter System object™ from DSP System Toolbox™.

My next task was spectral analysis. In MATLAB, I developed an algorithm that partitions the data into segments, and performed Fourier transforms on each segment to analyze its frequency characteristics. The algorithm then analyzes the spectral patterns and determines the peak frequencies (Figure 2).

Figure 2. The process for analyzing the frequency characteristics of owl calls.

Figure 2. The process for analyzing the frequency characteristics of owl calls.

The algorithm compares the time-varying patterns of peak frequency from the input data with a reference pattern derived from processing audio data of an actual Blakiston’s fish owl. Whenever the measured pattern is sufficiently similar to the reference pattern, the algorithm logs a time stamp of the audio segment for future reference by WBSJ researchers.

A Standalone Application for Verifying and Visualizing Results

To make it easier for WBSJ researchers to use the automated detection algorithm, I developed a graphical interface and then used MATLAB Compiler™ to create a standalone application that the researchers can run on any PC, even if they do not have MATLAB installed. Using this interface, researchers start by selecting a recorded audio file to analyze. After the algorithm has analyzed the audio and generated a list of time stamps of owl calls, the researchers can review each log entry to verify that it is an actual call. Using the interface, researchers can play back an audio recording for each call and view a spectrogram of the call showing the characteristic “m” shape of the Blakiston’s fish owl’s call (Figure 3).

Figure 3. Interface developed in MATLAB for detecting, visualizing, and verifying Blakiston’s fish owl calls.

Figure 3. Interface developed in MATLAB for detecting, visualizing, and verifying Blakiston’s fish owl calls.

Identifying Individual Owls and Other Species

WBSJ researchers have already used the software to identify Blakiston’s fish owl calls, and have been requested to change the algorithms to identify individual Blakiston's fish owl calls. To further support efforts to preserve biodiversity, Fujitsu Kyushu Network Technologies plans to extend the automated bird-call identification to other species.

Published 2017 - 92949v00