Skip to contents

read_wave is a wrapper for tuneR's readWave function that read sound files listed in data frames and selection tables

Usage

read_wave(
  X,
  index,
  from = X$start[index],
  to = X$end[index],
  channel = NULL,
  header = FALSE,
  path = NULL
)

Arguments

X

'data.frame', 'selection_table' or 'extended_selection_table' containing columns for sound file name (sound.files), selection number (selec), and start and end time of signals (start and end). Alternatively, the name of a '.wav' file or URL address to a '.wav' or '.mp3' file can be provided. The file name can contain the directory path. 'top.freq' and 'bottom.freq' columns are optional. Default is NULL.

index

Index of the selection in 'X' that will be read. Ignored if 'X' is NULL.

from

Where to start reading, in seconds. Default is X$start[index].

to

Where to stop reading, in seconds. Default is X$end[index]. Inf can be used for reading the entire sound file (when 'X' is a sound file name),

channel

Channel to be read from sound file (1 = left, 2 = right, or higher number for multichannel waves). If NULL (default) or higher than the number of channels in a wave then the first channel is used. Only applies to '.wav' files in local directories.

header

If TRUE, only the header information of the Wave object is returned, otherwise (the default) the whole Wave object.

path

Character string containing the directory path where the sound files are located. If NULL (default) then the current working directory is used. If 'X' refers to a sound file including its directory 'path' is ignored.

Value

An object of class "Wave".

Details

The function is a wrapper for readWave that read sound files listed within selection tables. It is also used internally by warbleR functions to read wave objects from extended selection tables (see selection_table for details).

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

{
  # write wave files with lower case file extension
  data(list = c("Phae.long1"))
  writeWave(Phae.long1, file.path(tempdir(), "Phae.long1.wav"))

  # read from selection table
  read_wave(X = lbh_selec_table, index = 1, path = tempdir())

  # from extended selection table
  library(NatureSounds)
  read_wave(X = lbh.est, index = 1)

  # read WAV
  filepath <- system.file("extdata", "recording.wav", package = "bioacoustics")
  read_wave(filepath)

  # read MP3
  filepath <- system.file("extdata", "recording.mp3", package = "bioacoustics")
  read_wave(filepath)

  # URL file
  read_wave(X = "https://www.xeno-canto.org/513948/download")
}
#> This function is slated for deprecation in future versions. Please use the function read_sound_files() instead.
#> This function is slated for deprecation in future versions. Please use the function read_sound_files() instead.
#> This function is slated for deprecation in future versions. Please use the function read_sound_files() instead.
#> This function is slated for deprecation in future versions. Please use the function read_sound_files() instead.
#> This function is slated for deprecation in future versions. Please use the function read_sound_files() instead.
#> 
#> Wave Object
#> 	Number of Samples:      274176
#> 	Duration (seconds):     6.22
#> 	Samplingrate (Hertz):   44100
#> 	Channels (Mono/Stereo): Mono
#> 	PCM (integer format):   TRUE
#> 	Bit (8/16/24/32/64):    16 
#>