Main Content

hz2mel

Convert from hertz to mel scale

Description

example

mel= hz2mel(hz)converts values in hertz to values on the mel frequency scale.

Examples

collapse all

Set two bounding frequencies in Hz and then convert them to the mel scale.

b = hz2mel([20,8000]);

Generate a row vector of 32 values uniformly spaced on the mel scale.

melVect = linspace(b(1),b(2),32);

Convert the row vector of values into equivalent frequencies in Hz.

hzVect = mel2hz(melVect);

Plot the two vectors for comparison. As mel values increase linearly, Hz values increase exponentially.

plot(melVect,hzVect,'o') title('Mel vs Hz') xlabel('Mel') ylabel('Hz') gridon

Figure contains an axes object. The axes object with title Mel vs Hz contains an object of type line.

Input Arguments

collapse all

Input frequency in Hz, specified as a scalar, vector, matrix, or multidimensional array.

Data Types:single|double

Output Arguments

collapse all

Output frequency on the mel scale, returned as a scalar, vector, matrix, or multidimensional array the same size ashz.

Data Types:single|double

Algorithms

The frequency conversion from Hz to the mel scale uses the following formula:

m e l = 2595 log 10 ( 1 + h z 700 )

References

[1] O'Shaghnessy, Douglas.Speech Communication: Human and Machine.Reading, MA: Addison-Wesley Publishing Company, 1987.

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.

版本历史

Introduced in R2019a