以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