-
Notifications
You must be signed in to change notification settings - Fork 0
/
program.qmd
298 lines (195 loc) · 10.7 KB
/
program.qmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
---
date: "`r Sys.Date()`"
toc: true
toc-depth: 3
toc-location: left
number-sections: true
highlight-style: pygments
format:
html:
df-print: kable
code-fold: show
code-tools: true
css: styles.css
link-external-icon: true
link-external-newwindow: true
---
<font size="4">
------------------------------------------------------------------------
::: {.alert .alert-success}
### Before the course starts
- Make sure you install all the software we will be using [as detailed in here](course_prep.qmd)
**Refresh basic R concepts** <a href="r_basics.qmd" class="btn btn-warning btn-xs" role="button">R basics</a>
- Object types in R
- Subsetting
- Style matters
- R documentation
:::
## Day 1 [(video)](https://youtu.be/Ug-CKhY37Uc)
------------------------------------------------------------------------
::: {.alert .alert-warning}
### Readings
#### Intro to basic bioacoustics concepts
- 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](http://www.mvences.de/p/p1/Vences_A354.pdf). Zootaxa, 4251(1), 1-124. (*at least the first 28 pages*)
### Videos
- [Introduction to digital audio](https://www.youtube.com/watch?v=24BnHsY6rQs)
- Digital audio artifacts: ([Video 1](https://www.youtube.com/watch?v=GwYTtSd8bTU), [Video 2](https://www.youtube.com/watch?v=thw32YvLrYo))
### Optional readings
#### Reproducibility
- Alston, J. M., & Rick, J. A. (2021). [A beginner's guide to conducting reproducible research](http://jessicarick.com/s/Alston_ReproducibleResearch_BulletinESA_Rev1.pdf). 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](https://journals.plos.org/plosbiology/article?id=10.1371/journal.pbio.3000763). PLoS Biology, 18(7), e3000763.
:::
**Introduction** <a href="introduction.qmd" class="btn btn-warning btn-xs" role="button">Introduction</a>
- How animal acoustic signals look like?
- Analytical workflow in bioacoustics research
- Advantages of programming
- Course outline
**What is sound?** <a href="sound.qmd" class="btn btn-warning btn-xs" role="button">Sound</a>
::: {.alert .alert-warning}
- Create a Rstudio project for the course
- Download [this folder](https://www.dropbox.com/sh/87qx2ckr047dcru/AAAIIJZdoca3T4-3sUYmrB4xa?dl=0) 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
::: {.alert .alert-info}
### Homework
1. Use the function `query_xc()` 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*](get_xc_recordings.qmd))
2. 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)
3. Download the associated recordings using `query_xc()` again
4. Explore the recordings with any spectrogram creating GUI program
:::
------------------------------------------------------------------------
## Day 2 [(video)](https://youtu.be/lmewCO2f0Wo)
------------------------------------------------------------------------
::: {.alert .alert-warning}
### Videos
#### Raven tutorials
- [Introduction to the Raven Pro Interface](https://ravensoundsoftware.com/video-tutorials/english/01-introduction-to-the-raven-pro-interface/)
- [Introduction to selections and measurements](https://ravensoundsoftware.com/video-tutorials/english/02-selections-and-measurements/)
- [Saving, retrieving, and exporting selection tables](https://ravensoundsoftware.com/video-tutorials/english/03-saving-selection-tables/)
- [Using annotations](https://ravensoundsoftware.com/video-tutorials/english/05-using-annotations/)
:::
**Building spectrograms** <a href="spectrograms.qmd" class="btn btn-warning btn-xs" role="button">Building spectrograms</a>
- Fourier transform
- Building a spectrogram
- Characteristics and limitations
- Spectrograms in R
**Package seewave** <a href="seewave.qmd" class="btn btn-warning btn-xs" role="button">seewave</a>
- Explore, modify and measure 'wave' objects
- Spectrograms and oscillograms
- Filtering and re-sampling
- Acoustic measurements
::: {.alert .alert-info}
### Homework
1. Use Raven Pro to annotate some of the signals found in the xeno-canto recordings you downloaded previously
:::
------------------------------------------------------------------------
## Day 3 [(video)](https://youtu.be/He2M6Zqdk80)
------------------------------------------------------------------------
::: {.alert .alert-warning}
### Readings
- Arasco, A. G., Manser, M., Watson, S. K., Kyabulima, S., Radford, A. N., Cant, M. A., & Garcia, M. (2023). [Testing the acoustic adaptation hypothesis with vocalizations from three mongoose species](https://www.sciencedirect.com/science/article/pii/S0003347222000574). Animal Behaviour, 187, 71-95.
:::
**Annotation software** <a href="annotations.qmd" class="btn btn-warning btn-xs" role="button">annotations</a>
- Raven / audacity
- Open and explore recordings
- Modify-optimize visualization parameters
- Annotate signals
**Quantifying acoustic signal structure** <a href="measure_acoustic_structure.qmd" class="btn btn-warning btn-xs" role="button">Quantify structure</a>
- 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()`)
::: {.alert .alert-info}
### Homework
1. 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
2. Double-check annotations using Raven (export data from R to Raven)
:::
------------------------------------------------------------------------
## Day 4 [(video)](https://youtu.be/zNcltr7v0e4)
------------------------------------------------------------------------
::: {.alert .alert-warning}
### 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](https://onlinelibrary.wiley.com/doi/pdf/10.1002/ece3.8378). Ecology and evolution, 11(24), 17901-17919.
:::
**Quality control in recordings and annotation** <a href="quality_checks.qmd" class="btn btn-warning btn-xs" role="button">Quality checks</a>
- 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()`)
::: {.alert .alert-info}
### Homework
1. Select best quality signals for analysis
2. Measure acoustic parameters
3. Summarize variation at higher hierachical levels (if necessary)
:::
------------------------------------------------------------------------
## Day 5 [(video)](https://youtu.be/xFx-0V2HreU)
------------------------------------------------------------------------
::: {.alert .alert-warning}
### Readings
- Blog post: [Potential issues of the 'spectral parameters/PCA' approach](https://marce10.github.io/bioacoustics_in_R/2018/07/04/Issues_spectral_parameters-PCA.html)
- Blog post: [Choosing the right method for measuring acoustic signal structure](https://marce10.github.io/bioacoustics_in_R/2017/02/17/Choosing_the_right_method_for_measuring_acoustic_signal_structure.html)
:::
**Choosing the right method for quantifying structure** <a href="comparing_methods.qmd" class="btn btn-warning btn-xs" role="button">Comparing methods</a>
- Compare different methods for quantifying structure (`compare_methods()`)
**Quantifying acoustic spaces** <a href="acoustic_space.qmd" class="btn btn-warning btn-xs" role="button">Acoustic space</a>
- Intro to PhenotypeSpace
- Quanitfying space size
- Comparing sub-spaces
```{r, eval = FALSE, echo = FALSE}
**Automatic detection**
<a href="ohun.qmd" class="btn btn-warning btn-xs" role="button">Automatic detection</a>
- ohun package for optimize acoustic signal detection
- Detection using amplitude, frequency, and time filters
(`ohun::energy_detector()`)
- Detection using cross-correlation (`ohun::template_detector()`)
- Frequency range detection (`warbleR::freq_range()` and `warbleR::freq_range_detec()`)
**Package warbleR**
<a href="intro_to_warbler.qmd" class="btn btn-warning btn-xs" role="button">Intro
to warbleR</a>
- Intro to warbleR
- Selection tables
- Extended selection tables
- Selection table manipulation
- warbleR functions and the bioacoustics analysis workflow
- Gibb, R., Browning, E., Glover‐Kapfer, P., & Jones, K. E. (2019). [Emerging opportunities and challenges for passive acoustics in ecological assessment and monitoring](https://besjournals.onlinelibrary.wiley.com/doi/pdfdirect/10.1111/2041-210X.13101). Methods in Ecology and Evolution, 10(2), 169-185.´
#### Signal transmission
- Graham, B. A., Sandoval, L., Dabelsteen, T., & Mennill, D. J. (2017). [A test of the Acoustic Adaptation Hypothesis in three types of tropical forest: degradation of male and female Rufous-and-white Wren songs](https://www.tandfonline.com/doi/pdf/10.1080/09524622.2016.1181574?casa_token=AzHx1ABmGXUAAAAA:f33oQnqbUrBR2q6om8FmkKjRNOxN_WDQqIa1Szly_rdUlvV4pLffuFXZtWyj6T6FQyV5NhVqIdwOITZqKw). Bioacoustics, 26(1), 37-61.
- Dabelsteen, T., Larsen, O. N., & Pedersen, S. B. (1993). [Habitat‐induced degradation of sound signals: Quantifying the effects of communication sounds and bird location on blur ratio, excess attenuation, and signal‐to‐noise ratio in blackbird song](https://www.academia.edu/download/72224403/eed203af725673bae94999ae0258049db24c.pdf). The Journal of the Acoustical Society of America, 93(4), 2206-2220. (*Mostly to get the definitions of the degradation metrics used in Graham et al. 2017*)
```