VST插件是如何制作的?

jma*_*erx 96 c++ audio vst

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

Dev*_*4.0 46

从这个wiki 链接开始,解释它们是什么,并提供指向sdk的链接.这是关于发展的一些信息

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

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

EXPORTS main=_main
Run Code Online (Sandbox Code Playgroud)

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

但这还不够.如果您要使用任何VCL元素(与表单或组件有关),您必须注意您的插件不会导致Cubase(或其他VST主机)崩溃.这是如何做:

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

    _control87(PC_64|MCW_EM,MCW_PC|MCW_EM);
    
    Run Code Online (Sandbox Code Playgroud)

这应该够了吧.

以下是一些更有用的网站:

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

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


bas*_*eln 38

我知道这已经有3年了,但现在每个人都在阅读:不要坚持使用VST,AU或任何供应商的格式.Steinberg已停止支持VST2,人们在将代码移植到更新的格式时遇到了麻烦,因为它与VST2过于紧密相关.

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

  • 对于存在差异的部分,教程涵盖Mac和Windows.作者虽然使用了Mac. (6认同)

Nik*_*man 28

用Visual Studio编写了一篇关于C++ VST开发HOWTO,详细介绍了为Windows平台创建基本插件所需的步骤(本文的Mac版本即将发布).在Windows上,VST插件只是一个普通的DLL,但是有很多"陷阱",你需要使用一些特定的编译器/链接器开关来构建插件,否则某些主机将无法识别它.

至于Mac,VST插件只是一个带有.vst扩展名的捆绑包,尽管还有一些设置必须正确配置才能生成有效的插件.您还可以下载我做了一段时间的一组Xcode VST插件项目模板,它可以帮助您在该平台上编写一个可用的插件.

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

我还强烈建议查看Juce Framework,它对创建跨平台VST/AU插件提供了极好的支持.如果你是开源的,那么Juce是一个明智的选择,但是如果你打算在没有源代码的情况下发布你的工作,你需要支付许可费.


obi*_*obi 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/