Bioacoustic Analysis in R: Unveiling Nature’s Sounds

Status:Accepting applications
When:May 13-17, 2024 (10am to 1pm Costa Rica Time)
Where:Virtual Using Zoom
Duration:1 week
Tuition:$250
Credits:NA
Language:English
Deadline:April 18, 2024
Program Guide:
Apply Now
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.

 

Curriculum

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.

Itinerary

There will be a total 5 sessions. Each session will consist of a theoretical introduction, demonstration of code and a self-learning practical. Sessions will run from 10 am to 1 pm Costa Rica time.

Introduction Introduction

  • How animal acoustic signals look like?
  • Analytical workflow in bioacoustics research
  • Advantages of programming
  • Course outline

What is sound? Sound

  • Sound as a time series
  • Sound as a digital object
  • Acoustic data in R
  • ‘wave’ object structure
  • ‘wave’ object manipulations
  • additional formats

Building spectrograms Building spectrograms

  • Fourier transform
  • Building a spectrogram
  • Characteristics and limitations
  • Spectrograms in R

Package seewave seewave

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

Annotation software annotations

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

Quantifying acoustic signal structure Quantify structure

  • Spectro-temporal measurements (spectro_analysis())
  • Parameter description
  • Harmonic content
  • Cepstral coefficients (mfcc_stats())
  • Cross-correlation (cross_correlation())
  • Dynamic time warping (freq_DTW())
  • Signal-to-noise ratio (sig2noise())
  • Inflections (inflections())
  • Parameters at other levels (song_analysis())

Quality control in recordings and annotation Quality checks

  • Check and modify sound file format (check_wavs()info_wavs()duration_wavs()mp32wav() y fix_wavs())
  • Tuning spectrogram parameters (tweak_spectro())
  • Double-checking selection tables (check_sels()spectrograms()full_spectrograms() & catalog())
  • Re-adjusting selections (tailor_sels())

Characterizing hierarchical levels in acoustic signals

  • Creating ‘song’ spectrograms (full_spectrograms()spectrograms())
  • ‘Song’ parameters (song_analysis())

Choosing the right method for quantifying structure Comparing methods

  • Compare different methods for quantifying structure (compare_methods())

Quantifying acoustic spaces Acoustic space

  • Intro to PhenotypeSpace
  • Quanitfying space size
  • Comparing sub-spaces

Tuition, Room & Board

Tuition is 250 USD. This amount already includes a partial scholarship.

Faculty

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.

 

 

 

 

 

Related