音频插件MATLAB
音频插件的作用音频工具箱
音频插件是在audio Toolbox™中开发音频处理算法的建议范例。一旦设计完成,音频插件就可以验证、生成并部署到第三方数字音频工作站(DAW)。
将音频处理开发为音频插件的其他好处包括:
使用音频测试台
与MIDI设备集成
代码重用
对MATLAB中的面向对象编程(OOP)有一定的了解®环境需要优化您的音频插件范例的使用。如果您不熟悉这些概念,请参见为什么使用面向对象设计.
有关在MATLAB环境外定义的音频插件的回顾,请参见什么是daw,音频插件和MIDI控制器?
中定义音频插件MATLAB环境
在MATLAB环境中,音频插件指的是派生自audioPlugin
基类或audioPluginSource
基类。
Audio Toolbox文档使用以下术语:
一个插件是否有音频插件派生自
audioPlugin
类或audioPluginSource
类。一个基本的插件是一个音频插件,派生自
audioPlugin
类。一个基本源码插件是一个音频插件,派生自
audioPluginSource
类。
音频插件也可以继承matlab。系统
.派生的任何对象matlab。系统
称为系统对象™。源于matlab。系统
允许附加功能,包括Simulink万博1manbetx®集成。然而,操作System对象需要对MATLAB环境中的OOP有更深入的理解。
看到音频工具箱扩展术语查看继承和术语的详细可视化。
设计一个基本的插件
在本例中,您创建了一个简单的插件,然后逐渐增加复杂性。你的最后一个插件使用一个循环缓冲区来添加一个回音效果的输入音频信号。有关生成插件的其他注意事项,请参见导出MATLAB插件到DAW.
-
定义一个基本插件类。从一个简单的插件开始,它将输入复制到输出而不进行修改。
classdefmyEchoPlugin < audioPlugin方法函数Out = process(~, in) Out = in;结束结束结束
myEchoPlugin
说明了音频插件类的两个最低要求。他们必须:继承
audioPlugin
类有一个
过程
方法
的
过程
方法包含基于主帧的音频处理算法。它在音频流循环中被调用以随时间处理音频信号。的输入和输出
过程
方法有两个通道(列)。传入的输入行数(帧大小)过程
由运行它的环境决定。输出的行数必须与输入的行数相同。 -
添加插件属性。属性可以在对象中存储信息。添加一个属性,
获得
,到您的类定义。修改您的过程
方法将输入乘以指定的值获得
财产。的第一个参数
过程
方法已从~
来插件
.第一个论证过程
为音频插件对象保留。 -
添加一个插件参数。插件参数是插件属性和插件用户之间的接口。该接口的定义由
audioPluginInterface
,它成立audioPluginParameter
对象。要将插件属性与形参关联,请指定的第一个实参audioPluginParameter
作为与您想关联的属性完全相同的字符向量输入。的其余论点audioPluginParameter
指定可选的附加参数属性。在本例中,您指定了参数值与其关联属性之间的映射,以及在插件对话框中显示参数时的参数显示名称。通过指定
“映射”
作为{“林”,0,3}
的线性映射获得
属性和相关的面向用户的参数,该属性的允许范围在0到3之间。 -
添加私有属性。添加属性来存储循环缓冲区、缓冲区索引和响应的n样本延迟。因为插件用户不需要看到它们,使
CircularBuffer
,BufferIndex
,NSamples
私有属性。最好的做法是将属性初始化为它们的类型和大小。 -
添加Echo。在
过程
方法,向循环缓冲区写入和从循环缓冲区读取,以创建由输入和增益调整回声组成的输出。的第一行过程
方法将输出初始化为输入的大小。最好的做法是初始化输出,以避免在生成插件时出错。 -
使回声延迟可调。来允许用户修改
NSamples
回声的延迟,定义公共属性,延迟
,并将其与一个参数关联。使用默认值audioPluginParameter
映射,允许用户将回声延迟设置在0到1秒之间。添加一个
集
方法监听对象的更改延迟
财产。使用getSampleRate
的方法audioPlugin
基类返回环境采样率。近似一个以秒为单位的延迟作为样本的数量,NSamples
.如果插件用户修改了延迟
财产,集。延迟
,样本中的延迟(NSamples
)是经过计算的。如果环境采样率高于192,000 Hz,则插件不能按预期执行。 -
添加复位功能。的
重置
方法包含在两次使用之间或当环境采样率改变时重置插件的指令。因为NSamples
取决于环境采样率,更新其值重置
方法。
设计一个系统对象插件
你可以将基本插件映射到一个系统对象插件。注意这两种插件类型之间的区别:
系统对象插件继承自
audioPlugin
基类和matlab。系统
基类,而不仅仅是audioPlugin
基类。系统对象插件的主要音频处理方法被命名
stepImpl
,而不是过程
.系统对象的重置方法被命名
resetImpl
,而不是重置
.这两个
resetImpl
而且stepImpl
必须定义为受保护的方法。方法的备选项
集
方法。有关更多信息,请参见processTunedPropertiesImpl
.
快速入门基本插件
快速入门基本源码插件
快速启动系统对象插件
快速入门系统对象源插件
音频工具箱扩展术语
在MATLAB环境中,音频插件指的是派生自audioPlugin
基类或audioPluginSource
基类。音频插件也可以继承matlab。系统
.派生的任何对象matlab。系统
称为系统对象。源于matlab。系统
允许附加功能,包括Simulink集成。万博1manbetx然而,操作System对象需要对MATLAB环境中的OOP有更深入的理解。