Preparing objects of class Wave
or class WaveMC
for binding/combination/concatenation by
removing small amounts at the beginning/end of the Wave
or WaveMC
in order to make the transition smooth by avoiding clicks.
prepComb(object, zero = 0, where = c("both", "start", "end"))
An object of class Wave
or class WaveMC
.
Object of class Wave
or class WaveMC
.
The zero level (default: 0) at which ideal cut points are determined (see Details).
A typical alternative would be 127 for 8 bit Wave
or WaveMC
objects.
If zero = NA
, the mean of the left Wave channel (for a Wave
object)
or the mean of the first channel (for a WaveMC
object) is taken as zero level.
One of "both"
(default), "start"
, or "end"
indicating at where
to prepare the Wave
or WaveMC
object for concatenation.
Uwe Ligges ligges@statistik.tu-dortmund.de, Sarah Schnackenberg, based on code from Matthias Heymann's former package ‘sound’.
This function is useful to prepare objects of class Wave
or class WaveMC
for binding/combination/concatenation.
At the side(s) indicated by where
small amounts of the Wave
or WaveMC
are removed
in order to make the transition between two Wave
s or WaveMC
s smooth (avoiding clicks).
This is done by dropping all values at the beginning of a Wave
or WaveMC
before the first positive point
after the zero
level is crossed from negative to positive.
Analogously, at the end of a Wave
or WaveMC
all points are cut after the last negative value
before the last zero
level crossing from negative to positive.
bind
, Wave-class, Wave
, WaveMC-class,
WaveMC
, extractWave
, and noSilence
to cut off silence
Wobj1 <- sine(440, duration = 520)
Wobj2 <- extractWave(sine(330, duration = 500), from = 110, to = 500)
par(mfrow = c(2,1))
plot(bind(Wobj1, Wobj2), xunit = "samples")
abline(v = 520, col = "red") # here is a "click"!
# now remove the "click" by deleting a minimal amount of information:
Wobj1 <- prepComb(Wobj1, where = "end")
Wobj2 <- prepComb(Wobj2, where = "start")
plot(bind(Wobj1, Wobj2), xunit = "samples")
Run the code above in your browser using DataLab