echo {seewave} | R Documentation |
Echo generator
Description
This function generate echoes of a time wave.
Usage
echo(wave, f, channel = 1, amp, delay, plot = FALSE,
listen = FALSE, output = "matrix", ...)
Arguments
wave |
an R object. |
f |
sampling frequency of |
channel |
channel of the R object, by default left channel (1). |
amp |
a vector describing the relative amplitude of the successive echoes. Each value of the vector should be in [0,1] |
delay |
a vector describing the time delays of the successive echoes
from the beginning of |
plot |
logical, if |
listen |
if |
output |
character string, the class of the object to return, either
|
... |
other |
Details
amp
and delay
should strictly have the same length corresponding
to the number of desired echoes.
Value
If plot
is FALSE
, a new wave is returned. The class
of the returned object is set with the argument output
.
Note
This function is based on a convolution (convolve
) between the
input wave and a pulse echo filter.
Author(s)
Jerome Sueur sueur@mnhn.fr
References
Stoddard, P. K. (1998). Application of filters in bioacoustics. In: Hopp, S. L., Owren, M. J. and Evans, C. S. (Eds), Animal acoustic communication. Springer, Berlin, Heidelberg,pp. 105-127.
See Also
Examples
# generation of the input wave
a <- synth(f=11025,d=1,cf=2000,shape="tria",am=c(50,10),fm=c(1000,10,1000,0,0))
# generation of three echoes
# with respectively a relative amplitude of 0.8, 0.4, and 0.2
# and with a delay of 1s, 2s, and 3s from the beginning of the input wave
aecho <- echo(a,f=11025,amp=c(0.8,0.4,0.2),delay=c(1,2,3))
# another echo with time delays overlapping with the input wave
aecho <- echo(a,f=11025,amp=c(0.4,0.2,0.4),delay=c(0.6,0.8,1.5))