setenv {seewave}R Documentation

Set the amplitude envelope of a time wave to another one

Description

This function sets the amplitude envelope of a time wave to another one

Usage

setenv(wave1, wave2, f, envt="hil", msmooth = NULL, ksmooth = NULL,
plot = FALSE, listen = FALSE, Sample = FALSE, ...)

Arguments

wave1 a vector, a matrix (first column), an object of class ts, Sample (left channel), or Wave (left channel).
wave2 a vector, a matrix (first column), an object of class ts, Sample (left channel), or Wave (left channel) describing the time wave which envelope will be used to set wave1 envelope.
f sampling frequency of wave1 and wave2 (in Hz). Does not need to be specified if wave1 and/or wave2 are/is of class ts, Sample, or Wave.
envt the type of envelope to be used for wave2: either "abs" for absolute amplitude envelope or "hil" for Hilbert amplitude envelope. See env.
msmooth a vector of length 2 to smooth the amplitude envelope of wave2 with a mean sliding window. The first component is the window length (in number of points). The second component is the overlap between successive windows (in %). See env.
ksmooth kernel smooth via kernel to apply to the amplitude envelope ofwave2. See env.
plot if TRUE returns the oscillogram of the new time wave (by default FALSE).
listen if TRUE the new sound is played back.
Sample if TRUE and plot is FALSE returns an object of class Sample.
... other oscillo graphical parameters.

Details

wave1 and wave2 can have different duration (length)
Smoothing the envelope with smooth or ksmooth can significantly change the value returned.

Value

If plot is FALSE, a new wave is returned as a one-column matrix or as a Sample object if Sample is TRUE.

Author(s)

Jerome Sueur sueur@mnhn.fr

See Also

drawenv, env, synth

Examples

data(tico)
a<-synth(d=1,f=22050,cf=1000)
# apply 'tico' ammplitude envelope to 'a' that has a square amplitude envelope
setenv(a,tico,f=22050,plot=TRUE)
# the same but with smoothing the envelope
setenv(a,tico,f=22050,ksmooth=kernel("daniell",50),plot=TRUE)

[Package seewave version 1.5.4 Index]