2014-10-29 104 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。