摘要:Bark域是较早提出来的一种声音的心理声学尺度,本文介绍Bark域相关知识以及线性频率域转换到Bark域的方法。最后给出线性频域和Bark域的直观例子。
临界频带(Critical band)
临界频带是听觉学和心理声学的专业名词,它于19世纪40年代年被Harvey Fletcher提出。耳蜗是内耳中听觉的传感器官,临界频带指的是由于耳蜗构造产生的听觉滤波器的频率带宽。概况地说,临界频带是声音频率带,在临界频带中第一个单音感知性会被第二单音的听觉掩蔽所干扰。声学研究中,人们使用听觉滤波器来模拟不同的临界频带。后来研究者发现人耳结构大致会对24个频率点产生共振,根据这个结论Eberhard Zwicker在1961年针对人耳特殊结构提出:信号在频带上也呈现出24个临界频带,分别从1到24。这就是Bark域。
Bark域
Eberhanrd Zwicker提出使用以下方式可以粗略地使用听觉滤波器来模拟出听觉的24个临界频带,也即是用Bark域描述信号方法。
临界频带 | 中心(Hz) | 截至频率(Hz) | 带宽(Hz) |
20 | |||
1 | 50 | 100 | 80 |
2 | 150 | 200 | 100 |
3 | 250 | 300 | 100 |
4 | 350 | 400 | 100 |
5 | 450 | 510 | 110 |
6 | 570 | 630 | 120 |
7 | 700 | 770 | 140 |
8 | 840 | 920 | 150 |
9 | 1000 | 1080 | 160 |
10 | 1170 | 1270 | 190 |
11 | 1370 | 1480 | 210 |
12 | 1600 | 1720 | 240 |
13 | 1850 | 2000 | 280 |
14 | 2150 | 2320 | 320 |
15 | 2500 | 2700 | 380 |
16 | 2900 | 3150 | 450 |
17 | 3400 | 3700 | 550 |
18 | 4000 | 4400 | 700 |
19 | 4800 | 5300 | 900 |
20 | 5800 | 6400 | 1100 |
21 | 7000 | 7700 | 1300 |
22 | 8500 | 9500 | 1800 |
23 | 10500 | 12000 | 2500 |
24 | 13500 | 15500 | 3500 |
然而,上表的Bark域表示必须通过查表获得,在上个世纪80年代左右到90年代左右学者们提出了各种近似函数来近似表示Bark域。其中包括:
Zwicker & Terhardt (1980) |
(1) Bark = 13tan-1(0.76f/1000) + 3.5tan-1(f/7500)2 |
(2) Bark = 8.7 + 14.2log10(f/1000) | |
Terhardt (1979) |
(3) Bark = 13.3tan-1(0.75f/1000) |
(4) Bark = 12.82tan-1(0.78f/1000) + 0.17(f/1000)1.4 | |
Wang, Sekey & Gersho (1992) |
(5) Bark = 6sinh-1(f/600) |
Schroeder (1977) |
(6) Bark = 7sinh-1(f/650) |
Traunmüller (1990) |
(7) Bark = 26.81/(1+(1960/f)) - 0.53 |
相关matlab代码:
f = 0:2*10^4;
Bark_1980_1 = 13*atan(0.76*f / 1000) + 3.5 * atan(f.^2 / ((7500)^2));
Bark_1980_2 = 8.7 + 14.2*log10(f/1000);
Bark_1979_1 = 13.3*atan(0.75*f/1000);
Bark_1979_2 = 12.82*atan(0.78*f/1000) + 0.17*((f / 1000).^1.4);
Bark_1992 = 6*asinh(f/600);
Bark_1977 = 7*asinh(f/650);
Bark_1990 = 26.81./(1+(1960./f)) - 0.53;
plot(f, Bark_1980_1, f, Bark_1980_2, f, Bark_1979_1, f, Bark_1979_2, f, Bark_1992, f, Bark_1977, f, Bark_1990);
legend('Bark19801', 'Bark19802', 'Bark19791', 'Bark19792', 'Bark1992', 'Bark1977', 'Bark1990');
其中常用的是19801和1990这两条近似曲线。下面展示一下1992,1990,19801与表中代表的Bark的偏差:
这里展示的偏差无法代表模型对Bark域描述的精度,也并不能精确表示各个公式换算临界频带的准确度。这是因为每个人的主观听感是不一样的,因此Bark近似描述曲线的效果会因人而异,在实际工程和理论研究中可以根据需要选择相关的Bark域近似曲线。
最后我们来看看一个信号在线性频域和Bark域的不同表现。这里我们使用iZotope RX4来观察信号,虽然没有详细看该软件使用的什么变换公式,但是不会超出以上几个公式的范围。这里我们使用了一个女声信号,声卡为ICON Cube 4NANO,麦克风为ISK PC-800手持电容麦克风,并且使用了1024点的FFT来观察信号。
该信号在线性频率域和Bark域的表现分别如下:
从上面两个图容易看出,线性频率域对低频信号不够直观,Bark域对低频具有放大作用,高频具有压缩作用。这点能够从上面的转换公式明显看出来。回顾声音的掩蔽效应,从Bark域来看,能够更清晰地分析出哪些信号容易产生掩蔽,哪些噪声比较明显。同时对于某些声音特征例如基音,音调等在Bark域分析也有独特的效果。
总体来说在Bark域中能够更加真实地反应人耳对信号产生的感觉,对于声音处理的多个环节包括SE,AEC,ANC以及编解码都有重要的作用。
参考:
http://en.wikipedia.org/wiki/Bark_scale
http://en.wikipedia.org/wiki/Critical_band
http://www.speech.kth.se/~giampi/auditoryscales/
Traunmüller, H. (1990). "Analytical expressions for the tonotopic sensory scale". The Journal of the Acoustical Society of America 88: 97–91.
https://ccrma.stanford.edu/courses/120-fall-2003/lecture-5.html