音量的計算

safrans發表於2012-09-18
音量又稱響度、音強,是指人耳對所聽到的聲音大小強弱的主觀感受,其客觀評價尺度是聲音的振幅大小。這種感受源自物體振動時所產生的壓力,即聲壓。物體振動通過不同的介質,將其振動能量傳導開去。人們為了對聲音的感受量化成可以監測的指標,就把聲壓分成“級”——聲壓級,以便能客觀的表示聲音的強弱,其單位稱為“分貝”(dB)。

音量的計算

1,聲音資料data,長度為len

方法1,音量為聲音的最大值減去最小值的一半,類似均值。
function vol1 = calcVolume1(data,len)
vol1 =0.5 * ( max(data) - min(data));

方法2, 類似方差
function vol2 = calcVolume2(data, len)
sum = sum(data) / len ;
sqr = sum(data.*data) / len;
vol2 = sqrt( sqr - sum * sum);

2 聲強,

I=(P^2)/(ρv) (此時P為有效值,若P為幅值,則 I=(P^2)/(2ρv) )   其中ρ-介質密度(空氣的),v-聲速

3 聲壓級


SPL=20LOG(10)[p(e)/p(ref)]   其單位是分貝。   在空氣中參考聲壓p(ref)一般取為2*10E-5帕,這個數值是正常人耳對1千赫聲音剛剛能覺察其存在的聲壓值,也就是1千赫聲音的可聽閾聲壓。一般講,低於這一聲壓值,人耳就再也不能覺察出這個聲音的存在了。顯然該可聽閾聲壓的聲壓級即為零分貝。
p(e) = I * ρv
=(P^2) = 音量的平方。

相關文章