离线处理 - 文件加载,非实时算法

时间:2012-12-03 20:02:58

标签: vst

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

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

  • VST可以实现吗? SDK提供离线处理,但DAW似乎不支持它。
  • 如果我让我的程序独立,我怎么能将它与VST主机同步?
  • 有谁知道一本好书,详细介绍?

1 个答案:

答案 0 :(得分:0)

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

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

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

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