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插件?的主要内容,如果未能解决你的问题,请参考以下文章