Nothing
params <-
list(EVAL = FALSE)
## ----eval = FALSE-------------------------------------------------------------
#
# # From CRAN would be
# install.packages("ohun")
#
# #load package
# library(ohun)
#
## ----eval = FALSE-------------------------------------------------------------
#
# # install package
# remotes::install_github("maRce10/ohun")
#
# #load packages
# library(ohun)
# library(tuneR)
# library(warbleR)
## ----global options, echo = FALSE, message=FALSE, warning=FALSE-------------------------
#load packages
library(ohun)
library(tuneR)
library(warbleR)
load("../data/lbh2.rda")
load("../data/lbh1.rda")
load("../data/lbh_reference.rda")
# for spectrograms
par(mar = c(5, 4, 2, 2) + 0.1)
stopifnot(require(knitr))
options(width = 90)
opts_chunk$set(
comment = NA,
# eval = if (isTRUE(exists("params"))) params$EVAL else FALSE,
dev = "jpeg",
dpi = 70,
fig.width=10,
out.width = "100%",
fig.align = "center"
)
## ----eval = TRUE------------------------------------------------------------------------
# load example data
data("lbh1", "lbh2", "lbh_reference")
# save sound files
tuneR::writeWave(lbh1, file.path(tempdir(), "lbh1.wav"))
tuneR::writeWave(lbh2, file.path(tempdir(), "lbh2.wav"))
# select a subset of the data
lbh1_reference <-
lbh_reference[lbh_reference$sound.files == "lbh1.wav",]
# print data
lbh1_reference
## ----eval = TRUE, fig.asp=0.5-----------------------------------------------------------
# print spectrogram
label_spectro(wave = lbh1, reference = lbh1_reference, hop.size = 10, ovlp = 50, flim = c(1, 10), envelope = TRUE)
## ---------------------------------------------------------------------------------------
# install this package first if not installed
# install.packages("Sim.DiffProc")
#Creating vector for duration
durs <- rep(c(0.3, 1), 5)
#Creating simulated song
set.seed(12)
simulated_1 <-
warbleR::simulate_songs(
n = 10,
durs = durs,
freqs = 5,
sig2 = 0.01,
gaps = 0.5,
harms = 1,
bgn = 0.1,
path = tempdir(),
file.name = "simulated_1",
selec.table = TRUE,
shape = "cos",
fin = 0.3,
fout = 0.35,
samp.rate = 18
)$wave
## ----fig.asp=0.5------------------------------------------------------------------------
# plot spectrogram and envelope
label_spectro(wave = simulated_1,
env = TRUE,
fastdisp = TRUE)
## ----fig.asp=0.5------------------------------------------------------------------------
# run detection
detection <-
energy_detector(
files = "simulated_1.wav",
bp = c(2, 8),
threshold = 50,
smooth = 150,
path = tempdir()
)
# plot spectrogram and envelope
label_spectro(
wave = simulated_1,
envelope = TRUE,
detection = detection,
threshold = 50
)
## ---------------------------------------------------------------------------------------
detection
## ----eval = TRUE, echo = TRUE, fig.asp=0.4----------------------------------------------
# run detection
detection <-
energy_detector(
files = "simulated_1.wav",
bp = c(1, 8),
threshold = 50,
min.duration = 500,
smooth = 150,
path = tempdir()
)
# plot spectrogram
label_spectro(wave = simulated_1, detection = detection)
## ----eval = TRUE, echo = TRUE, fig.asp=0.4----------------------------------------------
# run detection
detection <- energy_detector(files = "simulated_1.wav", bp = c(1, 8), threshold = 50, smooth = 150, max.duration = 500, path = tempdir())
# plot spectrogram
label_spectro(wave = simulated_1, detection = detection)
## ----fig.asp=0.4, eval = TRUE, echo = TRUE----------------------------------------------
# Detecting
detection <- energy_detector(files = "simulated_1.wav", bp = c(5, 8), threshold = 50, smooth = 150, path = tempdir())
# plot spectrogram
label_spectro(wave = simulated_1, detection = detection)
## ----fig.asp=0.4, eval = TRUE, echo = TRUE----------------------------------------------
# Detect
detection <-
energy_detector(
files = "simulated_1.wav",
bp = c(0, 6),
threshold = 50,
min.duration = 1,
smooth = 150,
path = tempdir()
)
# plot spectrogram
label_spectro(wave = simulated_1, detection = detection)
## ----eval = TRUE, fig.asp=0.5-----------------------------------------------------------
#Creating simulated song
set.seed(12)
#Creating vector for duration
durs <- rep(c(0.3, 1), 5)
sim_2 <-
simulate_songs(
n = 10,
durs = durs,
freqs = 5,
sig2 = 0.01,
gaps = 0.5,
harms = 1,
bgn = 0.1,
path = tempdir(),
file.name = "simulated_2",
selec.table = TRUE,
shape = "cos",
fin = 0.3,
fout = 0.35,
samp.rate = 18,
am.amps = c(1, 2, 3, 2, 0.1, 2, 3, 3, 2, 1)
)
# extract wave object and selection table
simulated_2 <- sim_2$wave
sim2_sel_table <- sim_2$selec.table
# plot spectrogram
label_spectro(wave = simulated_2, envelope = TRUE)
## ----eval = TRUE, fig.asp=0.5-----------------------------------------------------------
# detect sounds
detection <- energy_detector(files = "simulated_2.wav", threshold = 50, path = tempdir())
# plot spectrogram
label_spectro(wave = simulated_2, envelope = TRUE, threshold = 50, detection = detection)
## ----eval = TRUE, fig.asp=0.5-----------------------------------------------------------
# detect sounds
detection <-
energy_detector(
files = "simulated_2.wav",
threshold = 50,
min.duration = 1,
path = tempdir(),
hold.time = 200
)
# plot spectrogram
label_spectro(
wave = simulated_2,
envelope = TRUE,
threshold = 50,
detection = detection
)
## ----eval = TRUE, fig.asp=0.5-----------------------------------------------------------
# detect sounds
detection <-
energy_detector(
files = "simulated_2.wav",
threshold = 50,
min.duration = 1,
path = tempdir(),
smooth = 350
)
# plot spectrogram
label_spectro(
wave = simulated_2,
envelope = TRUE,
threshold = 50,
detection = detection,
smooth = 350
)
## ---------------------------------------------------------------------------------------
optim_detection <-
optimize_energy_detector(
reference = sim2_sel_table,
files = "simulated_2.wav",
threshold = 50,
min.duration = 1,
path = tempdir(),
smooth = c(100, 250, 350)
)
optim_detection[, c(1, 2:5, 7:12, 17:18)]
## ---------------------------------------------------------------------------------------
summarize_reference(reference = lbh_reference, path = tempdir())
## ----session info, echo=FALSE-----------------------------------------------------------
sessionInfo()
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.