粗略的計算原始音頻PCM信號的音量
本文只是粗略的計算音頻單通道的音量,採樣率是48000,幀的大小是1024,位寬是16。
通過查找資料,並結合所學過的信號處理知識,計算PCM信號的音量大小,就是求採樣點幅值的面積(即能量),計算公式爲:20*log10(x/y)
此處出思路是:以一幀爲單位,求一幀內,單個採樣點的平均幅值,然後,對這個平均幅值進行能量計算,大概估算出當前的音量大小。
代碼如下:
//取當前的PCM平均幅值
pcm_status = a_pcm_status;
if(pcm_status!=0)
{
//計算音量大小,並進行百分比量化
pcm_level = ((int)(20*log10((double)pcm_status/32767.0))+34)*100/34;
}
else{
pcm_level = 0;
}
網友資料:
如何通過波形計算音量
pcm音量計算