gpt4 book ai didi

c++ - VST乐器多进多出

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:38:55 24 4
gpt4 key购买 nike

我想创建一个具有 16 个 MIDI 输入和至少 16 个音频输出的 VST 乐器。类似于 kontakt 或 halion 的做法。

有什么想法吗?

最佳答案

正如@leftaroundabout 指出的那样,您不太可能需要 16 个输入和输出,尤其是对于乐器而言。然而,拥有 16 个 MIDI 输入和 16 个音频输出对于鼓机和其他多轨乐器来说非常普遍,用户可能希望单独处理每个声音。一般来说,音频输入对整个乐器来说并不是特别有用。

也就是说,您只需像这样实例化您的插件:

MyPlugin::MyPlugin(audioMasterCallback audioMaster) : AudioEffectX(audioMaster, 0, kNumParameters) {
if(audioMaster) {
setNumInputs(0);
setNumOutputs(16);
}
// other constructor stuff ...
}

这是您的起点。然而,由于绝大多数插件都是立体声的,您还需要做很多其他工作才能让主机为您提供 16 个输出 channel (假设它支持)。您可能需要在某些时候调用 getSpeakerArrangement()setSpeakerArrangement(),并且还要覆盖 getOutputProperties()

至于 MIDI channel ,主机不应该将它们与正常对待有任何不同。您将以 VstMidiEvent 的形式收到常规 MIDI 事件,其中将包含常规 MIDI 数据(即,如果用户选择,则适用于所有 16 个 channel )。这是简单的部分——设置输出就是诀窍。

关于c++ - VST乐器多进多出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6141752/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com