首页 / 知识

关于 .net:使用 C# 检测 WAV 文件中的音频静音

2023-04-12 17:06:00

关于 .net:使用 C# 检测 WAV 文件中的音频静音

Detecting audio silence in WAV files using C#

我的任务是构建一个 .NET 客户端应用程序来检测 WAV 文件中的静音。

这可以通过内置的 Windows API 实现吗?或者,有什么好的库可以帮助解决这个问题?


音频分析是一件困难的事情,需要大量复杂的数学运算(想想傅立叶变换)。你必须问的问题是"什么是沉默"。如果您尝试编辑的音频是从模拟源捕获的,则很可能没有任何静音……它们只会是软噪声区域(线路嗡嗡声、环境背景噪声等)。

综上所述,一个应该起作用的算法是确定最小音量(幅度)阈值和持续时间(例如,<10dbA 持续 2 秒以上),然后简单地对波形进行音量分析,寻找出现问题的区域满足这个标准(可能有一些毫秒峰值的过滤器)。我从来没有用 C# 写过这个,但是这篇 CodeProject 文章看起来很有趣;它描述了绘制波形的 C# 代码......这与可用于进行其他幅度分析的代码相同。


如果您想有效地计算滑动窗口上的平均功率:对每个样本进行平方,然后将其添加到运行总数中。从之前的 N 个样本中减去平方值。然后进入下一步。这是 CIC 滤波器的最简单形式。 Parseval 定理告诉我们,这种功率计算适用于时域和频域。

此外,您可能还想在系统中添加迟滞以避免开启


http://www.codeproject.com/Articles/19590/WAVE-File-Processor-in-C

这里有去除静音和混合波形文件所需的所有代码。

享受。


n


n


n


我认为您不会找到任何用于检测静音的内置 API。但是你总是可以使用好的数学/谨慎的信号处理来找出响度。
这是一个小例子:http://msdn.microsoft.com/en-us/magazine/cc163341.aspx


n


检测文件音频静音

最新内容

相关内容

热门文章

推荐文章

标签云

猜你喜欢