Hi! I hope everyone is doing well. I am new to acoustic tracking and I have recently set out an audio recorder to record bird sounds and I now have 100s of files of 10-second bird calling sounds. I was wondering if anyone had a program that they used that could sort of these files by frequencies. I am currently using audacity to open and play the files.
14 February 2021 5:33pm
Hi - there are two possible ways that I would do this (and more depending on your own skills and ways of working).
1. Use Kaleidoscope Pro to analyse the files. This gives you a spreadsheet as output with a wide range of parameters provided. You can simply click on the spreadsheet column header to sort the files.
2. Use one of the R sound packages (e.g. seewave) to analyse the sound files and calculate the peak/fundamental frequency - and then write this into a dataframe, or maybe save the wav with the freq appended to the filename?
Ta, Carlos
28 February 2021 12:22am
This may not be immediately useful, but I really like this interactive visualisation of bird calls organised by similarity (requires a desktop browser to run the experiment):
https://experiments.withgoogle.com/bird-sounds
They do provide the source code so it may be possible recreate this with your data, but it does seem daunting. One thing to note with these similarity measurements is the pattern or clustering is dependent on the input data. The outcome of this is you may end up with a very different order and pattern with only a sligltyly different set of input data.
18 March 2021 7:00pm
As Carlos mentioned, the R packages would be good if you're just looking for summary stats averaged over the whole 10s of the fiie. You would just read that directory into R and load seewave, tuneR, warbleR (I think monitoR may also have this functionality). Perhaps helpful links -
seewave - http://rug.mnhn.fr/seewave/
tuner - https://rdrr.io/rforge/tuneR/
warbler - https://marce10.github.io/warbleR/
9 April 2021 3:55pm
I'm assuming that by "sort by frequencies" you mean the frequency of the call itself, not the frequency of the audio recording (for example, a call at 1KHz vs a recording at a sample rate of 48KHz). My recommendation would be to use R (seewave/tuneR) to generate mean spectra of the recordings (meanspec function) and you can then use those mean spectra to figure out the peak frequency range and sort by that.
Carlos Abrahams
Baker Consultants