例如,Tweakbench 的 VSTi Triforce。当在市场上的任何 VST 主机中加载它时,它允许主机向 VSTi 发送(可能是 MIDI)信号。然后,VSTi 将处理该信号并输出由 VSTi 中的 软件乐器 创建的合成音频。
例如,向 VSTi 发送 A4(我相信是 MIDI 音符)将导致它合成中央 C 上方的 A 音。它将音频数据发送回 VST 主机,然后可以通过扬声器播放或保存为 .wav 或其他音频文件格式。
假设我有 Triforce,并正在尝试使用我所选择的语言编写一个程序,该程序可以通过发送 A4 音符来与 VSTi 交互,并自动将其保存到系统上的文件中?
最终,我希望能够解析整个单轨 MIDI 文件(使用已经可用于此目的的已建立、稳定的库),并将其发送到 VSTi 来“渲染”/合成为音频文件。
如何着手进行,并且应该使用什么语言来构建核心框架?
最终,它将用于基于Ruby的项目,因此任何指向特定Ruby资源的指针也很好。
然而,我只是尝试基本理解VSTi的API如何工作。 (我意识到这个问题与首先构建VST主机的问题非常相关,尽管它只能将VST输出保存到文件中而不能播放它们,并且范围较小)
例如,向 VSTi 发送 A4(我相信是 MIDI 音符)将导致它合成中央 C 上方的 A 音。它将音频数据发送回 VST 主机,然后可以通过扬声器播放或保存为 .wav 或其他音频文件格式。
假设我有 Triforce,并正在尝试使用我所选择的语言编写一个程序,该程序可以通过发送 A4 音符来与 VSTi 交互,并自动将其保存到系统上的文件中?
最终,我希望能够解析整个单轨 MIDI 文件(使用已经可用于此目的的已建立、稳定的库),并将其发送到 VSTi 来“渲染”/合成为音频文件。
如何着手进行,并且应该使用什么语言来构建核心框架?
最终,它将用于基于Ruby的项目,因此任何指向特定Ruby资源的指针也很好。
然而,我只是尝试基本理解VSTi的API如何工作。 (我意识到这个问题与首先构建VST主机的问题非常相关,尽管它只能将VST输出保存到文件中而不能播放它们,并且范围较小)