This page describes my AnabatConverter software. It converts a time expansion audio wave file into a zero-crossing file compatible with the Analook application.

What is it?

The AnabatConverter is a Java program that takes a wave file of a time-expansion recording (e.g. of a bat call), extracts the zero-crossings and converts it into an anabat-compatible file that can be opened with the Analook program. Conversion into anabat-compatible format has the following advantages:

Please note that the converted file does not contain all of the information that the original time-expansion file contained. It is possible (and quite likely) that faint signals and harmonics can be discerned in the original waveform which are not visible in the converted file.

How does it work?

Download the application

The following versions of the application can be downloaded:

Basic usage

The application has a graphical user interface. It should run on any platform that supports Java (standard edition), like Windows, Mac OS and Linux.

To convert a single file:

Conversion should take only on the order of a few seconds on a recent desktop PC. The converted file is generated in a subdirectory 'anabat', with the '.wav' file name extension replaced by '.00#'.

To convert all files in the directory of the currently selected file, press the 'Convert all files in directory' button. A progress bar shows the conversion progress and the name of the currently processed wave file. All files will be converted with the same conversion settings.

Conversion settings

High-pass filter

This is a high-pass filter to reduce interference from low-frequency noise. The filter is a butterworth 2nd order biquad high-pass filter. Fill in a frequency of 0 to disable the filter.


In case a stereo wave file was selected, this setting determines which channel (left or right) is used for conversion. The application can only convert one channel of a stereo wave file. In case of a mono wave file, this setting is irrelevant.

Time expansion ratio

If the bat call was recorded with a traditional time-expansion detector (e.g. Petterson D240) and stored on a separate wave file recorder (e.g. tape, minidisc or an Edirol), fill in the time expansion ratio that the time-expansion detector used, typical values are 10 or 16. If the wave file was recorded with a direct-to-disk recorder (e.g. Pettersson D500/D1000), fill in 1.

Frequency division ratio

This setting determines the trade-off between accuracy in time and frequency. A low value gives you more 'dots' in the analook display, but gives worse accuracy in frequency. A high value gives you more accuracy in frequency, but less dots in the analook display. A typical value is 8. For CF-type calls, you could use 16 or 32. For FM-type calls, a value of 8 is fine.

Pettersson D500 support

When the application detects that the wave file was recorded with a Pettersson D500 recorder, the behaviour of the application changes slightly:

History and future plans

The program comes with no warranty. There are several things that could be improved about this program, for example better error handling and reporting, support for conversion of frequency division recordings (this might work already, but either the time or the frequency scale will be off). There will probably also be bugs. Please contact me if you find any, or if you want the source code to fix them yourself.

Revision history:
v0.8 v0.7 v0.6 v0.5 v0.4 v0.3 v0.2 v0.1

External links

This page was last updated July 8th, 2012