Bioacoustic Analysis in R: Unveiling Nature’s Sounds

Status:Accepting applications
When:May 15-19, 2023 (10am to 1pm Costa Rica Time)
Where:Virtual Using Zoom
Duration:1 week
Tuition:$450 (Partial Scholarships available)
Deadline:April 23, 2023
Program Guide:
SKU: G-CR-FESSB-2019-1

Course Overview

The study of animal acoustic signals is a central tool for many fields in behavior, ecology and evolution. The growing availability of recordings in acoustic libraries provides an unprecedented opportunity to study animal acoustic signals at large temporal, geographic and taxonomic scales. However, the diversity of analytical methods and the multidimensionality of these signals posts significant challenges to conduct analyses that can quantify biologically meaningful variation. The recent development of acoustic analysis tools in the R programming environment provides a powerful means for overcoming these challenges, facilitating the gathering and organization of large acoustic data sets and the use of more elaborated analyses that better fit the studied acoustic signals.



The objective of this course, is to training biological sciences students and researchers in the detection and analysis of animal sounds in R. Specifically, it seeks to familiarize participants with computational tools in the R environment aiming at curating, detecting and analyzing animal acoustic signals, with an especial focus on quantifying fine-scale structural variation. The course will introduce the most relevant acoustics concepts to allow a detailed understanding of the metrics used for characterize acoustic signals. It will also guide participants through a variety of R packages for bioacoustics analysis, including seewave, tuneR, warbleR and baRulho.

General bioacoustics concepts

  • Bioacoustics as a scientific tool
  • History and development
  • Common topics
  • Bioacoustics in other research fields
  • Analytical workflow in bioacoustics research

What is sound?

  • Sound as wave
  • Sound as a time series
  • Sound as a digital object
  • Graphical representations: oscillogram
  • Spectrograms and the Fourier transform

Annotation software

  • Raven / Sonic visualizer / audacity
  • Open and explore recordings
  • Modify-optimize visualization parameters
  • Annotate signals

Acoustic signal annotation

  • Identifying structural units
  • Hierarchical structural levels
  • Classification approaches
  • Annotation tables
  • Rraven package

Acoustic data in R

  • Importing and manipulating sound in R
  • Read sound files as R objects
  • ‘wave’ object structure
  • ‘wave’ object manipulations
  • additional formats

Package seewave

  • Explore, modify and measure ‘wave’ objects
  • Spectrograms and oscillograms
  • Filtering and re-sampling
  • Acoustic measurements

Package warbler

  • Intro to warbleR
  • Selection tables
  • Extended selection tables
  • Selection table manipulation
  • warbleR functions and the bioacoustics analysis workflow

Quality control in recordings and annotation

  • Check and modify sound file format (check_wavs(), wav_info(), wav_dur(), mp32wav() y fix_wavs())
  • Tuning spectrogram parameters (spec_param())
  • Double-checking selection tables (check_sels(), spectrograms(), full_spec() & catalog())
  • Re-adjusting selections (seltailor())

Automatic detection

  • Detection using amplitude, frequency, and time filters (auto_detec())
  • Detection using cross-correlation (xcorr())
  • Frequency range detection (frange() and frange_detec())

Quantifying acoustic signal structure

  • Spectro-temporal measurements (specan())
  • Parameter description
  • Harmonic content
  • Cepstral coefficients (mfcc_stats())
  • Cross-correlation (x_corr())
  • Dynamic time warping (df_DTW(), ff_DTW())
  • Signal-to-noise ratio (sig2noise())
  • Inflections (inflections())

Characterizing hierarchical levels in acoustic signals

  • Creating ‘song’ spectrograms (full_spec(), specreator())
  • ‘Song’ parameters (song_param())

Selecting the right quantification method

  • Compare the performance of different methods (compare_methods())

Additional tools in warbler

  • Organize sound files and consolidate acoustics data sets (consolidate())
  • Create PDF files from spectrograms
  • Measure vocal coordination (coor_test(), coor_graph())
  • Simulating vocalizations


Basic familiarity with R.


There will be a total 5 sessions. Each session will consist of a theoretical introduction, demonstration of code and a self-learning practical.


Tuition, Room & Board

Tuition is $450.  Additional scholarships may be available for students with demonstrated financial needs. If you are interested in being considered for a partial scholarship, please make sure to include a request for a partial scholarship in your application. We will assess your situation individually and determine your eligibility for a scholarship if you are selected for the course.


Marcelo Araya Salas is an evolutionary behavioral ecologists deeply involved in the development of computational tools for bioacoustic analyses. He is the author of the R packages warbleRbaRulho and Rraven, which provide functions to streamline high-throughput acoustic analysis of animal sounds.