来自字节数组的卷

Bra*_*rap 4 .net c# audio volume audio-analysis

我是音频分析新手,但需要执行一项(看似)简单的任务。我有一个包含 16 位录音(单通道)且采样率为 44100 的字节数组。如何执行快速分析以获取任何给定时刻的音量?我需要计算一个阈值,因此如果它高于某个幅度(音量),则函数返回 true,否则返回 false。我以为我可以迭代字节数组并检查它的值,其中 255 是最响亮的,但这似乎不起作用,因为即使我不记录任何内容,背景噪音也会进入,并且一些数组充满了255. 任何建议都会很好。谢谢

Han*_*Han 5

由于您有 16 位数据,因此信号应在 -32768 和 +32767 之间变化。要计算体积,您可以每隔 1000 个样本进行一次,并计算它们的 RMS 值。将样本值的平方和除以 1000 并取平方根。根据您的阈值检查此数字。