c# - 可以在 C# 应用程序中执行实时多 channel 音频卷积吗?

标签 c# audio naudio cscore naudio-framework

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

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

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

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

最佳答案

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

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

关于c# - 可以在 C# 应用程序中执行实时多 channel 音频卷积吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60404949/

相关文章:

c# - 如何使用 MvcSiteMapProvider 从 Mvc.sitemap 获取节点的 url

actionscript-3 - ActionScript 3 setInterval在10之后停止。(音频)

c# - 使用 naudio 播放 .wav 文件,播放在 1 秒后停止

c# - 是否可以使用 NAudio 从短[]而不是字节[]播放音频?

c# - NAudio 录音中不需要的静音部分

c# - 在 .net 核心项目的 Linux 上运行时设置 GCServer = True

c# - 在绑定(bind)到数据源的组合框上设置 SelectedItem

c# - 我如何将 Umbraco 与 CDN 相结合?

actionscript-3 - 混合来自 ByteArray 的 2 个声音

javascript - 全面的 html5 音频 API