c#.net用啥工具来编程多轨录音软件和vst插件?

Posted

技术标签:

【中文标题】c#.net用啥工具来编程多轨录音软件和vst插件?【英文标题】:c#.net what tools to use for programming multi-track recording software and vst plugins?c#.net用什么工具来编程多轨录音软件和vst插件? 【发布时间】:2012-04-20 03:34:11 【问题描述】:

我想使用 Visual Studio 2010 和 C#.NET 创建一个基于软件的多轨录音室。我有两个问题:

    谈到良好的性能,我想知道在 Visual Studio 2010 中对多轨软件录音室进行编程的最佳编程语言是什么?

    我想编写自己的 vst 插件。在 Visual Studio 2010 中完成这项任务的最佳编程语言是什么?

我已经阅读了有关 vst.net 的信息,因此我知道并调查了它。

感谢您对我的问题的任何回答或帮助!

【问题讨论】:

【参考方案1】:

请看http://vstnet.codeplex.com/

VST.NET 允许 VST 插件开发人员在任何 .NET 中编写插件 语言。它使 C++ 和 .NET 世界之间的过渡 顺利和容易。建立在互操作层之上的框架 提供清晰和结构化的架构加速开发 相当大。

【讨论】:

嗨,杰里米,感谢您的回复。是的,我在发帖之前看过 vst.net。我对 vst.net 的唯一担心是它正在从托管代码到非托管代码来回编组,这会降低性能。我不知道性能会如何,比如说,如果我同时播放 20 首曲目,并且在每首曲目上使用 vst.net 创建了一些 vst 插件 - vst.net 混响、vst.net 延迟、vst.net 压缩等. 你知道有没有在vst.net上做过多轨软件录音产品的性能测试? 我快速浏览了 VST.Net 源代码中的测试,只能看到几个单元测试,没有集成或性能测试。希望社区中的其他人可以评论 20 轨道播放器的性能。使用 marshaling 恕我直言,它不会产生太大的性能开销,尤其是如果您使用 Blittable 类型(基本上是在托管和非托管内存中具有共同表示的值类型):guidanceshare.com/wiki/… 和 msdn.microsoft.com/en-us/magazine/cc164193.aspx 如果您真的担心性能损失,请使用 C++ 编写它。否则,首先编写代码,然后对其进行基准测试以确定性能是否真的是一个问题。但请相信我,执行实际 DSP 处理所需的 CPU 命中率将远高于插件的包装器。 VST.NET 带有几个工作示例插件。我建议您使用延迟示例插件并使用其中的几个来安装您的 DAW。当然延迟不是繁重的 DSP 处理,但您可以了解所涉及的任何开销。 感谢 Nik 和 obiwanjacobi 的反馈。我会记住你们的建议并尝试一下。【参考方案2】:

我发现 .net 4 框架对 c#.net 和 vb.net 的 PARALLEL PROGRAMMING 提供了不错的支持。这减少了我对在项目中使用 c#.net 时数字信号处理 (DSP) 性能不佳的担忧。我认为使用vst.net 和PARALLEL PROGRAMMING 我应该能够使用c#.net 在vs 2010 中完成这个项目。如果应用程序中仍然存在一些性能问题,我将逐项处理这些问题,并且可能必须编写一个 c++ dll 来处理较低级别的问题。感谢大家的反馈!

【讨论】:

以上是关于c#.net用啥工具来编程多轨录音软件和vst插件?的主要内容,如果未能解决你的问题,请参考以下文章

创建 VST 插件 [关闭]

国外的专业音频软件都有哪些?各个领域。

我将如何以编程方式与 VST(i) 插件交互以合成音频?

dsp 用啥编程

JAVA编程是用啥软件的?

java用啥软件编写代码