Skip to contents

remove_silence Removes silences in wave files

Usage

remove_silence(
  path = NULL,
  min.sil.dur = 2,
  img = TRUE,
  it = "jpeg",
  flim = NULL,
  files = NULL,
  parallel = 1,
  pb = TRUE,
  downsample = TRUE
)

Arguments

path

Character string containing the directory path where the sound files are located. If NULL (default) then the current working directory is used.

min.sil.dur

Numeric. Controls the minimum duration of silence segments that would be removed.

img

Logical argument. If FALSE, image files are not produced. Default is TRUE.

it

A character vector of length 1 giving the image type to be used. Currently only "tiff" and "jpeg" are admitted. Default is "jpeg".

flim

A numeric vector of length 2 indicating the highest and lowest frequency limits (kHz) of the spectrogram as in spectro. Default is NULL. Ignored if `img = FALSE`.

files

character vector or factor indicating the subset of files that will be analyzed. If not provided then all wave files in the working directory (or path) will be processed.

parallel

Numeric. Controls whether parallel computing is applied. It specifies the number of cores to be used. Default is 1 (i.e. no parallel computing).

pb

Logical argument to control progress bar and messages. Default is TRUE.

downsample

Logical indicating whether files are downsampled to a 5000 kHz sampling rate. This can be used to speed up the process, but will make the function ignore sound/noise above 2500 kHz. Default is TRUE.

Value

Sound files for which silence segments have been removed are saved in the new folder "silence-removed_files" in .wav format. If `img = TRUE` then spectrogram images highlighting the silence segments that were removed are also saved.

Details

The function removes silence segments (i.e. segments with very low amplitude values) from wave files.

References

Araya-Salas, M., & Smith-Vidaurre, G. (2017). warbleR: An R package to streamline analysis of animal acoustic signals. Methods in Ecology and Evolution, 8(2), 184-191.

Author

Marcelo Araya-Salas (marcelo.araya@ucr.ac.cr)

Examples

{
# save sound file examples
data(list = c("Phae.long1", "Phae.long2","lbh_selec_table"))
sil <- silence(samp.rate = 22500, duration = 3, xunit = "time")


wv1 <- pastew(pastew(Phae.long1, sil, f = 22500, output = "Wave"),
Phae.long2, f = 22500, output = "Wave")

#check silence in between amplitude peaks
env(wv1)

 #save wave file
 writeWave(object = wv1, filename = file.path(tempdir(), "wv1.wav"),
  extensible = FALSE)

#remove silence
# remove_silence(files = "wv1.wav", pb = FALSE, path = tempdir())

#check this floder
tempdir()
}

#> [1] "/tmp/RtmpzKgn8p"