如何在.net框架上使用vst sdk
Posted
技术标签:
【中文标题】如何在.net框架上使用vst sdk【英文标题】:How to use the vst sdk on the .net framework 【发布时间】:2011-09-24 23:39:08 【问题描述】:我喜欢主要使用电脑制作音乐,尤其喜欢使用合成器。网上有很多非常棒的合成器插件。我已经下载了 VST(Virtual Studio Technology)SDK,这是我所知道的大多数插件都使用的平台。
我想知道你是否可以使用.Net框架上的SDK来编写插件;我能找到的唯一文档和教程是针对 C++ 的,我对 C++ 不太信任。我可以学会使用 C++,我在一周内自学了 C#,但是使用未知语言和学习其他新概念似乎不是一个好的组合。
任何人都可以就如何开始,即使可以使用 .Net 进行编程,给我指明正确的方向吗?
问候夏尔
【问题讨论】:
一个类似的问题,可能的答案是:***.com/questions/2380520/… 【参考方案1】:许多初学者发现VST.NET 是开始的完美选择。它带有一些示例和产生工作插件的 VS2008/VS2010 项目模板。所以这是一个很好的开始方式。
VST.NET 提供了一个框架,可以将 VST API 构建和分组为可管理的部分。开箱即用,它为插件参数和程序等常用功能提供支持。
所以请访问VST.NET codeplex site,我们将帮助您开始。
顺便说一句:据我所知,noise 项目已被放弃,尽管 VST.NET 可能看起来不是很活跃,但我仍会继续对其 codeplex 网站上发布的问题作出反应。
【讨论】:
【参考方案2】:我赞同obiwanjacobi 的观点。 VST.Net 是我所知道的唯一一个 .Net VST 桥,社区很棒。这是一个出色的框架。
https://vstnet.codeplex.com/
至于声明:“怀疑 .NET 平台是否足以满足 VST 插件所需的原始性能”。这是完全不真实的。我的测试表明,在一台不错的计算机上,.Net 可以非常轻松地处理基本合成,甚至无需将 CPU 级别提高到几个百分点以上。当然,对于非常复杂的综合,它不会与 C++ 的性能相匹配,但在这种情况下,没有理由不能依靠 C++ 来完成更复杂的事情。事实上,这正是 Vst.Net 擅长的地方。它允许您将非常复杂的合成构建为 VST,然后在 .Net 中加以利用。
同时,我认为您很难肯定地说 .Net 也不能进行非常复杂的合成。我还没有真正尝试过,但是当您注意代码的性能时并没有真正的障碍,这适用于任何编程平台。
除此之外,现在还有 .Net Native 可以添加到图片中。 .Net Native 有可能与 C++ 一样快。
【讨论】:
另外,我最近发布了这些 WPF/UWP 控件。它们将是对 VST .Net 的一个很好的赞美。他们试图复制 C++ 库(如 JUCE 等)提供的那种功能。它们可换肤且重量轻:bitbucket.org/MelbourneDeveloper/vst-controls-.net【参考方案3】:我记得听说过 noisevst 和 VST.NET,这是 VST API 的两个 C# 包装器,但我不知道它们有多稳定。而且我真的怀疑 .NET 平台是否足以满足 VST 插件所需的原始性能。
所以我建议学习一点 C++。是的,C++ 如此庞大和复杂,以至于地球上没有人知道它的每一个特性。但是出于插件开发的目的,您需要做的就是实现几个方法。您可以从 VST API 中提供的示例开始。无论如何,如果您使用 C#、C++ 或任何其他主流语言,音频 DSP 代码看起来不会有太大不同。
如果您还想为您的插件实现 GUI,那就是事情开始变得棘手的地方。 VSTGUI 很简单,但缺少很多功能。我可以推荐WDL 的 iPlug 框架,但这需要的不仅仅是基本的 C++。
【讨论】:
感谢您的反馈,不幸的是,这和我想的一样。我搜遍了 KVR 论坛,也只有关于 C++ 的信息。我想这不会伤害学习 C++,即使只是从臭名昭著的“Hello World!”开始。应用程序...但是我会尝试一下noisevst,也许我会感到惊讶。 不客气。我刚刚编辑了答案并添加了 VST.NET。您可能也想看看。 “我真的怀疑 .NET 平台是否足以满足 VST 插件所需的原始性能。”这不是真的。我可以根据经验说 .NET 对于许多插件来说在性能方面都很好。早在 .NET 平台成为瓶颈之前,您的代码就会遇到性能问题。 @JoshNoe 这个答案已经 9 岁了。我已经很长时间没有研究音频 DSP 编程了,在性能方面可能已经发生了很大变化。随时更新答案。以上是关于如何在.net框架上使用vst sdk的主要内容,如果未能解决你的问题,请参考以下文章
在 Windows 上设置 VST Steinberg SDK