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:- Analook allows you quickly browse through recording (it can hide the silence between bat calls).
- You can use the analysis functionality that Analook provides.
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:- Automatic installer for the most recent version
- Stand-alone AnabatConverter v0.8
- Stand-alone AnabatConverter v0.7
- Stand-alone AnabatConverter v0.6
- Stand-alone AnabatConverter v0.5
- Stand-alone AnabatConverter v0.4
- Stand-alone AnabatConverter v0.3
- Stand-alone AnabatConverter v0.2
- Stand-alone AnabatConverter v0.1
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:
- select the file with the 'Select file...' button,
- configure the various conversion settings (channel, time expansion ratio, frequency division ratio),
- (optionally) add some notes about the recording,
- press the 'Convert single file' button.
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.Channel
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:- The time expansion ratio is automatically assumed to be 1 (the user-supplied setting is ignored).
- The date and time that the recording was made is extracted automatically. The file name of the converted file is encoded according to anabat conventions. The name of the subdirectory containing the converted file is not 'anabat' but date-encoded according 'yyyyMMdd', where yyyy is the year (e.g. 2011), MM is the month (e.g. 08 for august), dd is the date within the month (e.g. 23). Files recorded after midnight but before noon are considered to be recorded on the previous night.
- The recording date is stored in the 'Date' field of the converted anabat file.
- The original wave file name is stored in the 'Tape' field of the converted anabat file
- The D500-specific settings used for recording are stored in the 'Notes' filed of the converted anabat file.
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
- Major processing speed increase by using multiple threads
- Add heuristic to assume a file is not time expanded when the sample rate is higher than 48 kHz
- Improved reading speed
- More robust background noise estimation (ignores short periods of pure silence)
- Support for reading 24-bit audio files (in addition to 8-bit and 16-bit)
- Continues with batch conversion when an error is found in one file.
- Add biquad hi-pass filter to reduce low-frequency noise
- Add version string to application window
- Fix a bug that would cause an incorrect expansion ratio when converting a mix of D500 and non-D500 files
- Add basic support for sonobat metadata (parsed from the file name)
- Use chunks of 50 ms for automatic threshold calculation
- Zero-crossing threshold is now calculated automatically
- Added support for 8-bit files (besides 16-bit files)
- Added support for stereo files (data is taken from specified channel)
- Added progress bar for batch conversion.
- Automatically adjust for non-zero average signal level
- Initial version
External links
- Homepage of Chris Corben, creator of the Anabat system
- Myotisoft ZCANT, another tool (similar to this one) for full spectrum wav to anabat-zerocross-analysis conversion.
This page was last updated July 8th, 2012