我目前正在使用waveInOpen的Windows API函数集来录制VOIP应用程序的音频。 我现在被要求添加回声消除,可能的降噪和增益控制。 我对DirectSound一无所知,但是在Google上搜索"回声消除"时,我在MSDN上发现了DirectSound的参考资料,例如CaptureAcousticEchoCancelEffect。
如果我切换到DirectSound,我会"免费"获得其中一些功能吗? 它们是否仅在硬件支持时才受支持,如果是,该硬件在普通消费类 PC 中出现的频率如何?
从Windows Vista开始,Microsoft提供了一个单独的组件Voice Capture DSP:
语音捕获DMO包括以下DSP组件:
Acoustic echo cancellation (AEC) Microphone array processing Noise suppression Automatic gain control Voice activity detection
应用程序可以单独打开和关闭每个组件。
您可以在 DSP 应用程序中使用它来利用软件中实现的 EAC 和 NS。
据我所知,这些功能在DirectSound中没有得到专业支持。支持这些功能的硬件设备通常配备特殊的处理器/DSP,成本远高于标准硬件设备。