Beamforming is a way to assess the source of origin of sound signals – in short, you can count the number of individuals making a sound!
To be able to do this the spacing between the microphones is of high importance, this depends on the air temperature and also the frequency the species call at.
There is a a free package for Python called Acoular which lets you analyse beamforming data. For the “basic” usage of this package, to count the number of sound sources, the package requires two input files. The first one is an XML document file (it is important that is specifically an XML document file and not any other type of XML file) which tells Acoular where the microphones are in relation to each other. It also requires the audio data to be transformed into a hd5f file (it is a type of hierarchical data file).
For someone that had never dealt with these type of files before it took quite a while to figure out how to create them properly. So here is a link to my GitHub where I have deposited three R files: one to calculate how to space the microphones in the field, one that creates the XML document file and one that automates the creation of hd5f files for a directory of wav files.
For a two microphone set up you can only calculate direction of the sound, for three microphones and above you can calculate location of origin. Please also remember when you run Acoular that the octave is important as it tells the package what bandwith to look for the sound in.