mel: Hertz / Mel conversion

View source: R/seewave.r

melR Documentation

Hertz / Mel conversion

Description

This function converts Hertz data in Mel data.

Usage

mel(x, inverse = FALSE)

Arguments

x

a value in Hertz (or in Mel if inverse is TRUE)

inverse

logical, if TRUE converts the Mel data in Hertz data.

Details

Hertz to mel conversion is computed according to:

m = 1127.01048 \times {\log{(1+(\frac{f}{700}))}}

with m in Mel and f in Hertz.

Mel to Hertz conversion (when inverse is TRUE) is therefore computed according to:

f = 700 \times{(e^{\frac{m}{1127.01048}}-1)}

with f in Hertz and m in Mel.

Value

A corresponding R object is returned.

Note

The Mel scale is a perceptual scale of pitches judged by listeners to be equal in distance from one another. The name Mel comes from the word melody to indicate that the scale is based on pitch comparisons. The reference point between this scale and normal frequency measurement is defined by equating a 1000 Hz tone, 40 dB above the listener's threshold, with a pitch of 1000 mels.

Author(s)

Jerome Sueur sueur@mnhn.fr

References

Stevens, S. S., Volkman, J. and Newman, E. B. 1937. A scale for the measurement of psychological magnitude pitch. Journal of the Acoustical Society of America, 8: 185-190.

See Also

melfilterbank

Examples

x<-seq(0,10000,by=50)
y<-mel(x)
plot(x,y,type="l",xlab = "f (hertz)", ylab = "f (mel)",
  main = "Mel scale", col="red")

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

Related to mel in seewave...