以Tweakbench的VSTi Triforce为例。当加载到市场上的任何VST主机时,它允许主机向VSTi发送(推测为MIDI)信号。然后VSTi将处理该信号并输出由VSTi内的软件仪器创建的合成音频。我将如何通过编程方式与VST(i)插件合成音频?
例如,向VSTi发送一个A4(MIDI音符,我相信)会使它合成高于中间C的A音频。它将音频数据发送回VST主机,然后可以将它播放到我的扬声器或将其保存为.wav或其他音频文件格式。
比方说,我有三角力量,和我想在我的选择,可以通过在A4笔记发送带有的VSTi互动的语言来编写一个程序来进行合成,并自动将其保存到文件系统上?最终,我希望能够解析一个完整的单轨MIDI文件(使用已建立的稳定库可用于此目的),并将其发送给VSTi以“渲染”/将其合成为音频文件。
我该怎么做,并在什么语言我应该看看建立核心框架?最终,它将用在基于Ruby的项目中,所以任何指向特定Ruby资源的指针都会很好。
但是,我只是想基本上了解VSTi的API如何工作。 (我已经意识到,这个问题与首先构建VST主机的问题非常相关,尽管只能将VST输出保存并不播放,并且范围要小得多)
在此先感谢您的帮助=)
对于任何未来会发现这个问题的人来说,JUCE C++库(http://www.juce.com/)可能是构建这样一个系统的一个很好的起点;它具有用于MIDI,音频,插件托管和插件写作的类,并且经过了充分测试和广泛使用。 – btown 2013-12-14 00:06:56