th {seewave} | R Documentation |
Compute the entropy of a temporal envelope.
th(env)
env |
a data set resulting of an envelope obtained
using oscillo with the argument env = TRUE. |
Temporal entropy is calculated according to:
S = -sum(ylogy)/log(N)
with:
y = relative amplitude of the i envelope point,
and
sum(y) = 1
and N = number of envelope points.
A single value varying between 0 and 1 is returned. The value has no unit.
The temporal entropy of a noisy signal with many amplitude modulations
will tend towards 1 whereas the temporal entropy of quiet signal
will tend towards 0.
Note, however, that a sustained sound with an almost
flat envelope will also show a very high temporal entropy. See examples.
Jerome Sueur sueur@mnhn.fr
# Temporal entropy of a cicada song data(orni) envorni<-env(orni,f=22050,plot=FALSE) th(envorni) # Smoothing the envelope might slightly change the result. envorniS<-env(orni,f=22050,smooth=c(50,0),plot=FALSE) th(envorniS) # If we mute a part of the cicada song, the temporal entropy decreases orni2<-mutew(orni,f=22050,from=0.3,to=0.55,plot=FALSE) envorni2<-env(orni2,f=22050,plot=FALSE) th(envorni2) # The temporal entropy of noise tends towards 1 a<-noise(d=1,f=8000) enva<-env(a,f=8000,plot=FALSE) th(enva) # But be aware that the temporal entropy # of a sustained sound also tends towards 1 b<-synth(f=8000,d=1,cf=2000,plot=FALSE) envb<-env(b,f=8000,plot=FALSE) th(envb)