我的任务是构建一个 .NET 客户端应用程序来检测 WAV 文件中的静音。
这是否可以通过内置的 Windows API 实现?或者,是否有任何好的图书馆可以帮助解决这个问题?
最佳答案
音频分析是一件困难的事情,需要大量复杂的数学运算(想想傅里叶变换)。你要问的问题是“什么是沉默”。如果您尝试编辑的音频是从模拟源捕获的,则很可能没有任何静音……它们只会是软噪声区域(线路嗡嗡声、环境背景噪声等)。
综上所述,一个可行的算法应该是确定最小音量(振幅)阈值和持续时间(例如,<10dbA 超过 2 秒),然后简单地对波形进行音量分析,以寻找能够满足这个标准(也许有一些毫秒尖峰的过滤器)。我从来没有用 C# 写过这个,但是这个 CodeProject article看起来很有趣;它描述了用于绘制波形的 C# 代码……这与可用于进行其他幅度分析的代码类型相同。
关于c# - 使用 C# 检测 WAV 文件中的音频静音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19353/