Matlab开发VST插件

 2023-09-05 阅读 38 评论 0

摘要:概述 官网https://www.mathworks.com/content/dam/mathworks/tag-team/Associates/a/89235_PluginGenerationEbriefMWFormat.pdf给出一篇论文《Automatically Generating VST Plugins from MATLAB Code》介绍如何使用Matlab开发VST插件,本文就是基于该论文划重点、完成

概述

官网https://www.mathworks.com/content/dam/mathworks/tag-team/Associates/a/89235_PluginGenerationEbriefMWFormat.pdf给出一篇论文《Automatically Generating VST Plugins from MATLAB Code》介绍如何使用Matlab开发VST插件,本文就是基于该论文划重点、完成演示代码的测试,更重要的是用红色字体补充论文的遗漏点。

A

介绍

论文发表于June 4, 2016,说明Matlab早已支持,但是一直没见人使用。

传统上用C++重写算法原型代码实现VST插件,Audio System Toolbox支持从matlab代码直接生成VST插件,本论文提供3个例子展示处理音频、创建插件参数、管理内部状态和相应参数变化这些功能。

音频插件只完成处理动作,音频工作站(DAW)完成音频数据的输入/输出动作(读写音频文件)。传统Matlab代码处理流程是:读所有数据、处理所有处理、写所有数据,音频VST插件必须按帧处理。

B

例一:Stereo Wire

图片

插件必须有处理函数process,也不能修改函数名。plugin, in, and out可以重命名。

关键步骤:

编写类代码,保存文件格式仍是m文件。

代码检查命令:validateAudioPlugin stereoWire

代码编译命令:generateAudioPlugin stereoWire

图片

编译之前先安装C编译器,命令:mex -setup C++

"mex -setup -v" 检测电脑安装的C编译器,但是不能识别出比matlab版本更新的vs版本,建议安装VS旧版本或者MinGW-w64 C/C++。

支持VST插件的DAW软件有很多,例如Adobe Audition、AudioMulch、GoldWave、Max MSP、REAPER、Ardour(开源)、Audacity(开源)、LMMS(开源)。许多VST宿主机都是可用的,不过并不是所有的都支持VST 3插件。

我的测试环境是VS2017社区版+Matlab R2018b+Adobe Audition 2020。

Audition如何加载VST插件请查看参考文献。

D

例二:Stereo Width

图片

创建插件参数要使用properties,PluginInterface定义插件对话框的外观。参数默认范围是0~1,线性移动,audioPluginParameter可以通过’Mapping’属性重新设置范围,更多属性请查找Matlab帮助文档。可以添加任意数量的插件参数,本论文使用Reaper测试VST插件。

D

例三:高通滤波器

图片

图片

大部分算法都需要记录内部状态以便下一帧继续使用,或者内部保存参数的计算结果避免重复计算。

为了区分插件参数和内部参数,z,a,b没有和Fc在一起定义。通常每一个带内部变量的插件都要实现reset函数,当插件参数截止频率Fc变化时要重新计算EQ系数,因此还要实现set.Fc函数。例二Stereo Width直接使用插件参数,因此不需要实现set.Width函数。

D

参考文献

matlab教程

https://ww2.mathworks.cn/help/audio/gs/design-an-audio-plugin.html

https://www.mathworks.com/content/dam/mathworks/tag-team/Associates/a/89235_PluginGenerationEbriefMWFormat.pdf

Matlab2016及以上版本设置VS编译器:

https://blog.csdn.net/cztqwan/article/details/78902530

MATLAB如何安装配置MinGW-w64 C/C++编译器:

https://jingyan.baidu.com/article/c843ea0b414cad37921e4a62.html

matlab 生成audio vst plugin:

https://blog.csdn.net/trentczp/article/details/100727457

Audition如何添加VST插件:

https://jingyan.baidu.com/article/e3c78d647820813c4c85f5f7.html

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://808629.com/1341.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 86后生记录生活 Inc. 保留所有权利。

底部版权信息