转换MATLAB音频插件的代码
Audio Toolbox™支持多种音频处理算法的开发方法。两种常见的方法包括使用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部分添加一个构造函数方法。插件的构造函数方法有这样的形式:
函数插件= myPluginClassName构造插件对象的指令。结束
在本例中,您将构造正弦
而且余弦
插件的构造函数方法中的。
4.添加复位方法
的重置
方法在插件启动新会话时调用,或者当环境改变抽样率时调用。使用重置
方法来更新SampleRate
你的属性正弦
而且余弦
对象。要查询样本速率,请使用getSampleRate
基类的方法。
5.将脚本音频流循环映射到插件处理方法
脚本中音频流循环的内容映射到过程
音频插件的方法,有以下区别:
一个有效的音频插件必须接受可变的帧大小,因此帧大小是为每次调用
过程
方法。因为帧大小是可变的,当输入帧大小发生变化时,任何依赖于帧大小的处理都必须更新。的输入和输出
过程
方法。
6.添加插件接口
插件界面允许用户查看插件并调整其属性。指定PluginInterface
作为一个audioPluginInterface
对象,该对象包含audioPluginParameter
对象。第一个论证audioPluginParameter
要与可调参数同步的属性。选择显示名称,标记单元,并设置参数范围。的合理范围是0.1到10频率
财产。编写这样的代码,在每次调用过程
方法,你正弦
而且余弦
使用当前频率值更新对象。
一旦你的音频插件类定义完成:
保存插件类定义文件。
验证你的插件
validateAudioPlugin
.样机使用音频测试台上.
生成使用
generateAudioPlugin
.