VST插件是如何制作的?

我想制作(或学习如何制作)VST插件。 有没有特殊的SDK? 如何产生.vst而不是.exe? 另外,如果有人正在为Logic Pro制作audio单元,那又如何呢? 谢谢

开始这个链接到维基,解释他们是什么,并提供链接到SDK。 这里是关于deve的一些信息

如何编译插件 – 为了在C ++ Builder中制作VST插件,首先需要Steinberg的VST sdk。 它可以从Yvan Grabit的网站上获得(链接位于页面顶部)。

接下来你需要做的是创build一个.def文件(例如:myplugin.def)。 这需要至less包含以下几行:

EXPORTS main=_main 

Borland编译器为函数名添加下划线,并按照VST主机期望的方式导出main()函数。 有关.def文件的更多信息,请参阅C ++ Builder帮助文件。

虽然这还不够。 如果您打算使用任何VCL元素(与表单或组件无关),则必须小心您的插件不会使Cubase(或其他VST主机)崩溃。 就是这样:

  1. 包含float.h。
  2. 在效果类的构造函数中,写入

     _control87(PC_64|MCW_EM,MCW_PC|MCW_EM); 

这应该够了吧。

这里有一些更有用的网站:

http://www.steinberg.net/en/company/developer.html

如何通过http://www.asktoby.com/#vsttutorial 编写一个vst插件(pdf)

我知道这是3岁,但现在每个人都阅读:不要坚持VST,AU或任何供应商的格式。 Steinberg已经停止了对VST2的支持,而且人们很难将他们的代码移植到新的格式上,因为它与VST2绑定太紧密了。

这些教程包括创build在Win / Mac上运行的插件,32/64,来自相同代码库的所有插件格式。

我写了一个关于Visual Studio VST开发的HOWTO,并详细介绍了为Windows平台创build基本插件所需的步骤(即将发布本文的Mac版本)。 在Windows上,VST插件只是一个普通的DLL,但是有一些“疑难杂症”,你需要使用一些特定的编译器/链接器开关构build插件,否则某些主机将无法识别该插件。

至于Mac,VST插件只是一个包含.vst扩展名的软件包,不过也有一些必须正确configuration才能生成有效插件的设置。 您也可以下载一段Xcode VST插件项目模板,我可以帮助您在该平台上编写一个可用的插件。

至于AudioUnits,Apple提供了自己的Xcode包含的项目模板。 苹果在线也有非常好的教程和文档:

  • audio单元编程指南

我也强烈build议检查一下Juce Framework ,它对创build跨平台的VST / AU插件有很好的支持。 如果你打算开源,那么Juce是一个不用花钱的工具,但如果你打算在没有源代码的情况下发布你的工作,你将需要支付许可费用。

如果你知道一个.NET语言(C#/ VB.NET等),然后检查VST.NET 。 这个框架允许你在.NET中创build(非托pipe)VST 2.4插件。 它带有一个框架,它可以构build和简化创build一个支持参数,程序和持久性的VST插件。

有几个示例演示了典型的插件场景。 还有一些文档解释了如何开始以及VST.NET背后的一些概念。

希望能帮助到你。 Marc Jacobi

我意识到这是一个很老的post,但是我已经成功地使用了JUCE库,它为Xcode,VS和Codeblocks等主要IDE构build项目,并自动构buildVST / 3,AU / v3,RTAS和AAX。

https://www.juce.com/