在做语音识别或者声波通信时,windows平台经常遇到录到或者播放的声音,其中高频部分被滤波的情况,这个问题主要是因为windows平台自vista版本以后,在播放器和录音机的设置部分有一个“音频增强”的功能,这个选项默认是打开的:
而这个音频增强的选项据说可以在某些平台(比如说一些硬件条件先天不好的平台)用软件的方法改善音质,增强低音部分。但这个功能也经常对高频部分做了滤波,导致声音的高频部分(8k以上)无法正常播放或者录音。从而导致我们的语音识别或者声波通信程序之类的需要高频数据的无法正常运行。
频谱图8k以上没有信号了:
当然最简单的办法是让用户手动去系统的声音设置中关闭这个选项,但这个额外的步骤可能也导致软件的使用门槛大增,对用户来说,最直接的感觉就是我们的软件失效,不能正常工作,用户体验很差。那么有没有办法使用程序代码自动去检测并自动打开或者关闭这个选项呢,本文就是解决这个问题的。
可以看到:传递参数0时,可以看到系统设置的音频增强功能打开了。传递参数1时,音频增强功能默认关闭。
在win11平台上,有一个奇怪现象:如果手动打开“启用音频增强”,则无法用程序自动关闭。仔细研究后,这个问题也得到了解决。
其它声音处理方面程序:
声波通讯:
效果超牛的基于声波通信和声音指纹的微信互动平台(微信小程序版)
android/iphone/windows/linux/微信声波通信库
Android/iphone/微信手机通过声波初始化智能设备的WIFI信息
哭声识别:
鼾声识别: