Learn R Programming

seewave (version 2.1.6)

rmam: Remove the amplitude modulations of a time wave

Description

This functions removes the amplitude modulation of a time wave through the Hilbert amplitude envelope.

Usage

rmam(wave, f, channel = 1, plot = FALSE, listen = FALSE, output = "matrix", ...)

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).

plot

logical, if TRUE returns an oscillographic plot of the nwe 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".

other oscillo graphical parameters.

Value

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

Details

The new time wave is obtained by dividing the original time wave by its Hilbert amplitude envelope.

References

Mbu Nyamsi, R. G., Aubin, T. & Bremond, J. C. 1994 On the extraction of some time dependent parameters of an acoustic signal by means of the analytic signal concept. Its application to animal sound study. Bioacoustics, 5: 187-203.

See Also

hilbert.

Examples

Run this code
# NOT RUN {
# generate a new sound with amplitude modulation
a<-synth(f=8000, d=1, cf=1500, am=c(50,10))
# remove the amplitude modulation and plot the result
rmam(a,f=8000,plot=TRUE)
# }

Run the code above in your browser using DataLab