Bat Call Id Assistant

Assists in identifying bat calls recorded using the Anabat

It was developed for use by Bayside Friends of Native Wildlife, and hence
targets the species likely to be found in the Bayside region of Victoria, Australia.
However with changes to the BatCallData.groovy config file, it could in theory work
for any region.

Bat Call Id Assistant does not identify the bat calls itself. Instead it assists
the non-expert to identify the calls by presenting the most likely species to


The source is available on BitBucket.

Releases of the binaries will be periodically uploaded to the Downloads area on BitBucket.

Releases of the jars will be made available via a Maven repository on bintray.


This project is designed to be used either as a standalone commandline program,
or as a backend to a user interface such as a web application.

From the commandline

Download the and unzip it.

In the bin directory you will find BatCallIdAssistant.bat for Windows and
BatCallIdAssistant for Linux and Mac.

Run the appropriate file with two command line parameters.

The first should be the characteristic frequency of the call you wish to identify. For a good quality call, the
Anabat system program Analookw will list this as one of the measures of the call. Or you can estimate it yourself.

The second parameter is an abbreviation for the category of the call shape. It should be one of the following:

Use For
H Horizontal: the call is mostly horizontal and level. Do not confuse this with a recording of a portion of a 'hooked' call.
V Vertical: while not truly vertical, the call has very little horizontal component.
HU Hooked Upwards: curved, with an upswept tail.
HD Hooked Downwards: curved, with a downswept tail.
HL Hooked Level: curved, with no obvious tail. Bat Call Id Assistant will consider also HU and HD calls, in case the lack of a tail is due to a lower quality call.

As a backend

Download the BatCallIdAssistant-version.jar and put it on your classpath.

From either Java (or Groovy), use code similar to


BatCallAssistant assistant = new BatCallAssistant();
List<List<BatCall>> results =, BatCallShape.HOOKLEVEL);

System.out.println( "Probable species:" );

for( BatCall call : results.get(0) ) {
    System.out.println( call.get("species" ) );

System.out.println( "Also consider:" );
for( BatCall call : results.get(1) ) {
    System.out.println( call.get("species") );


BatCallIdAssistant is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

BatCallIdAssistant is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with BatCallIdAssistant. If not, see

The identification information included with this software was based heavily on
Bat calls of New South Wales,
which can be found on the NSW Government web site.