2014-10-29 101 views
3

我有一堆MIDI文件要用相同的Kontakt补丁渲染。 我想用命令行自动渲染这些MIDI文件,无需手动加载任何程序或手动将kontakt补丁分配到midi轨道。 我想写我自己的节目“MyProgram”和按如下方式使用它: 例如从Kontakt补丁渲染MIDI的命令行

MyProgram.exe -MIDI myMidiFile.mid -kontakt myPatch.nki -out myWav.wav, 

这会使MIDI文件与分配的具体KONTAKT修补我的Wav文件。 我没有任何平台约束,但是,由于VST上下文,Windows会是我猜的最好的。 我不知道如何实现这一点,如果有人有一个想法? 干杯

回答

1

不可能如指定,除非NI发布了我不知道的东西。

相反,可能的是通用VSTi插件状态持久性。 (见http://vstdev.richackard.com/doc/vstsdk/faq.html)。你需要的是一个命令行VST主机,它将把状态导出/导入为一个文件,所以你可以重新加载它。这很有用,因为Kontakt是一个VST插件,所以你可以通过控制Kontakt而不是VST来自动执行任何你想要的。一旦建立起来,通过一个完全自动化的命令行工具来加载和应用这个状态在概念上是可能的。这绝对可以使用SDK来实现,http://www.steinberg.net/en/company/developers.html 更多关于VST主机开发的帮助:http://teragonaudio.com/article/How-to-make-your-own-VST-host.html

我只能找到一个已经存在一个类似的工具;我不确定它是否适用于您,但我正在阅读的论坛帖子表明它支持VST保存状态。 http://teragonaudio.com/MrsWatson.html

沃森夫人是开源的,所以你可以扩展它以更好地满足你的需要,如果有必要。

+0

您提供的第一个链接似乎是设计用于传统数字音频工作站(如Cubase)的VSTi。对于我们纯粹自动生成音频的目的,使用SuperCollider或甚至是随机Python音频库(因为主要任务是根据一组规则将MIDI转换为某些音频样本)会更简单吗? – pete 2015-08-24 03:21:51

+0

不,OP想要使用Kontakt特别渲染,SuperCollider不能这样做。他需要与Kontakt接口,Kontakt实现VSTi,这就是为什么可能需要通过VST工作。我链接的SDK用于插件创作和主机创作,并且他需要一个带有持久性的命令行VST主机。然后,该工具可以将Kontakt作为VST插件加载并渲染其中的MIDI。 – VoidStar 2015-08-24 05:41:49

0

我不认为你可以直接从.nki文件做到这一点,因为这是Kontakt自己的格式,并且VST规范中没有函数可以让你加载它。

可能能够做虽然什么是负载KONTAKT成序/ DAW,加载NKI文件,然后插件状态保存到一个FXP文件,然后加载在你的应用程序。请注意,Kontakt目前不是VST3,因此您需要使用VST2.x SDK。