2010-12-01 127 views
4

這是我在這裏舔了一段時間後的第一個問題。將VST音頻效果/插件應用到音頻文件

我需要通過CLI或C++將一些音頻文件應用於iZotope Vinyl VST效果(因此語言無關緊要),它必須在Mac或基於Unix的系統上工作。我已經研究過所有網絡,找不到任何工作解決方案。

我使用MissWatson,一個命令行實用程序嘗試,這工作,但我的結果的音頻文件都沉默了......

./MissWatson -plugin=Vinyl -input-file="/Users/Sjaq/Desktop/test.wav" -output-file="/Users/Sjaq/Downloads/MissWatson-v1.0-mac/res.wav" -parameter=1:0.6,2:0.6,11:0.4

然後我試圖通過創建一個主機應用程序中使用Steinberg VST SDK,開始來自SDK提供的vstvalidator。但是,當我嘗試加載VST我得到這個錯誤:

2010-12-01 16:57:40.774 vstvalidator[4654:903] Error loading /Library/Audio/Plug-Ins/VST/Vinyl.vst/Contents/MacOS/Vinyl: dlopen(/Library/Audio/Plug-Ins/VST/Vinyl.vst/Contents/MacOS/Vinyl, 262): no suitable image found. Did find: /Library/Audio/Plug-Ins/VST/Vinyl.vst/Contents/MacOS/Vinyl: no matching architecture in universal wrapper

而且我不知道該怎麼辦。我對C++非常陌生,並且在沒有任何問題的情況下創建了幾個應用程序,但是這一次我已經陷入了死衚衕。

我已閱讀關於pyvst,但它似乎需要一個VST的DLL,所以也沒有工作。

回答

3

我是MissWatson的作者,正如你可能在網頁上注意到的那樣,不幸的是我需要關閉代碼,所以我不能問你更多的診斷信息,因爲我不會如果它是一個錯誤,能夠修補MissWatson。但是,我會建議運行MissWatson的-verbose開關,並且可能會將輸出記錄到文件中,如果這會導致您的終端氾濫。您可能會在該輸出中找到可幫助您診斷問題的內容。

無論如何,至於你的VST主機中的錯誤,我有一種感覺,你正在編譯你的應用程序爲一個64位可執行文件並嘗試加載一個32位插件。由於幾乎沒有任何VST/AU插件(也包括音序器)已經實現了64位的飛躍,所以最好將您的應用程序編譯爲32位x86二進制文件。

默認情況下,Xcode中的「調試」配置只爲您機器的本機體系結構構建應用程序,以節省編譯過程中的時間。我建議您在項目的構建設置中將禁用此功能,並且始終使用您計劃隨附的體系結構進行構建。這將防止像上面所看到的那樣的錯誤的跨架構類型的錯誤。

編輯:我已經啓動了一個新的命令行VST主機來取代名爲MrsWatson的MissWatson。您應該嘗試使用此工具。

+0

爲了清楚起見,您可能會考慮用指向MrsWatson的指針替換此答案。一個非常有用的工具,謝謝! – 2016-06-13 20:34:22