从DirectShow中从麦克风接收的原始数据中获得响度级别
get loudness level from raw data recieved from microphone in DirectShow
如何从DirectShow中从麦克风接收的原始数据中获得响度级别?
IMediaSample以字节为单位保存数据。我如何读取这些字节并得到一些东西呢?
响度是一种听觉质量,而不是物理公式。它有很多很多的定义。
它也是一个时间值。因此,该值在此期间会发生变化。
我记得我几年前见过的最简单的实现,就是简单地在振幅的最大值上加一个时间。但是振幅的对数肯定更接近耳朵的灵敏度。
你也可以考虑信号的功率(信号*信号…但也有更多的定义考虑了频谱成分…)。
这是厨房食谱。选择最简单的。
编辑:似乎我的答案太快和模糊,我可能错了音量和响度。这篇维基百科文章说有测量响度的单位。Sone和Phon。
您需要处理数据以从原始字节中计算响度。其中一种方法在BS.1770:测量音频节目响度的算法和真峰值音频电平规范中定义,并描述了所涉及的算法。
相关文章:
- 适用于 macOS 的 Xcode 应用程序。这就是我设置从USB麦克风输入获取音频的方式。一年前工作,现在没有了。为什么
- 有DirectShow的替代品吗?
- 如何在 c++ 中使用 ffmpeg 获取 DirectShow 设备列表?
- DirectShow 在 Win7/Win10 上失败并显示黑框和0x80070005
- 如何从 qml webgl 获取麦克风到 c++?
- 如何使用口袋狮身人面像通过代码中的麦克风进行语音识别
- DirectShow CSourceStream::FillBuffer 暂停和查找后对第一帧的不可预测的调用数
- 如何捕获麦克风缓冲区原始数据
- DirectShow功能在系统启动时被阻止
- 如何使用Android的双簧管/ AAudio从多个麦克风读取数据
- 如何以编程方式启用侧音/麦克风直通
- 从麦克风到整数数组 (C++/Qt) 的示例音频
- QIODevice::为麦克风写入数据
- 强制第三方DirectShow过滤器使用自定义分配器
- 在线程中创建DirectShow图
- 如何使用C++控制麦克风增强/ AGC
- QNX麦克风采样和扬声器播放
- Debian - 脉冲音频 - 在 C++ 中设置麦克风输入音量
- 如何作为一个麦克风使用DirectShow或其他东西在窗口
- 从DirectShow中从麦克风接收的原始数据中获得响度级别