将 VST 音频效果/插件应用于音频文件

Posted

技术标签:

【中文标题】将 VST 音频效果/插件应用于音频文件【英文标题】:Apply VST audio effect/plugin to audio-file 【发布时间】:2010-12-01 16:06:17 【问题描述】:

这是我在这里偷偷摸摸了一段时间后的第一个问题。所以放过我吧。

我需要通过 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,所以这也不起作用。

【问题讨论】:

【参考方案1】:

我是 MissWatson 的作者,正如您可能在网页上注意到的那样,很遗憾,我被要求关闭源代码,所以我真的不能向您询问更多诊断信息,因为我不会如果那里有错误,则可以修补 MissWatson。但是,我建议使用 -verbose 开关运行 MissWatson,如果终端泛滥,可能会将该输出记录到文件中。您可能会在该输出中找到有助于诊断问题的内容。

无论如何,至于 VST 主机中的错误,我感觉您正在将应用程序编译为 64 位可执行文件并尝试加载 32 位插件。由于几乎没有任何 VST/AU 插件(还有音序器,就此而言)已经飞跃到 64 位,因此您最好将您的应用程序编译为 32 位 x86 二进制文件。

默认情况下,Xcode 中的“调试”配置仅针对您机器的本机架构构建您的应用程序,以节省编译时间。我建议您在项目的构建设置中禁用此功能,并始终使用您计划随附的架构进行构建。这将防止像您在上面看到的那样奇怪的跨架构类型的错误。

编辑:我已经启动了一个新的命令行 VST 主机来替换名为 MrsWatson 的 MissWatson。您应该尝试改用此工具。

【讨论】:

为了清楚起见,您可以考虑用指向 MrsWatson 的指针替换这个答案。一个非常有用的工具,谢谢!【参考方案2】:

也许你可以移植这个开源vst主机的源代码来匹配你的平台?

http://www.hermannseib.com/english/vsthost.htm

向下滚动到页面底部。

希望对你有帮助。

【讨论】:

以上是关于将 VST 音频效果/插件应用于音频文件的主要内容,如果未能解决你的问题,请参考以下文章

VST 插件可以将传入的音频保存到外部 wav 文件(与 DAW 分开)吗?

au里的vst插件怎么添加

我将如何以编程方式与 VST(i) 插件交互以合成音频?

使用 VST 插件失真的音频

VST 音频插件如何检测来自 VST 主机的流中断?

为 OS X 和 Windows 创建既是音频单元又是 VST 的音频插件 UI 的“最佳”方法是啥?