Editing wave objects from extended selection tables

“Is there a simple way to remove noise from the clips in an extended table – I can do this by directly manipulating the attributes of the table but it seems a bit kludgy … so again, am I missing something simple?” Manipulating clips from extended selection tables can be pretty straightforward. It can be done by using lapply() to go over each clip. Things should be fine as long as you don’t mess with any time related feature (i. [Read More]

Extended selection tables

This post shows how to create and use the new warbleR object class extended_selection_table. These objects are created with the selec_table() function. The function takes data frames containing selection data (sound file name, selection, start, end …), checks whether the information is consistent (see checksels() function for details) and saves the ‘diagnostic’ metadata as an attribute. When the argument extended = TRUE the function generates an object of class extended_selection_table which also contains a list of wave objects corresponding to each of the selections in the data frame. [Read More]

Individual sound files for each selection

A friend of mine wants to “create individual sound files for each selection” in a selection table. This is a good opportunity to show how to create a function that works iteratively on signals in a selection table (like most warbleR functions). It takes 3 main steps: Create a (internal) function that does what we want on a single selection (i.e. a single row of the selection table) Add and (X)lapply loop to run the function from step 1 iteratively on each row [Read More]

Fixing selections manually

This short post shows how to use the seltailor function to adjust selection frequency and time ‘coordinates’ in an interactive and iterative manner. To be able to run the code you need warbleR 1.1.9 or higher, which hasn’t been released on CRAN and it’s only available on github. It can be installed using the devtools package as follows # install devtools and monitor if are not yet installed # install devtools if is not yet installed if(! [Read More]

Frequency range detection from spectrum

We are often interested in getting the frequency range of acoustic signals, either because we have specific predictions about its variation or simply because we want to measure other stuff within that range. Measuring frequency range is typically done by drawing boxes in Raven/Avisoft/Syrinx. An alternative way, and potentially less subjective, is to infer the range from the energy distribution in the frequency domain applying amplitude thresholds on spectrums. I have added two new functions to warbleR that do exactly that: [Read More]

Rraven: Connecting R and Raven Sound Analysis Software

The Rraven package is designed to facilitate the exchange of data between R and Raven sound analysis software (Cornell Lab of Ornithology). Raven provides very powerful tools for the analysis of (animal) sounds. R can simplify the automatization of complex routines of analyses. Furthermore, R packages as warbleR, seewave and monitoR (among others) provide additional methods of analysis, working as a perfect complement for those found in Raven. Hence, bridging these applications can largely expand the bioacoustician’s toolkit. [Read More]