4

我正在实现一种音频算法来将音符与复音录音(如旋律)分开。我的计划是让它成为一个 VST 插件。研究文档,我很难弄清楚我将如何实现非实时任务。所需的任务是加载波形文件并对其进行非实时分析,然后才能对其进行实时循环和操作。应该可以随时加载新文件。

很难找到有关该主题的信息。如果有人有经验并可以给我一个提示:

  • VST可以做到这一点吗?SDK 提供离线处理,但 DAW 似乎不支持它。
  • 如果我让我的程序成为一个独立的程序,我如何将它与 VST 主机同步?
  • 有谁知道一本好书,详细的?
4

1 回答 1

1

我认为你在考虑离线的东西。:) 这实际上很容易做到,但棘手的部分是制作一个好的 UI 来向用户解释正在发生的事情。如果我是你,我会简单地在一个单独的线程中加载文件,当这个任务运行时,你应该在你的 GUI 中显示一个“正在加载文件...”微调器并在你的process()例程中输出静默。这将涉及一些互斥,以确保三个线程(GUI、进程和加载程序)都知道彼此在做什么。

至于制作插件的独立版本,Juce绝对是要走的路。这个可爱的框架还将处理 VST/AU 插件抽象,并允许您导出独立的应用程序。Juce 可能看起来有点贵,但如果你要使用这个插件进行商业化,那么每一分钱都是值得的。如果您不打算商业化,那么您可以只 GPL 您的代码并免费使用它。

如果您更喜欢独立插件的 DIY 路线,您可能可以与MrsWatson一起破解一些东西。(免责声明:我是 MrsWatson 的作者)。目前,MrsWatson 缺少该项目所需的一些功能,但我计划在未来添加它们,因为这是一个非常常见的用例,我想支持。

至于好的 VST 编程书籍,嗯,我不知道。=/

于 2012-12-04T08:35:08.887 回答