粗略的计算原始音频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音量计算
本文介绍了一种粗略计算音频单通道音量的方法,适用于48kHz采样率、1024帧大小及16位宽的PCM信号。通过求一帧内单个采样点的平均幅值,再利用20*log10(x/y)公式计算得到音量大小。

172

被折叠的 条评论
为什么被折叠?



