从DirectShow中从麦克风接收的原始数据中获得响度级别

get loudness level from raw data recieved from microphone in DirectShow

本文关键字:DirectShow 麦克风 原始数据      更新时间:2023-10-16

如何从DirectShow中从麦克风接收的原始数据中获得响度级别?

IMediaSample以字节为单位保存数据。我如何读取这些字节并得到一些东西呢?

响度是一种听觉质量,而不是物理公式。它有很多很多的定义。

它也是一个时间值。因此,该值在此期间会发生变化。

我记得我几年前见过的最简单的实现,就是简单地在振幅的最大值上加一个时间。但是振幅的对数肯定更接近耳朵的灵敏度。

你也可以考虑信号的功率(信号*信号…但也有更多的定义考虑了频谱成分…)。

这是厨房食谱。选择最简单的。

编辑:似乎我的答案太快和模糊,我可能错了音量和响度。这篇维基百科文章说有测量响度的单位。Sone和Phon。

您需要处理数据以从原始字节中计算响度。其中一种方法在BS.1770:测量音频节目响度的算法和真峰值音频电平规范中定义,并描述了所涉及的算法。