0.1 Before the course starts
- Make sure you install all the software we will be using as detailed in here
Refresh basic R concepts R basics
- Object types in R
- Subsetting
- Style matters
- R documentation
1 Day 1 (Video)
1.1 Aditional resources
1.1.1 Readings
- Alston, J. M., & Rick, J. A. (2021). A beginner’s guide to conducting reproducible research. Bulletin of the Ecological Society of America, 102(2), 1-14.
- Culina, A., van den Berg, I., Evans, S., & Sánchez-Tójar, A. (2020). Low availability of code in ecology: A call for urgent action. PLoS Biology, 18(7), e3000763.
- Köhler, J., Jansen, M., Rodríguez, A., Kok, P. J. R., Toledo, L. F., Emmrich, M., … & Vences, M. (2017). The use of bioacoustics in anuran taxonomy: theory, terminology, methods and recommendations for best practice. Zootaxa, 4251(1), 1-124. (at least the first 28 pages)
1.1.2 Videos
Introduction Introduction
- How animal acoustic signals look like?
- Analytical workflow in bioacoustics research
- Advantages of programming
- Course outline
What is sound? Sound
Create a Rstudio project for the course
Download this folder into the course project directory
- Sound as a time series
- Sound as a digital object
- Acoustic data in R
- ‘wave’ object structure
- ‘wave’ object manipulations
- additional formats
1.2 Homework
Use the function
query_xenocanto()
from the suwo package to check the availability of recordings for a species of interest in Xeno-Canto. This repository offers recordings for several taxonomic groups. Take a look at this link for a list of species by taxonomic group. Check this brief tutorial on how to get the recordings with suwo.Subset the data frame returned by the function to get a subset of subspecies/populations or recordings from a specific country and for certain vocalization type (using base R subsetting tools)
Download the associated recordings using
download_media()
Explore the recordings with any spectrogram creating GUI program (e.g. Raven, Audacity)
2 Day 2 (Video)
2.1 Additional resources
2.1.1 Raven tutorials
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
2.2 Homework
- Use Raven Pro to annotate some of the signals found in the xeno-canto recordings you downloaded previously
3 Day 3 (Video)
3.1 Additional resources
3.1.1 Readings
- Arasco, A. G., Manser, M., Watson, S. K., Kyabulima, S., Radford, A. N., Cant, M. A., & Garcia, M. (2024). Testing the acoustic adaptation hypothesis with vocalizations from three mongoose species. Animal Behaviour, 187, 71-95.
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()
)
3.2 Homework
- Double-check annotations using warbleR’s dedicated functions
- Create single spectrograms of each annotation
- Create full spectrograms of all sound files along with annotations
- Create catalogs
- Double-check annotations using Raven (export data from R to Raven)
4 Day 4 (Video)
4.1 Additional resources
4.1.1 Readings
- Odom, K. J., Cain, K. E., Hall, M. L., Langmore, N. E., Mulder, R. A., Kleindorfer, S., … & Webster, M. S. (2021). Sex role similarity and sexual selection predict male and female song elaboration and dimorphism in fairy‐wrens. Ecology and evolution, 11(24), 17901-17919.
Quality control in recordings and annotations Quality checks
- Check and modify sound file format (
check_wavs()
,info_wavs()
,duration_wavs()
,mp32wav()
yfix_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()
)
4.2 Homework
- Select best quality signals for analysis
- Measure acoustic parameters
- Summarize variation at higher hierachical levels (if necessary)
5 Day 5 (Video)
5.1 Additional resources
5.1.1 Readings
Choosing the right method for quantifying structure Comparing methods
- Compare different methods for quantifying structure (
compare_methods()
)
Quantifying acoustic spaces
- Intro to PhenotypeSpace
- Quanitfying space size
- Comparing sub-spaces