Learn R Programming

seewave (version 2.2.3)

drawenv: Draw the amplitude envelope of a time wave

Description

This function lets the user modifying the amplitude envelope of a time wave by drawing it with the graphics device

Usage

drawenv(wave, f, channel = 1, n = 20, plot = FALSE, listen = FALSE, output = "matrix")

Value

If plot is FALSE, a new wave is returned. The class of the returned object is set with the argument output.

Arguments

wave

an R object.

f

sampling frequency of wave (in Hz). Does not need to be specified if embedded in wave.

channel

channel of the R object, by default left channel (1).

n

the maximum number of points to draw the new envelope. Valid values start at 1.

plot

if TRUE returns the oscillogram of the new time wave (by default FALSE).

listen

if TRUE the new sound is played back.

output

character string, the class of the object to return, either "matrix", "Wave", "Sample", "audioSample" or "ts".

Author

Jerome Sueur sueur@mnhn.fr

Details

The function first plots an oscillogram view of wave.
The user has then to choose points on the positive side of the y-axis (amplitude). The junction of these points will draw a new amplitude envelope.
The order of points along the x-axis (time) is not important but points cannot be cancelled. When this process is finished the new time wave is returned in the console or as an oscillogram in a second graphics device if plot is TRUE.
The function uses locator.

See Also

setenv, env, synth

Examples

Run this code
if (FALSE) {
a<-synth(d=1,f=22050,cf=1000)
# drawenv(a,f=22050,plot=TRUE)
# choose points on the oscillogram view to draw a new enveloppe
# stop (ESC on Windows; right mouse button on Linux)
# check the result on the second graphics device opened thanks to plot=TRUE
}

Run the code above in your browser using DataLab