Introduction
Automatic bat call classification provides the capability to rapidly process the the bat recordings from a long walked transect or very long static site survey. For both the professional and amateur ecologist who need to process very large numbers of bat call recordings (even a few nights in active area can result in several thousand recordings) automatic call identification can save many hours of manual processing. As you will have read eslewhere, the BatExplorer software comes with a semi-automatic classifier, but his still requires the operator to analyse each recording in turn. The ultimate goal for very large datasets is of course some form of batch processing. I've included this section as a general introduction to the topic for anyone interested to learn more.
Scope of the problem
We take for granted our brain's ability to process data in parallel, in the case of bat call identification, we can take in the call structure, remove the the noise and clutter in our minds and listen to call at the same time. Getting a computer to mimic this operation has proven to be a difficult problem. To give you some idea of the issues faced:
You have detect the calls from the noise and clutter
You have to work out the call structure (start frequency, stop frequency, curvature, call length, call separation, etc)
You have to match the call structure to a species
Sounds easy? Take a look at a typical call from a serotine...
Firstly, what do you do about the harmonic call content? What do you do if it's incomplete as in this case (high frequencies get attenuated more than the lower ones, so the call start frequency is very often under-estimated)? How do you get the computer to recognise the clutter return, and the noise that you can't see with this image scale? What do do about the non-linear behaviour of the detector itself and any sampling errors in the recording. Once you start to think about coding an algorithm to achieve just the call extraction you will begin to see difficulties, and of course no two bats have same call structure between individuals, let alone the variety between species and in-species call variations used to exploit different habitats. Extracting the call from the recording is just the start of the problem, there's the call classification algorithm itself. If you do a web search on the topic of acoustic identification of bats, you will pull in numerous references to different methods. At present there's no clear leader in my opinion, and the different methods find themselves suited for different applications. Some classifiers extract simple features and attempt to match these to a standard call library, others (Sonobat for example or BatBioacoustics) derive more complex call descriptions. The next section takes a look at one specific example that is freely available to people, BatBioacoustics.
Bat Bioacoustics (now called BatClassify)
Bat Bioacoustics is automatic call classification program written by Chris Scott who is part of the "Altringham Lab" research group Leeds University. You can find the source code, executable and example call library here. You can see a copy of the readme file attached here. My interest in this classifier stems from the need to classify the very large number of calls that I encounter on some transects, and a longer term interest in the remote static monitoring of high activity areas. I'm also faced with quite often with multiple species in the same recording, which has to be dealt with manually with BatExplorer. You can see a summary of my experiences with Bat Bioacoustics in comparison with BatExplorer here. I'm currently trying to help the team work out how to manage the differences in sound recordings introduced by the detector hardware, which is the prime suspect for the problems I've seen.
If you need an automatic classifier, then this package could be for you. The team at Leeds have made it available, including the source code, to encourage more work in this area. If you have Pettersson D500x, then it will probably work for you with no modification. If are familiar with "R" (or learn) then you can readily build up your own customised library for the classifier for the original BatBioacoustics too.