如何使用 C++ 查找 WAV 文件的最高音量级别
我想使用 C++(库 libsndfile)获取 WAV 文件最高音量级别的值?关于如何做有什么建议吗?
I want to get the value of the highest volume level of a WAV-file by using C++ (library libsndfile)? Any suggestions on how to do it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以简单地找到样本缓冲区中样本的绝对值中的最高单个样本值(峰值)。这采用一般形式:
要获取平均值,您可以使用 RMS 函数。说明:
RMS 计算比 Peak 更接近人类感知。
要更深入地了解人类感知,您可以使用称重过滤器。
You can simply find the highest single sample value (Peak) among the absolute values of the samples in the sample buffer(s). This takes the general form:
To get averages, you can use RMS functions. Illustration:
RMS calculations are closer to human perception than Peak.
To go even deeper into human perception, you can employ Weighing Filters.