test_that("Reading files works", { w <- readAudio(system.file("extdata/AUDIOMOTH.WAV", package="sonicscrewdriver")) expect_equal(length(w@left), 240000) expect_equal(w@samp.rate, 48000) expect_equal(w@bit, 16) expect_equal(w@pcm, TRUE) expect_equal(w@stereo, FALSE) rm(w) w <- readAudio(system.file("extdata/AUDIOMOTH.WAV", package="sonicscrewdriver"), units="samples") expect_equal(length(w@left), 240000) expect_equal(w@samp.rate, 48000) expect_equal(w@bit, 16) expect_equal(w@pcm, TRUE) expect_equal(w@stereo, FALSE) rm(w) w <- readAudio(system.file("extdata/AUDIOMOTH.WAV", package="sonicscrewdriver"), mime="audio/x-wav") expect_equal(length(w@left), 240000) expect_equal(w@samp.rate, 48000) expect_equal(w@bit, 16) expect_equal(w@pcm, TRUE) expect_equal rm(w) w <- readAudio(system.file("extdata/AUDIOMOTH.WAV", package="sonicscrewdriver"), from=48001, to=48000*2, units="samples") expect_equal(length(w@left), 48000) expect_equal(w@samp.rate, 48000) expect_equal(w@pcm, TRUE) expect_equal(w@stereo, FALSE) expect_equal(length(w@left), w@samp.rate) rm(w) w <- readAudio(system.file("extdata/AUDIOMOTH.WAV", package="sonicscrewdriver"), from = 1, to = 2, units = "seconds") expect_equal(length(w@left), 48000) expect_equal(w@samp.rate, 48000) expect_equal(w@bit, 16) expect_equal(w@pcm, TRUE) expect_equal(w@stereo, FALSE) expect_equal(length(w@left), w@samp.rate) rm(w) w <- readAudio(system.file("extdata/AUDIOMOTH.mp3", package="sonicscrewdriver")) expect_equal(length(w@left), 241920) expect_equal(w@samp.rate, 48000) expect_equal(w@bit, 16) expect_equal(w@pcm, TRUE) expect_equal(w@stereo, FALSE) rm(w) w <- readAudio(system.file("extdata/AUDIOMOTH.mp3", package="sonicscrewdriver"), units="samples") expect_equal(length(w@left), 241920) expect_equal(w@samp.rate, 48000) expect_equal(w@bit, 16) expect_equal(w@pcm, TRUE) expect_equal(w@stereo, FALSE) rm(w) w <- readAudio(system.file("extdata/AUDIOMOTH.mp3", package="sonicscrewdriver"), mime="audio/mpeg") expect_equal(length(w@left), 241920) expect_equal(w@samp.rate, 48000) expect_equal(w@bit, 16) expect_equal(w@pcm, TRUE) expect_equal(w@stereo, FALSE) rm(w) w <- readAudio(system.file("extdata/AUDIOMOTH.mp3", package="sonicscrewdriver"), mime="audio/mpeg", from = 1, to = 2, units = "seconds") expect_equal(length(w@left), 48000) expect_equal(w@samp.rate, 48000) expect_equal(w@bit, 16) expect_equal(w@pcm, TRUE) expect_equal(w@stereo, FALSE) expect_equal(length(w@left), w@samp.rate) rm(w) w <- readAudio(system.file("extdata/AUDIOMOTH.flac", package="sonicscrewdriver")) expect_equal(length(w@left), 240000) expect_equal(w@samp.rate, 48000) expect_equal(w@pcm, TRUE) expect_equal(w@stereo, FALSE) rm(w) w <- readAudio(system.file("extdata/AUDIOMOTH.flac", package="sonicscrewdriver"), units="samples") expect_equal(length(w@left), 240000) expect_equal(w@samp.rate, 48000) expect_equal(w@pcm, TRUE) expect_equal(w@stereo, FALSE) rm(w) w <- readAudio(system.file("extdata/AUDIOMOTH.flac", package="sonicscrewdriver"), from=48001, to=48000*2, units="samples") expect_equal(length(w@left), 48000) expect_equal(w@samp.rate, 48000) expect_equal(w@pcm, TRUE) expect_equal(w@stereo, FALSE) expect_equal(length(w@left), w@samp.rate) rm(w) w <- readAudio(system.file("extdata/AUDIOMOTH.flac", package="sonicscrewdriver"), from=1, to=2, units="seconds") expect_equal(length(w@left), 48000) expect_equal(w@samp.rate, 48000) expect_equal(w@pcm, TRUE) expect_equal(w@stereo, FALSE) expect_equal(length(w@left), w@samp.rate) rm(w) w <- readAudio(system.file("extdata/STEREO.WAV", package="sonicscrewdriver")) expect_equal(length(w@left), 240000) expect_equal(length(w@left), 240000) expect_equal(w@samp.rate, 48000) expect_equal(w@bit, 16) expect_equal(w@pcm, TRUE) expect_equal(w@stereo, TRUE) rm(w) w <- readAudio(system.file("extdata/STEREO.WAV", package="sonicscrewdriver"), from=1, to=2, units="seconds") expect_equal(length(w@left), 48000) expect_equal(length(w@left), 48000) expect_equal(w@samp.rate, 48000) expect_equal(w@bit, 16) expect_equal(w@pcm, TRUE) expect_equal(w@stereo, TRUE) rm(w) w <- readAudio(system.file("extdata/STEREO.WAV", package="sonicscrewdriver"), from=48001, to=48000*2, units="samples") expect_equal(length(w@left), 48000) expect_equal(w@samp.rate, 48000) expect_equal(w@pcm, TRUE) expect_equal(w@stereo, TRUE) expect_equal(length(w@left), w@samp.rate) rm(w) w <- readAudio(system.file("extdata/STEREO.flac", package="sonicscrewdriver")) expect_equal(length(w@left), 240000) expect_equal(length(w@left), 240000) expect_equal(w@samp.rate, 48000) expect_equal(w@bit, 32) expect_equal(w@pcm, TRUE) expect_equal(w@stereo, TRUE) rm(w) w <- readAudio(system.file("extdata/STEREO.flac", package="sonicscrewdriver"), from=1, to=2, units="seconds") expect_equal(length(w@left), 48000) expect_equal(length(w@left), 48000) expect_equal(w@samp.rate, 48000) expect_equal(w@bit, 32) expect_equal(w@pcm, TRUE) expect_equal(w@stereo, TRUE) rm(w) w <- readAudio(system.file("extdata/STEREO.flac", package="sonicscrewdriver"), from=48001, to=48000*2, units="samples") expect_equal(length(w@left), 48000) expect_equal(w@samp.rate, 48000) expect_equal(w@pcm, TRUE) expect_equal(w@stereo, TRUE) expect_equal(length(w@left), w@samp.rate) rm(w) # TODO: empty.wav }) test_that("readAudio rejects bad files", { expect_error(readAudio(system.file("extdata/CONFIG.TXT", package="sonicscrewdriver")), "Could not determine number of channels.") }) test_that(".bitdepth gives correct output", { expect_equal(.bitdepth(2^8/2), 8) expect_equal(.bitdepth(2^8/2+1), 16) expect_equal(.bitdepth(2^16/2), 16) expect_equal(.bitdepth(2^16/2+1), 24) expect_equal(.bitdepth(2^24/2), 24) expect_equal(.bitdepth(2^24/2+1), 32) expect_equal(.bitdepth(2^32/2), 32) expect_error(.bitdepth(2^64/2+1), "Bit depths above 32bit are not supported.") })