This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

hz2bark

Convert from hertz to Bark scale

Syntax

bark = hz2erb(hz)

Description

example

bark = hz2erb(hz) converts values in hertz to values on the Bark frequency scale.

Examples

collapse all

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

b = hz2bark([20,8000]);

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

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

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

hzVect = bark2hz(barkVect);

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

plot(barkVect,hzVect,'o')
title('Bark vs Hz')
xlabel('Bark')
ylabel('Hz')
grid on

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 Bark scale, returned as a scalar, vector, matrix, or multidimensional array the same size as hz.

Data Types: single | double

Algorithms

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

bark=(26.81)(hz)1960+hz0.53if:bark<2bark=bark+(0.15)(2bark)if:bark>20.1bark=bark+(0.22)(bark20.1)

The Bark value correction occurs after the conversion from Hz to the Bark scale.

References

[1] Traunmüller, Hartmut. "Analytical Expressions for the Tonotopic Sensory Scale." Journal for the Acoustical Society of America. Vol. 88, Issue 1, 1990, pp. 97–100.

Extended Capabilities

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

Introduced in R2019a