音量的计算
音量又稱響度、音強(qiáng),是指人耳對所聽到的聲音大小強(qiáng)弱的主觀感受,其客觀評價(jià)尺度是聲音的振幅大小。這種感受源自物體振動時(shí)所產(chǎn)生的壓力,即聲壓。物體振動通過不同的介質(zhì),將其振動能量傳導(dǎo)開去。人們?yōu)榱藢β曇舻母惺芰炕煽梢员O(jiān)測的指標(biāo),就把聲壓分成“級”——聲壓級,以便能客觀的表示聲音的強(qiáng)弱,其單位稱為“分貝”(dB)。
音量的計(jì)算
1,聲音數(shù)據(jù)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 聲強(qiáng),
?I=(P^2)/(ρv) (此時(shí)P為有效值,若P為幅值,則 I=(P^2)/(2ρv) ) 其中ρ-介質(zhì)密度(空氣的),v-聲速
3 聲壓級
SPL=20LOG(10)[p(e)/p(ref)] 其單位是分貝。 在空氣中參考聲壓p(ref)一般取為2*10E-5帕,這個(gè)數(shù)值是正常人耳對1千赫聲音剛剛能覺察其存在的聲壓值,也就是1千赫聲音的可聽閾聲壓。一般講,低于這一聲壓值,人耳就再也不能覺察出這個(gè)聲音的存在了。顯然該可聽閾聲壓的聲壓級即為零分貝。
?? p(e) = I * ρv
??????? =(P^2) = 音量的平方。
總結(jié)
- 上一篇: java 数字组合_java解决数字组合
- 下一篇: c语言数组转置原理,为什么这个数组转置不