1

具体来说,我希望在播放时对音频文件执行两通道卷积操作。即使用脉冲响应向文件添加混响效果,然后将其发送到声卡进行播放。

明显缺乏在 C# 应用程序中实时执行此操作的示例或参考。

NAudio (也许是 CScore 库看起来最有前途,但没有内置的卷积引擎似乎很奇怪,这可能是因为没有足够的调用,还是托管应用程序更可能不适合此类操作?

因此它让我问发布的问题可以在 C# 应用程序中执行实时多通道音频卷积吗?

4

1 回答 1

0

是的,你可以做到这一点没问题。然而,由于可能的垃圾收集延迟,C# 应用程序不适用于音频播放。您需要声卡上有一个相当大的缓冲区,这会在您的信号中引入延迟。从一个没有问题的文件,从一个实时的麦克风,它不是那么好。我有一个系统,可以在三个单独的声卡上同时播放三个音乐流,并在其他语音文件中多路复用,所有这些都是用 C# 编写的。我也以更高的优先级运行播放线程。

至于为什么没有现有的库来执行此操作(可能有),这是一段相当简单的代码:只是将一维值流相乘和相加。

于 2020-02-26T00:13:35.137 回答