目录
1. 生成vst步骤的介绍
1.1 matlab 官网链接
- 总的介绍
包含相关的函数,以及设计/生成等详细过程说明。以下列举了几个步骤详述.
-
matlab中的类定义:基本的两种: audioPlugin audioPluginSource (system Plugin暂时不考虑)
简单流程:properties (Constant) 增加可调参数用户界面: PluginInterface properties (Access = private) :设置无需交互的参数 methods function out = process(plugin, in) / 增加操作函数 function set.Fc(plugin,Fc) /当界面的参数Fc改变时会自动调用此函数。 以及增加其他set函数和reset函数
-
Convert MATLAB Code to an Audio Plugin
将已有的脚本文件转换为plugin class。
总结步骤: Once your audio plugin class definition is complete:
1. Save your plugin class definition file.
2. Validate your plugin using validateAudioPlugin.
validateAudioPlugin myAudioPlugin
3. Prototype it using Audio Test Bench.
audioTestBench myAudioPlugin
4. Generate is using generateAudioPlugin. windows下生成dll文件。
generateAudioPlugin -juceproject audiopluginexample.Echo /生成c++代码和一个juce 项目文件的zip包,可在JUCE 5.3.2中重新编辑使用。
generateAudioPlugin -output coolEffect -outdir myPluginFolder audiopluginexample.Echo /指定生成的路径和文件名
generateAudioPlugin -win32 audiopluginexample.Echo /生成32bit的dll
1.2 aes论文
Automatically Generating VST Plugins from MATLAB Code
给出了一个高通滤波器插件的范例。几个注意点;
- 在process函数前需要单独声明那些将传入下一帧的参数。
- 除了reset和set等函数写在类定义的内部,其他运算函数都写在外部。
2. Audio Test Bench App的介绍
3. 设计vst的技巧和注意点
- plot or drawnow function 会打乱process函数内部的时序。所以,需要用到时将此函数放在process函数的尾部。
- 将对象属性保存在process中的本地变量中,比每次直接调用对象属性值要高效。
- 若生成vst前要在类中使用只能在matlab常规环境下的函数,可采用以下函数,这样生成vst阶段会忽略此段。
if coder.target('MATLAB')
...
end
4. 低音增强的范例
5. C编译器的安装
还是安装vs2017,一劳永逸
- 2021-1-8,安装了vs2019,生成插件需要使用c++编译器,而之前一直都是设置为C编译器,修改了语言后,此问题解决。可正常生成vst插件。
- 特别注意,生成hrtf相关的cpp文件时需要用到C编译器,而生成vst插件时对应为c++编译器。