Learn R Programming

⚠️There's a newer version (1.1.32) of this package.Take me there.

warbleR: Streamline Bioacoustic Analysis

warbleR is intended to facilitate the analysis of the structure of animal acoustic signals in R. Users can collect open-access avian recordings or enter their own data into a workflow that facilitates spectrographic visualization and measurement of acoustic parameters. warbleR makes use of the fundamental sound analysis tools of the seewave package, and offers new tools for acoustic structure analysis. These tools are available for batch analysis of acoustic signals.

The main features of the package are:

  • Diverse tools for measuring acoustic structure
  • The use of loops to apply tasks through acoustic signals referenced in a selection table
  • The production of images in the working directory with spectrograms to allow users organize data and verify acoustic analyses

The package offers functions to:

  • Explore and download Xeno‐Canto recordings
  • Explore, organize and manipulate multiple sound files
  • Detect signals automatically (in frequency and time) (but check the R package ohun for a more thorough and friendly implementation)
  • Create spectrograms of complete recordings or individual signals
  • Run different measures of acoustic signal structure
  • Evaluate the performance of measurement methods
  • Catalog signals
  • Characterize different structural levels in acoustic signals
  • Statistical analysis of duet coordination
  • Consolidate databases and annotation tables

Most of the functions allow the parallelization of tasks, which distributes the tasks among several processors to improve computational efficiency. Tools to evaluate the performance of the analysis at each step are also available.

Install/load the package from CRAN as follows:

install.packages("warbleR")

#load package
library(warbleR)

To install the latest developmental version from github you will need the R package remotes:

remotes::install_github("maRce10/warbleR")

#load package
library(warbleR)

For details and example usage, visit the warbleR package website.

A full description of the package (although a bit outdated) can be found in this journal article.


Please cite warbleR as follows:

Araya-Salas, M. and Smith-Vidaurre, G. (2017), warbleR: an r package to streamline analysis of animal acoustic signals. Methods Ecol Evol. 8, 184-191. link

NOTE: please also cite the tuneR and seewave packages if you use any spectrogram-creating or acoustic-measuring functions

Copy Link

Version

Install

install.packages('warbleR')

Monthly Downloads

1,091

Version

1.1.28

License

GPL (>= 2)

Last Published

December 9th, 2022

Functions in warbleR (1.1.28)

check_sound_files

Check sound files
color_spectro

Highlight spectrogram regions
comp_matrix

Example matrix listing selections to be compared by cross_correlation
coor.test

alternative name for test_coordination
check_sels

Check selection data frames
cross_correlation

Time-frequency cross-correlation
check_wavs

alternative name for check_sound_files
color.spectro

alternative name for color_spectro
checksels

alternative name for check_sels
cut_sels

Cut selections into individual sound files
dfDTW

alternative name for freq_DTW
compare.methods

alternative name for compare_methods
df_DTW

alternative name for freq_DTW
duration_sound_files

Measure the duration of sound files
fix_extended_selection_table

Fix extended selection tables
fix_wavs

Fix .wav files to allow importing them into R
freq_ts

Extract frequency contours as time series
find_clipping

Find clipped selections
full_spectrogram2pdf

full_spectrogram2pdf combines full_spectrograms images in .jpeg format to a single pdf file.
find_peaks

Find cross-correlation peaks
compare_methods

Assessing the performance of acoustic distance measurements
filter_sels

Subset selection data frames based on manually filtered image files
ffDTW

deprecated functions and function names
freq_DTW

Acoustic dissimilarity using dynamic time warping on dominant frequency contours
find_annotations

Obtain annotations from audioblast.org data base
frange.detec

alternative name for freq_range_detec
filtersels

alternative name for filter_sels
info_sound_files

Get sound file parameter information
full_spectrograms

Create long spectrograms of whole sound files
is_extended_selection_table

Class 'extended_selection_table': selection table containing wave objects
warbleR-internals

warbleR Internal Functions
info_wavs

alternative name for info_sound_files
lbh_selec_table2

Example data frame of selections (i.e. selection table).
inflections

Count number of inflections in a frequency contour
image_to_wave

Convert images into wave objects
lspec

alternative name for full_spectrograms
map_xc

Maps of 'Xeno-Canto' recordings by species
gaps

Gap duration
move.imgs

alternative name for move_imgs
mfcc_stats

Calculate descriptive statistics on Mel-frequency cepstral coefficients
optimize_auto_detec

Optimize the detection of signals based on a-priori detections
open_wd

Open working directory
mp32wav

Convert .mp3 files to .wav
freq_range

Detect frequency range iteratively
envelope

Calculates the absolute amplitude envelope
lbh_selec_table

Example data frame of selections (i.e. selection table).
freq_range_detec

Detect frequency range on wave objects
multi_DTW

A wrapper on dtwDist for comparing multivariate contours
is_selection_table

Class 'selection_table': double-checked frequency/time coordinates of selections
consolidate

Consolidate (sound) files into a single directory
duration_wavs

alternative name for duration_sound_files
phylo_spectro

Add spectrograms onto phylogenetic trees
new_function_names

Data frame detailing function name changes
coor.graph

alternative name for plot_coordination
mp3_2_wav

alternative name for mp32wav
move_imgs

Move/copy image files between directories
print.find_peaks.output

print method for class xcorr.output
frange

alternative name for freq_range
rbind.selection_table

rbind method for class selection_table
print.autodetec.output

print method for class autodetec.output
print.selection_table

print method for class selection_table
fixwavs

alternative name for fix_wavs
selection_table

Create 'selection_table' and 'extended_selection_table' objects
print.extended_selection_table

print method for class extended_selection_table
read_sound_file

An extended version of read_wave that reads several sound file formats and files from selection tables
resample_est

Resample wave objects in a extended selection table
song_analysis

Calculates acoustic parameters at the song level
rename_waves_est

alternative name for rename_est_waves
song_param

alternative name for song_analysis
overlapping_sels

Find overlapping selections
ovlp_sels

alternative name for overlapping_sels
lspec2pdf

alternative name for full_spectrogram2pdf
make.selection.table

Old name for selection_table
read_wave

A wrapper for tuneR's readWave that read sound files listed within selection tables
simulate_songs

Simulate animal vocalizations
remove_channels

Remove channels in wave files
rm_sil

alternative name for remove_silence
selec.table

Alternative name for lbh_selec_table
[.extended_selection_table

extract method for class extended_selection_table
split_wavs

alternative name for split_sound_files
spectro_analysis

Measure acoustic parameters in batches of sound files
specreator

alternative name for spectrograms
plot_coordination

Coordinated singing graphs
print.xcorr.output

print method for class xcorr.output
querxc

alternative name for query_xc
resample_est_waves

alternative name for resample_est
rm_channels

alternative name for remove_channels
sig2noise

Measure signal-to-noise ratio
specan

alternative name for spectro_analysis
signal_2_noise

alternative name for sig2noise
spec_param

alternative name for tweak_spectro
snr_specs

alternative name for snr_spectrograms
sort_colms

Sort columns in a more intuitive order
snr_spectrograms

Spectrograms with background noise margins
query_xc

Access 'Xeno-Canto' recordings and metadata
remove_silence

Remove silence in wave files
rename_est_waves

Rename wave objects and associated metadata in extended selection tables
rbind.extended_selection_table

rbind method for class extended_selection_table
seltailor

alternative name for tailor_sels
sim_coor_sing

Simulated coordinated singing events.
sound_pressure_level

Measure relative sound pressure level
warbleR

warbleR: A package to streamline bioacoustic analysis
spectrograms

Spectrograms of selected signals
test_coordination

Randomization test for singing coordination
snrspecs

alternative name for snr_spectrograms
split_sound_files

Splits sound files
track_freq_contour

Spectrograms with frequency measurements
try_na

Wrapper for "try" function
sim_songs

alternative name for simulate_songs
track_harmonic

Track harmonic frequency contour
trackfreqs

alternative name for track_freq_contour
wavdur

alternative name for duration_sound_files
wav_info

alternative name for info_sound_files
warbleR_options

Setting warbleR options
wpd_features

Measure wavelet packet decomposition features (EXPERIMENTAL)
tweak_spectro

Plot a mosaic of spectrograms with varying display parameters
xcmaps

alternative name for map_xc
xcorr

alternative name for cross_correlation
tailor_sels

Interactive view of spectrograms to tailor selections
wav_2_flac

Convert .wav files to .flac
[.selection_table

extract method for class selection_table
wav_dur

alternative name for duration_sound_files
auto_detec

auto_detec automatically detects the start and end of vocalizations in sound files based on amplitude, duration, and frequency range attributes.
catalog2pdf

Combine catalog images into pdfs catalog2pdf combines catalog jpeg images into pdfs
autodetec

alternative name for auto_detec
by_element_est

Convert a by-song extended selection table to by-element
catalog

Create catalogs of vocal signals