音频插件开发您的音频处理算法的建议模式音频工具箱™。一旦设计,音频插件可以验证,生成和部署到一个第三方的数字音频工作站(寒鸦)。
额外的好处发展你的音频处理音频插件包括:
快速原型使用音频测试台上
与MIDI设备集成
代码重用
一些理解面向对象编程(OOP)的MATLAB®环境是需要优化你的音频插件的使用范例。如果您不熟悉这些概念,明白了为什么使用面向对象的设计。
审查的音频插件定义在MATLAB环境中,明白了法是什么,音频插件和MIDI控制器吗?
在MATLAB环境中,一个音频插件指的是一个类派生的audioPlugin
基类或audioPluginSource
基类。
音频工具箱文档使用以下术语:
一个插件是任何音频插件来源于audioPlugin
类或audioPluginSource
类。
一个基本的插件是音频插件来源于audioPlugin
类。
一个基本来源插件是音频插件来源于audioPluginSource
类。
音频插件也可以继承matlab.System
。来自于任何对象matlab.System
被称为一个系统对象™。源于matlab.System
允许额外的功能,包括仿真软件金宝app®集成。然而,操作系统对象需要更高级的理解OOP在MATLAB环境中。
看到音频工具箱扩展术语详细的可视化的继承和术语。
在本例中,您创建一个简单的插件,然后逐渐增加的复杂性。你最后的插件使用循环缓冲区添加一个输入音频信号的回声效应。额外注意事项生成插件,看看出口一个MATLAB插件寒鸦。
定义一个基本插件类。开始用一个简单的插件,将输入复制到输出没有修改。
classdefmyEchoPlugin < audioPlugin方法函数=过程(~)=;结束结束结束
myEchoPlugin
说明了两个最低要求音频插件类。他们必须:
继承audioPlugin
类
有一个过程
方法
的过程
方法包含主框架音频处理算法。它被称为一个音频流循环处理音频信号。
默认情况下,输入和输出过程
方法有两个频道(列)。通过输入的行数(帧尺寸)过程
是由环境决定的。输出必须有相同数量的行作为输入。
添加一个插件属性。一个属性可以将信息存储在一个对象。添加一个属性,获得
你的类定义。修改您的过程
方法用指定的输入的值获得
财产。
的第一个参数过程
方法改变了~
来插件
。的第一个参数过程
被预留给音频插件对象。
添加一个插件参数。插件参数之间的接口插件和插件的用户属性。这个接口的定义是由audioPluginInterface
持有audioPluginParameter
对象。将插件属性关联到一个参数,指定的第一个参数audioPluginParameter
作为一个特征向量输入一样你想关联的属性。剩余的参数audioPluginParameter
指定可选的附加的参数属性。
在本例中,您指定一个参数的值之间的映射及其相关属性,以及参数的显示名称,因为它出现在一个插件对话框。通过指定“映射”
作为{“林”,0,3}
,你设置一个线性之间的映射获得
财产和面向用户的相关参数,容许范围0和3之间的财产。
添加私人属性。添加属性来存储一个圆形的缓冲,缓冲指数,n个抽样延迟你的回声。因为插件用户不需要看到他们CircularBuffer
,BufferIndex
,NSamples
私有属性。最佳实践是初始化属性的类型和大小。
添加一个呼应。在过程
方法,写入和读取您的循环缓冲区创建一个包含您的输入和一个输出gain-adjusted呼应。的第一行过程
方法初始化输出输入的大小。最佳实践来初始化您的输出是避免错误在生成插件。
使回波延迟可调。允许用户修改NSamples
延迟的呼应,定义一个公共财产,延迟
,并将它与一个参数。使用默认的audioPluginParameter
映射允许用户设置0和1之间的回波延迟秒。
添加一个集
方法监听的变化延迟
财产。使用getSampleRate
的方法audioPlugin
基类返回环境采样率。近似延迟秒中指定数量的样品,NSamples
。如果插件用户修改延迟
财产,set.Delay
和样品的延迟(NSamples
计算)。如果环境采样率高于192000赫兹,插件不执行。
添加一个复位功能。的重置
方法插件包含指令重置插件使用或环境之间采样率的变化。因为NSamples
取决于环境采样率、更新的价值重置
方法。
你可以映射系统对象的基本插件插件。注意两个插件类型之间的差异:
一个系统对象继承的插件audioPlugin
基类和matlab.System
基类,而不只是audioPlugin
基类。
主要的音频处理一个系统对象插件命名的方法stepImpl
,而不是过程
。
系统的复位方法对象命名resetImpl
,而不是重置
。
这两个resetImpl
和stepImpl
必须定义为保护方法。
系统对象启用的替代品集
方法。有关更多信息,请参见processTunedPropertiesImpl
。
在MATLAB环境中,一个音频插件指的是一个类派生的audioPlugin
基类或audioPluginSource
基类。音频插件也可以继承matlab.System
。来自于任何对象matlab.System
被称为一个系统对象。源于matlab.System
允许额外的功能,包括仿真软件集成。金宝app然而,操作系统对象需要更高级的理解OOP在MATLAB环境中。