来自字节数组的卷

我是音频分析的新手,但需要执行(看似)简单的任务。我有一个包含16位记录(单通道)和44100采样率的字节数组。如何在任何给定时刻执行快速分析以获得音量?我需要计算一个阈值,所以如果一个阈值高于某个幅度(音量),则返回true,否则返回false。我以为我可以迭代字节数组并检查它的值,255是最响亮的,但这似乎不起作用,即使我没有记录任何东西,背景噪音进入,一些数组填充255.任何建议都会很棒。 谢谢     
已邀请:
由于您有16位数据,因此您应该期望信号在-32768和+32767之间变化。 要计算体积,您可以采用1000个样本的间隔,并计算其RMS值。将平方样本值除以1000并取平方根。根据您的门槛检查此数字。     
通常,使用均方根来测量波的能量。 如果你想要在感知上更精确,你可以通过离散傅立叶变换将时域信号转换为频域信号,并通过一些加权函数在幅度上进行积分(因为低频波在感知上比高频波更大)以相同的能量挥动)。 但我不知道音频的东西,所以我只是制作东西。 ☺     
我可能会尝试应用标准偏差滑动窗口。 OTOH,我不会认为255 =最响。它可能是,但我想知道正在使用什么编码。如果存在任何压缩,那么我怀疑255是“最响亮的”。     

要回复问题请先登录注册