118

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

4

5 回答 5

60

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

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

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

EXPORTS main=_main

main()Borland 编译器在函数名称中添加下划线,这会按照 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)

于 2010-04-05T21:37:13.847 回答
50

我知道这已经 3 年了,但对于现在阅读本文的每个人来说:不要坚持 VST、AU 或任何供应商的格式。Steinberg 已经停止支持 VST2,人们在将他们的代码移植到更新的格式时遇到了麻烦,因为它与 VST2 太绑定了。

这些教程涵盖了创建在 Win/Mac、32/64 上运行的插件,所有插件格式来自相同的代码库。

于 2013-10-05T17:10:03.137 回答
31

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

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

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

我还强烈建议查看Juce 框架,它为创建跨平台 VST/AU 插件提供了出色的支持。如果您要开源,那么 Juce 是不二之选,但如果您打算发布没有源代码的作品,则需要为此支付许可费。

于 2010-04-06T08:09:35.270 回答
9

我意识到这是一篇非常古老的帖子,但我已经成功使用了 JUCE 库,它为 Xcode、VS 和 Codeblocks 等主要 IDE 构建项目并自动构建 VST/3、AU/v3、RTAS 和 AAX。

https://www.juce.com/

于 2016-10-17T04:29:58.690 回答
8

如果您了解 .NET 语言(C#/VB.NET 等),请查看 VST.NET。此框架允许您在 .NET 中创建(非托管)VST 2.4 插件。它带有一个框架,可以构建和简化 VST 插件的创建,并支持参数、程序和持久性。

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

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

于 2010-04-06T06:08:29.640 回答