转换MATLAB一个音频插件的代码
Audio Toolbox™支金宝app持开发音频处理算法的几种方法。两种常见的方法包括使用MATLAB进行过程编程®脚本和面向对象编程使用MATLAB类。音频插件类是在音频工具箱中开发音频处理算法的建议范例。看到MATLAB音频插件关于音频插件的结构、好处和使用的教程。
本教程介绍了一个作为MATLAB脚本开发的现有算法,然后介绍了将脚本转换为音频插件类的步骤。使用本教程了解过程式编程和面向对象编程之间的关系。您还可以使用本教程作为模板,将您作为MATLAB脚本开发的任何音频处理转换为音频插件范例。
检查现有的MATLAB脚本
MATLAB脚本有这些部分:
变量初始化。变量初始化为已知值,包括每帧样本的数量(
frameSize
)进行基于帧的流处理。对象建设。
两个
audioOscillator
系统对象——构造用于创建时变增益控制信号。dsp。AudioFileReader
系统对象——构造从文件中读取音频信号。audioDeviceWriter
系统对象——构造将音频信号写入默认音频设备。
音频流循环。将立体声频道混合成单声道信号。单声道信号用于创建一个新的立体声信号。新的立体声信号的每个通道在应用增益0和2之间振荡,具有各自的90度相移。
转换MATLAB脚本到插件类
本教程分六步将MATLAB脚本转换为音频插件类。首先创建一个基本音频插件类的框架,然后将MATLAB脚本的部分映射到音频插件类。
有关如何将MATLAB脚本转换为插件类的概述,请检查脚本到插件的可视化映射。要执行此转换,请浏览示例以获得解释和分步说明。
1.创建音频插件类的骨架
从音频插件类的基本框架开始。这个框架并不是创建一个有趣的音频插件所需的最低要求,但却是一个常见的最低要求。看到MATLAB音频插件为最低要求创建一个基本的音频插件。
2.将脚本变量初始化映射到插件属性
属性允许插件在插件类定义的各个部分之间存储信息。如果属性的访问权限设置为private,则插件的最终用户将无法访问该属性。脚本中的变量初始化映射到插件属性。
控件的有效插件必须允许输入
过程
方法具有可变的帧大小。中的每个输入帧都确定了帧大小过程
插件的方法。因为帧大小仅用于过程
方法时,您不必在属性部分中声明它。的有效音频插件必须允许输入
过程
方法具有可变抽样率。的重置
当环境改变采样率时,调用插件的方法。确定抽样率在重置
方法,使用getSampleRate
方法继承自audioPlugin
基类。插件使用的对象必须声明为属性,以便在插件的多个部分中使用。然而,插件的构造函数方法执行对象构造。
3.将脚本对象构造映射到插件构造函数方法
在音频插件的methods部分添加一个构造函数方法。插件的构造函数方法是这样的:
函数plugin = myPluginClassName构造插件对象的指令。结束
在本例中,您将构造正弦
而且余弦
插件的构造函数方法中的对象。
4.添加复位方法
的重置
方法,在每次使用插件启动新会话时,或当环境改变采样率时调用。使用重置
方法来更新SampleRate
您的财产正弦
而且余弦
对象。要查询抽样率,请使用getSampleRate
基类方法。
5.将脚本音频流循环映射到插件处理方法
脚本中音频流循环的内容映射到过程
音频插件的方法,有这些区别:
一个有效的音频插件必须接受可变的帧大小,因此帧大小是为每次调用
过程
方法。由于帧大小是可变的,任何依赖于帧大小的处理都必须在输入帧大小改变时更新。的输入和输出
过程
方法。
6.添加插件接口
插件界面允许用户查看插件并调整其属性。指定PluginInterface
作为一个audioPluginInterface
对象,该对象包含audioPluginParameter
对象。的第一个参数audioPluginParameter
要与可调参数同步的属性。选择显示名称,标记单位,并设置参数范围。属性的合理范围为0.1到10频率
财产。编写代码,以便在每次调用过程
方法,你正弦
而且余弦
对象将使用当前频率值更新。
一旦你的音频插件类定义完成:
保存插件类定义文件。
使用以下命令验证插件
validateAudioPlugin
.使用原型音频测试台.
Generate正在使用
generateAudioPlugin
.