th {seewave}R Documentation

Temporal entropy

Description

Compute the entropy of a temporal envelope.

Usage

th(env)

Arguments

env a data set resulting of an envelope obtained using oscillo with the argument env = TRUE.

Details

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.

Value

A single value varying between 0 and 1 is returned. The value has no unit.

Note

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.

Author(s)

Jerome Sueur sueur@mnhn.fr

See Also

sh, csh, H

Examples

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

[Package seewave version 1.5.0 Index]