用于C#中数字信号处理的音频库

时间:2009-12-07 00:56:46

标签: c# signal-processing xaudio2

我的问题是:

我正在开发一个相当小的应用程序(它需要能够在未来增长,但目前,有限的功能就足够了)接收音频(16位单声道@ 44.1kHz)并执行傅里叶变换和过滤数据。我对你所能想到的所有领域的经验都是有限的,但我最近一直在研究它并且有一些了解。我的资金是有限的,我无法使用任何GPL或类似许可证下的图书馆(我需要能够破坏这个应用程序)。对于信号处理,我已经确定了MathNet库,这似乎可以处理大部分处理(我将编写必要的过滤器)。

真正的问题是找到要使用的声音库 - 我希望在C#中使用某些东西,虽然看起来directSound是最好的选择,但我不愿意使用它,因为微软几乎放弃了它(公司我工作将在不久的将来升级其装备;我只是想尽可能地增加应用程序的使用寿命。我使用XAudio2吗?我需要能够从USB设备记录原始pcm数据并对其进行处理(+将其写入.wav文件),并直接从.wav文件中读取数据。

感谢任何帮助

3 个答案:

答案 0 :(得分:1)

首先,我想说DirectSound并没有被微软抛弃,它仍然是一种支持的技术(Windows 7),我不希望它在将来停止工作。

也就是说,有更新的音频API / SDK更现代:Media Foundation可以执行音频捕获,并且有很多很棒的示例可以让您快速启动。如果您正在寻找最新和最好的或正在寻找硬件加速音频,您可以尝试使用WASAPI和WaveRT使其工作。

仅供参考,媒体格式SDK不再位于第一篇文章中给出的URL。请改用这个:

http://msdn.microsoft.com/en-us/windows/bb190307

答案 1 :(得分:0)

答案 2 :(得分:0)

预测微软是否会放弃他们目前推出的产品并不容易。至于XAudio 2和DirectSound,我肯定会使用XAudio 2.不仅因为它旨在取代DS,还因为API似乎更灵活。

但是,您可以查看NAudio如何播放。

相关问题