# wac2wav converter

March 14, 2016

Automated acoustic monitoring is gaining momentum worldwide. Alberta is stepping up to the game by implementing automated recording unit (ARU) based monitoring programs. An improved command line tool is here to help in the process.

The Bioacoustic Unit of the Alberta Biodiversity Monitoring Institute (ABMI) and the Bayne lab at the University of Alberta collaborates on best practices for using acoustic technology. The amount of information collected each year by these organizations is measured in dozens of terabytes, and is steadily increasing. Efficient and secure storage for all these files is the most immediate challenge, but the next one is closing the gap between data collection and data processing.

Processing all the recordings from the field requires significant computing resources. The first step is converting the wac files to wav, so that a a wider variety of software tools can be used to analyze the information in the files. The wac format is a proprietary file format developed by Wildlife Acoustics, a company that specializes in bioacoustics monitoring systems.

The fact that the acoustic units manufactured by Wildlife Acoustics are widely used in Alberta might represent a vendor lock-in. Luckily for us, the pressure on the company (see here and here, thanks Luis J. Villanueva-Rivera) led to the company releasing a command line tool under the GPL license for facilitating wac-to-wav file conversion (see source code here, here, and here).

The story might have ended right there. But the C code worked with standard input and output. It took some time and help (thanks John) to figure out exactly how one should use the command line tool. Here is the solution:

cat input_file.wac | ./wac2wavcmd > output_file.wav


Isn’t that ugly? One would expect something like:

./was2wavcmd input_file.wac output_file.wav


The good news is that the modified version (also released under GPL license) does just that. It has been tested on Linux, Mac OS X and Windows 10. It also removes all the clutter the original program prints to the terminal. The only difference is that the program is called wac2wav instead of wac2wawcmd. See the description and source code on GitHub. (Note: the leading ./ can be omitted if the program is added to the path.)

We are one step closer to a truly cloud based bioacoustic platform!

#### What is new in the intrval R package?

An update (v 0.1-1) of the intrval package was recently published on CRAN. The package simplifies interval related logical operations (read more about the motivation in this post). So what is new in this version? Some of the inconsistencies in the 1st CRAN release have been cleaned up, and I have been pushed hard (see GitHub issue to implement all the 16 interval-to-interval operators. These operators define the open/closed nature of the lower/upper limits of the intervals on the left and right hand side of the o in the middle as in c(a1, b1) %[]o[]% c(a2, b2).