Learn R Programming

seewave (version 1.5.2)

setenv: 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) desc
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
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 %).
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.

Value

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

Details

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

See Also

drawenv, env, synth

Examples

Run this code
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)

Run the code above in your browser using DataLab