主要内容

audioPluginParameter

指定音频插件参数

描述

例子

pluginParameter = audioPluginParameter (propertyName)返回一个对象,pluginParameter,同事一个音频插件参数音频插件属性指定的propertyName。使用插件参数对象,pluginParameter,作为一个参数audioPluginInterface在你的插件类定义。

在数字音频工作站(寒鸦)环境中,或在使用音频测试台上parameterTuner在MATLAB®环境、插件参数可调、面向用户的值和定义范围映射到控件。使用控制,当你修改一个参数值相关的插件属性也修改。如果插件依赖属性的音频处理算法,该算法也修改。

可视化插件之间的关系属性、参数和环境的一个插件运行时,看到的实现音频插件的参数

例子

pluginParameter = audioPluginParameter (propertyName,名称,值)指定audioPluginParameter使用一个或多个属性名称,值对参数。

例子

全部折叠

创建一个基本的音频插件类定义文件。指定一个属性,获得,一个繁殖的处理函数的输入获得

classdefmyAudioPlugin < audioPlugin属性获得= 1;结束方法函数=过程(插件)= * plugin.Gain;结束结束结束

添加一个不变的属性,PluginInterface,它被指定为一个audioPluginInterface对象。

classdefmyAudioPlugin < audioPlugin属性获得= 1;结束属性(恒)PluginInterface = audioPluginInterface;结束方法函数=过程(插件)= * plugin.Gain;结束结束结束

通过audioPluginParameteraudioPluginInterface。把插件属性,获得一个插件参数,指定的第一个参数audioPluginParameter属性名,“获得”

classdefmyAudioPlugin < audioPlugin属性获得= 1;结束属性(恒)PluginInterface = audioPluginInterface (audioPluginParameter (“获得”));结束方法函数=过程(插件)= * plugin.Gain;结束结束结束

创建一个基本的插件类定义文件。指定“DisplayName的”作为“了不起的增益”,“标签”作为“线性”,“映射”作为{20}“林”,0,

classdefmyAudioPlugin < audioPlugin属性获得= 1;结束属性(恒)PluginInterface = audioPluginInterface (audioPluginParameter (“获得”,“DisplayName的”,“了不起的增益”,“标签”,“线性”,“映射”,{“林”0 20}));结束方法函数=过程(插件)= * plugin.Gain;结束结束结束

下面的类定义使用整数参数映射定义一个属性和一个参数之间的关系。您可以使用插件从这个类来创建优化的线性增益音频信号在整数的步骤,从0到3。

classdefpluginWithIntegerMapping < audioPlugin属性获得= 1;结束属性(恒)PluginInterface = audioPluginInterface (audioPluginParameter (“获得”,“映射”,{“int”0 4}“布局”[1],“风格”,“vslider”),audioPluginGridLayout (“RowHeight”(400年,20]));结束方法函数=过程(插件)= * plugin.Gain;结束结束结束

运行该插件,将类定义保存到一个本地文件夹,然后调用音频测试台上

audioTestBench (pluginWithIntegerMapping)

下面的类定义使用电力参数映射定义一个属性和一个参数之间的关系。您可以使用插件从这个类来创建优化增益音频信号的dB。

classdefpluginWithPowerMapping < audioPlugin属性获得= 0;结束属性(恒)PluginInterface = audioPluginInterface (audioPluginParameter (“获得”,“标签”,“数据库”,“映射”,{“战俘”1/3,-140年,12},“风格”,“旋转”,“布局”[1]),audioPluginGridLayout);结束方法函数=过程(插件)dBGain = 10 ^ (plugin.Gain / 20);=在* dBGain;结束结束结束

运行该插件,将类定义保存到一个本地文件夹,然后调用音频测试台上

audioTestBench (pluginWithPowerMapping)

下面的类定义使用对数参数映射定义一个属性和一个参数之间的关系。您可以使用插件从这个类来创建优化的单波段EQ滤波器的中心频率从100年到10000年。

classdefpluginWithLogMapping < audioPlugin属性情商CenterFrequency = 1000;结束属性(恒)PluginInterface = audioPluginInterface (audioPluginParameter (“CenterFrequency”,“映射”,{“日志”、100、10000}));结束方法函数插件= pluginWithLogMapping插件。情商= multibandParametricEQ (“NumEQBands”,1“PeakGains”,20岁,“频率”,plugin.CenterFrequency);结束函数=过程(插件)= plugin.EQ(的);结束函数set.CenterFrequency(插件,val)插件。CenterFrequency = val;plugin.EQ。频率= val;结束函数重置plugin.EQ(插件)。SampleRate = getSampleRate(插件);结束结束结束

运行该插件,将类定义保存到一个本地文件夹,然后调用音频测试台上

audioTestBench (pluginWithLogMapping)

下面的类定义使用枚举参数映射定义一个属性和一个参数之间的关系。您可以使用插件从这个类来创建块或通过音频信号通过调优透传参数。

classdefpluginWithLogicalEnumMapping < audioPlugin属性透传= true;结束属性(恒)PluginInterface = audioPluginInterface (audioPluginParameter (“透传”,“映射”,{“枚举”,“块信号”,“通过”},“布局”[1],“风格”,“vtoggle”,“DisplayNameLocation”,“没有”),audioPluginGridLayout);结束方法函数=过程(插件)如果插件。通过Through out = in;其他的= 0(大小());结束结束结束结束

运行该插件,将类定义保存到本地文件夹中,然后创建一个音频I / O流循环。

首先,创建对象从文件读取和写入你的设备。

fileReader = dsp.AudioFileReader (“Engine-16-44p1-stereo-20sec.wav”);deviceWriter = audioDeviceWriter (“SampleRate”,fileReader.SampleRate);

创建一个插件对象并设置采样率采样率的文件。

透传= pluginWithLogicalEnumMapping;setSampleRate(透传,fileReader.SampleRate)

打开一个parameterTuner这样你可以切换逻辑插件的参数而流处理。

parameterTuner(转移)

当文件包含未读数据:

  1. 从文件读取一帧。

  2. 提要通过插件框架

  3. 写的音频处理设备。

而音频流运行时,切换透传参数和听的效果。

~结束(fileReader) audioIn = fileReader ();audioOut =过程(透传,audioIn);deviceWriter (audioOut);drawnowlimitrate结束

下面的类定义的枚举参数映射组成一个简单的示例属性定义的枚举类。您可以指定操作模式从这个类创建的插件通过调优模式参数。

插件类定义

classdefpluginWithEnumMapping < audioPlugin属性模式= OperatingMode.boost;结束属性(恒)PluginInterface = audioPluginInterface (audioPluginParameter (“模式”,“映射”,{“枚举”,“+ 6 dB”,“6 dB”,“沉默”,“白噪音”}));结束方法函数=过程(插件)开关(plugin.Mode)情况下OperatingMode。提高了= * 2;情况下OperatingMode。剪/ 2 =;情况下OperatingMode。米ute= 0(大小());情况下OperatingMode。噪音=兰德(大小())- 0.5;否则=在;结束结束结束结束

枚举类定义

classdefOperatingMode < int8枚举增加(0)减少(1)噪音静音(2)(3)结束结束

运行插件,插件和枚举类定义文件保存到本地文件夹中。然后调用音频测试台上plugin类。

audioTestBench (pluginWithEnumMapping)

输入参数

全部折叠

音频插件的名称属性,你想与一个参数,指定为一个字符或字符串向量。输入属性名称一样的属性部分中定义你的音频插件类。

数据类型:字符|字符串

名称-值参数

指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

例子:DisplayName’,‘得到’,‘标签’,“数据库”指定参数的显示名称“获得”和显示参数值单位的标签“数据库”

映射

全部折叠

属性之间的映射和参数范围,指定为逗号分隔组成的“映射”和一个单元阵列。

参数范围映射指定一个属性之间的映射和相关的参数范围。

细胞数组的第一个元素是一个特征向量指定的映射。有效的值“林”,“日志”,“战俘”,“int”,“枚举”。后续单元阵列的元素取决于类型的映射。有效的依赖属性的数据类型映射。

属性的数据类型 有效的映射 默认的
“林”,“日志”,“战俘”,“int” {“林”,0,1}
逻辑 “枚举” {“枚举”,“关闭”,“上”}
枚举类 “枚举” 枚举的名字
映射 描述 例子
“林”

指定一个线性与给定的最小值和最大值之间的关系。

( p r o p e r t y v 一个 l u e ) = 最小值 + ( 马克斯 最小值 ) × ( p 一个 r 一个 e t e r v 一个 l u e )

{“林”,0,24}指定了一个线性关系,最低0和最大的24。

例子:指定参数信息

“日志”

指定一个对数与给定的最小值和最大值之间的关系,在控制位置映射到属性值的对数。最小值必须大于0。

( p r o p e r t y v 一个 l u e ) = 最小值 × ( 马克斯 / 最小值 ) ( p 一个 r 一个 e t e r v 一个 l u e )

{“日志”,1,22050年}指定一个对数关系至少1,最高22050。

例子:对数参数映射

“战俘”

指定一个与给定的指数幂律关系,最小和最大值。属性值控制位置有关的指数:

( p r o p e r t y v 一个 l u e ) = 最小值 + ( 马克斯 最小值 ) × ( p 一个 r 一个 e t e r v 一个 l u e ) 经验值

{“战俘”,1/3,-140年,12}指定了一个幂律关系指数的1/3,最低-140,最高12。

例子:电力参数映射

“int”

数字转换控制的位置和地图的范围连续整数与给定的最小值和最大值。

( p r o p e r t y v 一个 l u e ) = 地板上 ( 0.5 + 最小值 + ( 马克斯 最小值 ) × ( p 一个 r 一个 e t e r v 一个 l u e ) )

{“int”,0,3}指定了一个线性的,量化的关系至少0和最大的3。的属性值被映射为一个整数范围(0,3)。

例子:整数参数映射

“枚举”(逻辑)

可选插件显示在对话框提供特征向量。

{“枚举”、“块信号”,“透传”}指定特征向量“块信号”如果参数值“透传”如果参数值真正的

例子:枚举参数映射为逻辑属性

“枚举”(枚举类)

可选为枚举类的成员提供特征向量。

{“枚举”,“+ 6 dB”,“6 dB”,“沉默”,“白噪音”}指定特征向量“+ 6 dB”,“6 dB”,“沉默”,“白噪音”

例子:“枚举”枚举类参数映射

图形用户界面

全部折叠

网格单元的参数控制,指定为逗号分隔两人组成的“布局”和一个双元素行向量或2×2矩阵。使用一个单一细胞,细胞的指定(行、列)。跨多个细胞,指定左上角和右下角细胞(上左;低,对吧)。

例子:“布局”,[2,3]

例子:“布局”,[2,3,3,6)

依赖关系

启用这个名称-值对,通过audioPluginGridLayout对象audioPluginInterface

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

显示名称的参数,指定为逗号分隔两人组成的“DisplayName的”和一个字符或字符串向量。如果“DisplayName的”没有指定,使用相关的属性的名称。

数据类型:字符|字符串

的位置DisplayName相对于布局,指定为“左”,“正确”,“以上”,“下面”,或“没有”

  • “左”——显示名称位于左边的列布局,而且在相同的行布局

  • “正确”——显示名称位于列的右边布局,而且在相同的行布局

  • “以上”——显示名称位于上面的行布局,而且在相同的列布局

  • “下面”——显示名称位于下面的行布局,而且在相同的列布局

  • “没有”- - -DisplayName是抑制。

DisplayName的参数并不会占用相同的网格细胞的控制参数。

例子:DisplayNameLocation =“左”

依赖关系

要启用这个名称参数,通过一个audioPluginGridLayout对象audioPluginInterface

数据类型:字符|字符串

编辑框的位置相对于控制参数,指定为“左”,“正确”,“以上”,“下面”,或“没有”

  • “左”——编辑框位于左边的控制。

  • “正确”——编辑框位于右边的控制。

  • “以上”——编辑框上方的控制。

  • “下面”,下面的编辑框位于控制。

  • “没有”——编辑框抑制。

编辑框存在,这样用户可以直接输入一个数值,如果控制风格“hslider”,“vslider”,或“rotaryknob”

编辑框占据相同的网格细胞作为控制参数,指定的细胞布局

例子:EditBoxLocation =“正确”

依赖关系

要启用这个名称参数,通过一个audioPluginGridLayout对象audioPluginInterface

这个论点仅适用于如果风格“hslider”,“vslider”,或“rotaryknob”

数据类型:字符|字符串

显示标签参数值单位,指定为逗号分隔两人组成的“标签”和一个字符或字符串向量。

“标签”非数字参数的名称-值对将被忽略。

数据类型:字符|字符串

视觉控制插件参数,指定为逗号分隔两人组成的“风格”和一个字符串或字符向量:

风格 描述
“hslider”

水平滑块

“vslider”

垂直滑动条

“rotaryknob”

旋钮

“复选框”

复选框

“vrocker”

垂直摇臂开关

“vtoggle”

垂直切换开关

“下拉”

下拉

违约和有效的风格取决于插件参数映射和相应的属性类:

映射 属性类 默认样式 额外的有效方式

日志

战俘

int

hslider

vslider

rotaryknob

枚举

逻辑

复选框

下拉

vrocker

vtoggle

枚举

枚举值为2

vrocker

下拉

vtoggle

枚举

枚举

下拉

依赖关系

启用这个名称-值对,通过audioPluginGridLayout对象audioPluginInterface

数据类型:字符|字符串

PNG、GIF或JPG图形文件,指定为逗号分隔组成的“幻灯片”和一个字符或字符串向量。图形文件包含一个图像序列的控制。

幻灯片让你默认控制图形替换为您自己的自定义图像。幻灯片支持所有控制金宝app风格除了下拉值。连接创建的幻灯片是一个图像较小的图像称为帧。每一帧图像的控制在一个特定的位置。举个例子,一个幻灯片切换包含两个框架:一个描绘了“关闭”状态,另一个描绘“开”的状态。可以水平或垂直连接帧。假设切换帧50像素宽,100像素高。然后垂直连接产生50 - - 200像素幻灯片图像,与顶部框架用于开关“关闭”状态。横向连接生产100 - 100像素图像,左框架用于开关“关闭”状态。幻灯片为滑块和旋钮通常包含更多的帧。顶部/左侧框架对应的最小控制位置,和底部/右帧对应于最大的控制地位。 The relative control position determines which frame is displayed for a given parameter value.

依赖关系

启用这个名称-值对,通过audioPluginGridLayout对象audioPluginInterface并指定“FilmstripFrameSize”

数据类型:字符|字符串

个体大小帧在像素,薄膜带指定为逗号分隔组成的“FilmstripFrameSize”双元素行向量和一个指定的整数(宽度、高度)。

依赖关系

启用这个名称-值对,通过audioPluginGridLayout对象audioPluginInterface并指定一个“幻灯片”

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

学习如何设计一个图形用户界面,看到的为音频插件设计用户界面

更多关于

全部折叠

实现音频插件的参数

音频插件参数是可见的和可调在MATLAB和数字音频工作站(寒鸦)环境。不同的环境和相应的效果图的音频插件参数进行了概述。类定义为例描述了你如何映射到UI,明白了为音频插件设计用户界面

MATLAB环境使用音频测试台上使用音频测试台上与插件参数在MATLAB环境中一个完整的基于gui的工作流。使用音频测试台上,您可以指定音频输入和输出,分析你的插件使用时间和频域范围,连接到MIDI控制,并验证并生成你的插件。的音频测试台上荣誉你指定的图形用户界面audioPluginParameter,audioPluginGridLayout,audioPluginInterface(幻灯片除外)。

MATLAB环境使用parameterTuner使用parameterTuner与插件参数在MATLAB环境中进行交互而开发、分析、或使用你的插件在程序化的工作流程。的parameterTuner荣誉你指定的图形用户界面audioPluginParameter,audioPluginGridLayout,audioPluginInterface(幻灯片除外)。

寒鸦环境。使用generateAudioPlugin部署您的音频插件寒鸦环境。寒鸦环境决定了插件的具体布局参数在插件的用户。

版本历史

介绍了R2016a