主要内容

音频插件MATLAB

音频插件的作用音频工具箱

音频插件开发您的音频处理算法的建议模式音频工具箱™。一旦设计,音频插件可以验证,生成和部署到一个第三方的数字音频工作站(寒鸦)。

额外的好处发展你的音频处理音频插件包括:

一些理解面向对象编程(OOP)的MATLAB®环境是需要优化你的音频插件的使用范例。如果您不熟悉这些概念,明白了为什么使用面向对象的设计

审查的音频插件定义在MATLAB环境中,明白了法是什么,音频插件和MIDI控制器吗?

定义音频插件中MATLAB环境

在MATLAB环境中,一个音频插件指的是一个类派生的audioPlugin基类或audioPluginSource基类。

音频工具箱文档使用以下术语:

  • 一个插件是任何音频插件来源于audioPlugin类或audioPluginSource类。

  • 一个基本的插件是音频插件来源于audioPlugin类。

  • 一个基本来源插件是音频插件来源于audioPluginSource类。

音频插件也可以继承matlab.System。来自于任何对象matlab.System被称为一个系统对象™。源于matlab.System允许额外的功能,包括仿真软件金宝app®集成。然而,操作系统对象需要更高级的理解OOP在MATLAB环境中。

看到音频工具箱扩展术语详细的可视化的继承和术语。

设计一个基本的插件

在本例中,您创建一个简单的插件,然后逐渐增加的复杂性。你最后的插件使用循环缓冲区添加一个输入音频信号的回声效应。额外注意事项生成插件,看看出口一个MATLAB插件寒鸦

  1. 定义一个基本插件类。开始用一个简单的插件,将输入复制到输出没有修改。

    classdefmyEchoPlugin < audioPlugin方法函数=过程(~)=;结束结束结束

    myEchoPlugin说明了两个最低要求音频插件类。他们必须:

    • 继承audioPlugin

    • 有一个过程方法

    过程方法包含主框架音频处理算法。它被称为一个音频流循环处理音频信号。

    默认情况下,输入和输出过程方法有两个频道(列)。通过输入的行数(帧尺寸)过程是由环境决定的。输出必须有相同数量的行作为输入。

  2. 添加一个插件属性。一个属性可以将信息存储在一个对象。添加一个属性,获得你的类定义。修改您的过程方法用指定的输入的值获得财产。

    视图代码

    的第一个参数过程方法改变了~插件。的第一个参数过程被预留给音频插件对象。

  3. 添加一个插件参数。插件参数之间的接口插件和插件的用户属性。这个接口的定义是由audioPluginInterface持有audioPluginParameter对象。将插件属性关联到一个参数,指定的第一个参数audioPluginParameter作为一个特征向量输入一样你想关联的属性。剩余的参数audioPluginParameter指定可选的附加的参数属性。

    在本例中,您指定一个参数的值之间的映射及其相关属性,以及参数的显示名称,因为它出现在一个插件对话框。通过指定“映射”作为{“林”,0,3},你设置一个线性之间的映射获得财产和面向用户的相关参数,容许范围0和3之间的财产。

    视图代码

  4. 添加私人属性。添加属性来存储一个圆形的缓冲,缓冲指数,n个抽样延迟你的回声。因为插件用户不需要看到他们CircularBuffer,BufferIndex,NSamples私有属性。最佳实践是初始化属性的类型和大小。

    视图代码

  5. 添加一个呼应。过程方法,写入和读取您的循环缓冲区创建一个包含您的输入和一个输出gain-adjusted呼应。的第一行过程方法初始化输出输入的大小。最佳实践来初始化您的输出是避免错误在生成插件。

    视图代码

  6. 使回波延迟可调。允许用户修改NSamples延迟的呼应,定义一个公共财产,延迟,并将它与一个参数。使用默认的audioPluginParameter映射允许用户设置0和1之间的回波延迟秒。

    添加一个方法监听的变化延迟财产。使用getSampleRate的方法audioPlugin基类返回环境采样率。近似延迟秒中指定数量的样品,NSamples。如果插件用户修改延迟财产,set.Delay和样品的延迟(NSamples计算)。如果环境采样率高于192000赫兹,插件不执行。

    视图代码

  7. 添加一个复位功能。重置方法插件包含指令重置插件使用或环境之间采样率的变化。因为NSamples取决于环境采样率、更新的价值重置方法。

    视图代码

设计一个系统对象插件

你可以映射系统对象的基本插件插件。注意两个插件类型之间的差异:

  • 一个系统对象继承的插件audioPlugin基类和matlab.System基类,而不只是audioPlugin基类。

  • 主要的音频处理一个系统对象插件命名的方法stepImpl,而不是过程

  • 系统的复位方法对象命名resetImpl,而不是重置

  • 这两个resetImplstepImpl必须定义为保护方法。

  • 系统对象启用的替代品方法。有关更多信息,请参见processTunedPropertiesImpl

系统对象的插件

快速启动基本插件

模板

带注释的例子

快速启动插件的基本来源

模板

带注释的例子

快速启动系统对象插件

模板

带注释的例子

快速启动插件系统对象来源

模板

带注释的例子

音频工具箱扩展术语

在MATLAB环境中,一个音频插件指的是一个类派生的audioPlugin基类或audioPluginSource基类。音频插件也可以继承matlab.System。来自于任何对象matlab.System被称为一个系统对象。源于matlab.System允许额外的功能,包括仿真软件集成。金宝app然而,操作系统对象需要更高级的理解OOP在MATLAB环境中。

相关的话题