VST插件如何制作?


105

我想制作(或学习制作方法)VST插件。为此有一个特殊的SDK吗?如何产生.vst而不是.exe?另外,如果您想为Logic Pro制作音频单元,那该怎么做?谢谢

Answers:


50

从此Wiki 链接开始,解释它们是什么,并提供与sdk的链接。以下是有关开发人员的一些信息

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

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

EXPORTS main=_main

Borland编译器在函数名称上添加下划线,并按main()VST主机期望的方式导出函数。有关.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)


1
您的两个链接未完成,请修复。
tiboo

44

我知道这已经3年了,但是对于每个现在阅读此书的人来说:不要坚持使用VST,AU或任何供应商的格式。斯坦伯格已经停止支持VST2,并且人们很难将其代码移植到较新的格式,因为它与VST2紧密相关。

这些教程涵盖了如何在Win / Mac,32/64和32/64上运行的插件,以及来自同一代码库的所有插件格式。


该教程似乎仅适用于Mac。
liftarn 2014年

6
对于存在差异的部分,这些教程涵盖了Mac和Windows。作者使用的是Mac。
basteln 2014年

28

不久前,用Visual Studio编写了C ++ VST开发HOWTO,其中详细介绍了为Windows平台创建基本插件所必需的步骤(即将发布Mac版本)。在Windows上,VST插件只是普通的DLL,但是有许多“陷阱”,您需要使用某些特定的编译器/链接器开关来构建插件,否则某些主机将无法识别该插件。

对于Mac,VST插件只是带有.vst扩展名的软件包,尽管也有一些设置必须正确配置才能生成有效的插件。您还可以下载我不久前制作的一组Xcode VST插件项目模板,这些模板可以帮助您在该平台上编写有效的插件。

至于AudioUnits,Apple提供了自己的项目模板,这些模板随Xcode一起提供。苹果在线上也有很好的教程和文档:

我也强烈建议您查看Juce Framework,它对创建跨平台VST / AU插件具有出色的支持。如果您要开源,那么Juce无疑是明智之举,但是如果您计划在没有源代码的情况下发布您的作品,则需要为此支付许可费用。


7

如果您知道.NET语言(C#/ VB.NET等),请签出VST.NET。该框架使您可以在.NET中创建(非托管)VST 2.4插件。它带有一个框架,该框架结构化并简化了支持参数,程序和持久性的VST插件的创建。

有几个示例演示了典型的插件方案。还有文档说明了如何入门以及VST.NET背后的一些概念。

希望能帮助到你。马克·雅可比


5

我意识到这是一篇非常古老的文章,但是我使用JUCE库取得了成功,该库为主要的IDE(例如Xcode,VS和Codeblocks)构建项目,并自动生成VST / 3,AU / v3,RTAS和AAX。

https://www.juce.com/


对于那些想知道这是否是一条好路的人,遵循OSX教程对我而言并没有产生任何结果,只有错误。
Seph Reed
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.