warbleR
Is intended to facilitate the analysis of the structure of animal acoustic signals in R.
https://github.com/marce10/warbler
Category: Biosphere
Sub Category: Bioacoustics and Acoustic Data Analysis
Keywords
animal-acoustic-signals audio-processing bioacoustics spectrogram streamline-analysis
Keywords from Contributors
behavior acoustic-signals animal compendium birdsong cultural-evolution phylogenetics
Last synced: about 12 hours ago
JSON representation
Repository metadata
streamline acoustic analysis in R
- Host: GitHub
- URL: https://github.com/marce10/warbler
- Owner: maRce10
- License: gpl-3.0
- Created: 2015-07-09T16:49:10.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2026-10-02T15:23:34.000Z (23 days ago)
- Last Synced: 2026-10-24T05:34:38.917Z (1 day ago)
- Topics: animal-acoustic-signals, audio-processing, bioacoustics, spectrogram, streamline-analysis
- Language: R
- Homepage: https://marce10.github.io/warbleR/
- Size: 181 MB
- Stars: 63
- Watchers: 10
- Forks: 21
- Open Issues: 24
- Releases: 1
-
Metadata Files:
- Readme: README.Rmd
- Changelog: NEWS.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
- Codemeta: codemeta.json
README.Rmd
---
title: "warbleR: Streamline Bioacoustic Analysis"
output: github_document
editor_options:
chunk_output_type: console
---
[](https://cran.r-project.org/package=warbleR)
[](https://cranlogs.r-pkg.org/badges/grand-total/warbleR)
[](https://lifecycle.r-lib.org/articles/stages.html#stable)
[](https://www.repostatus.org/#active)
[](https://app.codecov.io/gh/maRce10/warbleR?branch=master)
[](https://CRAN.R-project.org/package=warbleR)
[](https://www.gnu.org/licenses/gpl-3.0)
[](https://doi.org/10.1111/2041-210X.12624)
**warbleR** is an R package for analyzing the structure of animal acoustic signals at scale. Bring your own recordings (or open-access ones from repositories like [Xeno-canto](https://xeno-canto.org/), easily obtained with [suwo](https://docs.ropensci.org/suwo/)), annotate them in a *selection table*, and run the whole pipeline — from file wrangling and spectrograms to acoustic measurements and similarity analyses — in batch, on as many signals as you have.
Built on top of [seewave](https://cran.r-project.org/package=seewave) and [tuneR](https://cran.r-project.org/package=tuneR), warbleR adds the workflow layer those packages leave to the user:
- 🗂️ **Selection-table-driven workflows** — every function loops over the signals listed in an annotation table, so one call handles one sound or ten thousand
- 📦 **Extended selection tables** — a single R object that bundles annotations *and* the audio clips, making analyses portable and easy to share
- ⚡ **Parallel processing** — most functions take a `parallel` argument to spread the work across cores
- 🔍 **Built-in quality checks** — spectrogram images and diagnostic tools let you verify each step before moving on
## What can you do with it?
| Task | Key functions |
|:-----|:--------------|
| Inspect, convert and fix sound files | `info_sound_files()`, `check_sound_files()`, `fix_wavs()`, `mp32wav()`, `wav_2_flac()`, `split_sound_files()`, `remove_channels()` |
| Build and validate annotation tables | `selection_table()`, `check_sels()`, `tailor_sels()`, `cut_sels()`, `overlapping_sels()`, `consolidate()` |
| Create spectrograms | `spectrograms()`, `full_spectrograms()`, `color_spectro()`, `snr_spectrograms()`, `catalog()`, `phylo_spectro()` |
| Measure acoustic structure | `spectro_analysis()`, `mfcc_stats()`, `song_analysis()`, `freq_range()`, `sig2noise()`, `sound_pressure_level()`, `gaps()`, `wpd_features()` |
| Track frequency contours | `freq_ts()`, `track_freq_contour()`, `track_harmonic()`, `inflections()` |
| Compare signals | `cross_correlation()`, `freq_DTW()`, `multi_DTW()`, `waveform_similarity()`, `compare_methods()` |
| Analyze duet / chorus coordination | `test_coordination()`, `plot_coordination()` |
| Simulate signals | `simulate_songs()` |
See the [function reference](https://marce10.github.io/warbleR/reference/) for the full list.
## Installation
From CRAN:
```{r, eval = FALSE}
install.packages("warbleR")
```
Development version from GitHub (requires [remotes](https://cran.r-project.org/package=remotes)):
```{r, eval = FALSE}
remotes::install_github("maRce10/warbleR")
```
## Quick example
The example recordings and annotations come from the [NatureSounds](https://cran.r-project.org/package=NatureSounds) package (installed with warbleR):
```{r, eval = FALSE}
library(warbleR)
# load example long-billed hermit songs and their annotations
data(list = c("Phae.long1", "Phae.long2", "Phae.long3", "Phae.long4", "lbh_selec_table"))
# save the sound files to a temporary folder
for (i in paste0("Phae.long", 1:4)) {
tuneR::writeWave(get(i), file.path(tempdir(), paste0(i, ".wav")))
}
# check that annotations and sound files match
check_sels(lbh_selec_table, path = tempdir())
# measure spectral and temporal parameters for every annotated signal
params <- spectro_analysis(lbh_selec_table, path = tempdir())
# pairwise acoustic similarity via spectrographic cross-correlation
xc <- cross_correlation(lbh_selec_table, path = tempdir())
```
## Learn more
- 📘 [Intro to warbleR](https://marce10.github.io/warbleR/articles/a_warbleR.html) — an overview of the package
- 📝 [Annotation data format](https://marce10.github.io/warbleR/articles/b_annotation_data_format.html) — how input annotations (selection tables) should look
- 🔁 [All vignettes](https://marce10.github.io/warbleR/articles/) — worked examples of complete analysis workflows
- 📄 [Original paper](https://doi.org/10.1111/2041-210X.12624) in *Methods in Ecology and Evolution* (the package has grown a lot since, so check the vignettes for current usage)
## Related packages
| Package | What it does |
|:--------|:-------------|
| [seewave](https://cran.r-project.org/package=seewave) & [tuneR](https://cran.r-project.org/package=tuneR) | Core sound analysis and manipulation of wave objects in R |
| [ohun](https://docs.ropensci.org/ohun/) | Automated detection of sound events, with tools to diagnose and optimize detection routines |
| [suwo](https://docs.ropensci.org/suwo/) | Search, download and map nature media (Xeno-canto, Macaulay Library, iNaturalist, GBIF, WikiAves) — replaces warbleR's `query_xc()` and `map_xc()` |
| [baRulho](https://docs.ropensci.org/baRulho/) | Quantifying habitat-induced degradation of acoustic signals, with inputs/outputs compatible with warbleR |
| [Rraven](https://cran.r-project.org/package=Rraven) | Data exchange between R and [Raven](https://www.ravensoundsoftware.com/) (Cornell Lab of Ornithology), handy for using Raven as the annotation tool |
| [dynaSpec](https://cran.r-project.org/package=dynaSpec) | Dynamic spectrograms (spectrogram videos) |
| [NatureSounds](https://cran.r-project.org/package=NatureSounds) | Example recordings and annotations of animal sounds |
## Getting help & contributing
Found a bug or have a feature request? Please open an [issue](https://github.com/maRce10/warbleR/issues). Contributions are welcome — see the [contributing guidelines](https://github.com/maRce10/warbleR/blob/master/CONTRIBUTING.md).
## Citation
If you use warbleR, please cite:
> Araya-Salas, M. & Smith-Vidaurre, G. (2017). warbleR: an R package to streamline analysis of animal acoustic signals. *Methods in Ecology and Evolution*, 8, 184–191.
Please also cite [tuneR](https://cran.r-project.org/package=tuneR) and [seewave](https://cran.r-project.org/package=seewave) if you use any function that creates spectrograms or measures acoustic parameters. You can get all citations from R with `citation("warbleR")`.
Owner metadata
- Name: Marcelo Araya-Salas
- Login: maRce10
- Email: marcelo.araya@ucr.ac.cr
- Kind: user
- Description: I am an evolutionary behavioral ecologist and scientific programmer/software developer 🇨🇷
- Website: https://marce10.github.io/
- Location: Costa Rica
- Twitter:
- Company: Universidad de Costa Rica
- Icon url: https://avatars.githubusercontent.com/u/13245502?u=17be1a4bcfcaf078564005f67571aa5fb5b82d7e&v=4
- Repositories: 58
- Last ynced at: 2026-10-24T05:34:38.965Z
- Profile URL: https://github.com/maRce10
GitHub Events
Total
- Fork event: 1
- Issue comment event: 7
- Issues event: 2
- Pull request event: 1
- Push event: 39
- Watch event: 6
Last Year
- Push event: 2
Committers metadata
Last synced: 1 day ago
Total Commits: 898
Total Committers: 8
Avg Commits per committer: 112.25
Development Distribution Score (DDS): 0.296
Commits in past year: 4
Committers in past year: 1
Avg Commits per committer in past year: 4.0
Development Distribution Score (DDS) in past year: 0.0
| Name | Commits | |
|---|---|---|
| maRce10 | m****7@g****m | 632 |
| Marcelo Araya-Salas | m****a@u****r | 211 |
| gsmithvi | g****i@g****m | 49 |
| maRce10 | m****7@g****m | 2 |
| Open AI Tx | o****x@o****m | 1 |
| Ed Baker | e****r@g****m | 1 |
| Andrew S | a****e@g****m | 1 |
| Grace Smith Vidaurre | g****e@M****l | 1 |
Committer domains:
- ucr.ac.cr: 1
Issue and Pull Request metadata
Last synced: 1 day ago
Total issues: 66
Total pull requests: 14
Average time to close issues: 2 months
Average time to close pull requests: 4 days
Total issue authors: 48
Total pull request authors: 5
Average comments per issue: 1.77
Average comments per pull request: 0.07
Merged pull request: 11
Bot issues: 0
Bot pull requests: 0
Past year issues: 1
Past year pull requests: 0
Past year average time to close issues: N/A
Past year average time to close pull requests: N/A
Past year issue authors: 1
Past year pull request authors: 0
Past year average comments per issue: 0.0
Past year average comments per pull request: 0
Past year merged pull request: 0
Past year bot issues: 0
Past year bot pull requests: 0
Top Issue Authors
- maRce10 (14)
- jkvrtilek (3)
- axelsoundingwild (2)
- madelynore (2)
- auman-chan (2)
- thk686 (1)
- swricci (1)
- lmolles (1)
- abfleishman (1)
- mjw246 (1)
- pau-vazquezc (1)
- akashrc (1)
- Yaniel-Wong (1)
- Raoul-Kima (1)
- gnunezmir (1)
Top Pull Request Authors
- gsvidaurre (9)
- openaitx-system (2)
- edwbaker (1)
- maRce10 (1)
- andrew-1234 (1)
Top Issue Labels
- bug (1)
Top Pull Request Labels
Package metadata
- Total packages: 1
-
Total downloads:
- cran: 1,340 last-month
- Total dependent packages: 3
- Total dependent repositories: 6
- Total versions: 40
- Total maintainers: 1
cran.r-project.org: warbleR
Streamline Bioacoustic Analysis
- Homepage: https://marce10.github.io/warbleR/
- Documentation: http://cran.r-project.org/web/packages/warbleR/warbleR.pdf
- Licenses: GPL-2 | GPL-3 [expanded from: GPL (≥ 2)]
- Latest release: 1.1.38 (published 24 days ago)
- Last Synced: 2026-10-24T05:37:35.919Z (1 day ago)
- Versions: 40
- Dependent Packages: 3
- Dependent Repositories: 6
- Downloads: 1,340 Last month
-
Rankings:
- Forks count: 3.597%
- Stargazers count: 6.826%
- Average: 9.276%
- Dependent packages count: 10.87%
- Dependent repos count: 11.889%
- Downloads: 13.196%
- Maintainers (1)
Dependencies
- JamesIves/github-pages-deploy-action v4.4.1 composite
- actions/checkout v3 composite
- r-lib/actions/setup-pandoc v2 composite
- r-lib/actions/setup-r v2 composite
- r-lib/actions/setup-r-dependencies v2 composite
- actions/checkout v3 composite
- actions/upload-artifact v2 composite
- pat-s/always-upload-cache v3 composite
- r-lib/actions/setup-pandoc v2 composite
- r-lib/actions/setup-r v2 composite
- r-lib/actions/setup-tinytex v2 composite
- NatureSounds * depends
- R >= 3.2.1 depends
- seewave >= 2.0.1 depends
- tuneR * depends
- RCurl * imports
- Rcpp * imports
- bioacoustics * imports
- cli * imports
- dtw * imports
- fftw * imports
- grDevices * imports
- graphics * imports
- knitr * imports
- methods * imports
- monitoR * imports
- parallel * imports
- pbapply * imports
- rjson * imports
- stats * imports
- testthat >= 3.0.0 imports
- utils * imports
- Sim.DiffProc * suggests
- ape * suggests
- covr * suggests
- ggplot2 * suggests
- jpeg * suggests
- kableExtra * suggests
- leaflet * suggests
- maps * suggests
- png * suggests
- pracma * suggests
- rmarkdown * suggests
- soundgen * suggests
- wavethresh * suggests
- actions/checkout v3 composite
- r-lib/actions/check-r-package v2 composite
- r-lib/actions/setup-pandoc v2 composite
- r-lib/actions/setup-r v2 composite
- r-lib/actions/setup-r-dependencies v2 composite
Score: 13.753209531766895