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
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 any bird species (do not download at this step) (check this brief tutorial on how to do that)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()
againExplore the recordings with any spectrogram creating GUI program
2 Day 2
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
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
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
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 Acoustic space
- Intro to PhenotypeSpace
- Quanitfying space size
- Comparing sub-spaces