# th: Temporal entropy In seewave: Sound Analysis and Synthesis

 th R Documentation

## Temporal entropy

### Description

Compute the entropy of a temporal envelope.

### Usage

th(env, breaks)

### Arguments

 env a data set resulting of an envelope obtained using env breaks 'breaks' argument of hist to compute the entropy on the distribution obtained with an histogram.

### Details

Temporal entropy is calculated according to:

S = -\frac{\sum_{i = 1}^{N} y_i log_2(y_i)}{log_2(N)}

with:
y = relative amplitude of the i envelope point,
and

\sum_{i = 1}^{N} y_i = 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 except if you compute the entropy on the distribution obtained with the histogram. See examples.

### Author(s)

Jerome Sueur, George Zhan for the idea and implementation of the argument breaks.

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<-noisew(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)
# except if you use the distribution of the histogram
th(envb, breaks="Sturges")


seewave documentation built on Oct. 19, 2023, 5:07 p.m.