audioPluginParameter
指定音频插件参数
语法
pluginParameter = audioPluginParameter(属性名)
pluginParameter = audioPluginParameter(propertyName,Name,Value)
描述
pluginParameter = audioPluginParameter
返回一个对象,propertyName
)pluginParameter
指定的音频插件属性关联一个音频插件参数propertyName
.使用插件参数对象,pluginParameter
,作为一个论据audioPluginInterface
函数在插件类定义中。
在数字音频工作站(DAW)环境中,或在使用时音频测试台在MATLAB中®环境、插件参数是可调的、面向用户的变量,其定义的范围映射到控件。当您使用控件修改参数值时,关联的插件属性也会被修改。如果插件的音频处理算法依赖于属性,算法也会被修改。
要可视化插件属性、参数和运行插件的环境之间的关系,请参见音频插件参数的实现.
pluginParameter = audioPluginParameter
指定propertyName
,名称,值
)audioPluginParameter
属性使用一个或多个名称,值
对参数。
例子
关联属性与参数
创建一个基本音频插件类定义文件。指定一个属性,获得
,以及将输入乘以的处理函数获得
.
classdefmyAudioPlugin < audioPlugin属性增益= 1;结束方法函数out = process(plugin,in) out = in*plugin. gain;结束结束结束
添加一个常数属性,PluginInterface
,它被指定为audioPluginInterface
对象。
classdefmyAudioPlugin < audioPlugin属性增益= 1;结束属性(常量)PluginInterface = audioPluginInterface;结束方法函数out = process(plugin,in) out = in*plugin. gain;结束结束结束
通过audioPluginParameter
来audioPluginInterface
.要关联插件属性,获得
的第一个参数audioPluginParameter
作为属性名,“获得”
.
classdefmyAudioPlugin < audioPlugin属性增益= 1;结束属性(常量)PluginInterface = audioPluginInterface(…audioPluginParameter (“获得”));结束方法函数out = process(plugin,in) out = in*plugin. gain;结束结束结束
指定参数信息
创建一个基本插件类定义文件。指定“DisplayName的”
作为“了不起的增益”
,“标签”
作为“线性”
,“映射”
作为{20}“林”,0,
.
classdefmyAudioPlugin < audioPlugin属性增益= 1;结束属性(常量)PluginInterface = audioPluginInterface(…audioPluginParameter (“获得”,…“DisplayName的”,“了不起的增益”,…“标签”,“线性”,…“映射”, {“林”0 20}));结束方法函数out = process(plugin,in) out = in*plugin. gain;结束结束结束
整数参数映射
下面的类定义使用整型参数映射来定义属性和参数之间的关系。您可以使用从这个类创建的插件来以整数步从0到3来调整音频信号的线性增益。
classdefpluginWithIntegerMapping < audioPlugin属性增益= 1;结束属性(常量)PluginInterface = audioPluginInterface(…audioPluginParameter (“获得”,…“映射”, {“int”0 3}));结束方法函数out = process(plugin,in) out = in*plugin. gain;结束结束结束
要运行插件,请将类定义保存到本地文件夹中,然后调用音频测试台.
audioTestBench (pluginWithIntegerMapping)
电源参数映射
下面的类定义使用幂参数映射来定义属性和参数之间的关系。您可以使用从这个类创建的插件来调整以dB为单位的音频信号的增益。
classdefpluginWithPowerMapping < audioPlugin属性增益= 0;结束属性(常量)PluginInterface = audioPluginInterface(…audioPluginParameter (“获得”,…“标签”,“数据库”,…“映射”, {“战俘”, 1/3, -140, 12});结束方法函数out = process(plugin,in) dBGain = 10^(plugin. gain /20);out = in*dBGain;结束结束结束
要运行插件,请将类定义保存到本地文件夹中,然后调用音频测试台.
audioTestBench (pluginWithPowerMapping)
对数参数映射
下面的类定义使用对数参数映射来定义属性和参数之间的关系。您可以使用从该类创建的插件来调整单波段EQ滤波器的中心频率,从100到10000。
classdefpluginWithLogMapping < audioPlugin属性EQ CenterFrequency = 1000;结束属性(常量)PluginInterface = audioPluginInterface(…audioPluginParameter (“CenterFrequency”,…“映射”, {“日志”、100、10000}));结束方法函数plugin = pluginWithLogMapping插件。EQ = multibandParametricEQ(“NumEQBands”, 1…“PeakGains”, 20岁,…“频率”, plugin.CenterFrequency);结束函数out = process(plugin,in) out = plugin. eq (in);结束函数set.CenterFrequency(插件,val)插件。CenterFrequency = val;plugin.EQ.Frequencies = val;结束函数reset(plugin) plugin. eq . samplerate = getSampleRate(plugin);结束结束结束
要运行插件,请将类定义保存到本地文件夹中,然后调用音频测试台.
audioTestBench (pluginWithLogMapping)
逻辑属性参数映射的枚举
下面的类定义使用枚举参数映射来定义属性和参数之间的关系。您可以使用从这个类创建的插件来阻止或通过音频信号透传
参数。
classdefpluginWithLogicalEnumMapping < audioPlugin属性PassThrough = true;结束属性(常量)PluginInterface = audioPluginInterface(…audioPluginParameter (“透传”,…“映射”, {“枚举”,“块信号”,“通过”}));结束方法函数Out =进程(插件,in)如果插件。通过Through out = in;其他的Out = 0 (size(in));结束结束结束结束
要运行插件,请将类定义保存到本地文件夹中,然后调用音频测试台.
audioTestBench (pluginWithLogicalEnumMapping)
'enum'用于枚举类参数映射
下面的类定义包含枚举类定义的属性的枚举参数映射的简单示例。方法来指定从该类创建的插件的操作模式模式
参数。
插件类定义
classdefpluginWithEnumMapping < audioPlugin属性Mode = operationmode .boost;结束属性(常量)PluginInterface = audioPluginInterface(…audioPluginParameter (“模式”,…“映射”, {“枚举”,“+ 6 dB”,“6 dB”,“沉默”,“白噪音”}));结束方法函数Out =进程(插件,in)开关(plugin.Mode)情况下OperatingMode。Boost out = in * 2;情况下OperatingMode。Cut out = in / 2;情况下OperatingMode。米uteOut = 0 (size(in));情况下OperatingMode。Noise out = rand(size(in)) - 0.5;否则Out = in;结束结束结束结束
枚举类定义
classdefOperatingMode < int8枚举升压(0)切断(1)静音(2)噪声(3)结束结束
要运行插件,请将插件和枚举类定义文件保存到本地文件夹中。然后打电话给音频测试台在插件类上。
audioTestBench (pluginWithEnumMapping)
输入参数
propertyName
- - - - - -音频插件属性的名称
特征向量
要与参数关联的音频插件属性的名称,指定为字符向量。输入属性名称,与在音频插件类的属性部分中定义的完全相同。
名称-值对参数
指定可选的逗号分隔对名称,值
参数。名字
是参数名和吗价值
是对应的值。名字
必须出现在单引号内(' '
)。可以以任意顺序指定多个名称和值对参数,如Name1, Value1,…,的家
.
DisplayName’,‘得到’,‘标签’,“数据库”
将参数的显示名称指定为“获得”
而参数值的显示标签单位为“数据库”
.
“DisplayName的”
- - - - - -参数显示名称
关联属性名称(默认)|特征向量
参数的显示名称,指定为由“DisplayName的”
还有一个字符向量。如果“DisplayName的”
未指定,则使用关联属性的名称。
参数的显示名称在数字音频工作站(DAW)环境中使用音频测试台在MATLAB环境下。
“标签”
- - - - - -显示参数值单位的标签
' '(默认)|特征向量
显示参数值单位的标签,指定为由逗号分隔的对“标签”
还有一个字符向量。
参数值单位的显示标签用于数字音频工作站(DAW)环境,并在使用时使用音频测试台在MATLAB环境下。
的“标签”
非数值参数忽略名称-值对。
“映射”
- - - - - -属性和参数范围之间的映射
单元阵列
属性和参数范围之间的映射,指定为由逗号分隔的对“映射”
还有一个单元格数组。
参数范围映射指定属性和相关参数范围之间的映射。
cell数组的第一个元素是指定映射类型的字符向量。有效值为“林”
,“日志”
,“战俘”
,“int”
,“枚举”
.单元格数组的后续元素取决于映射的类型。有效的映射取决于属性数据类型。
属性数据类型 | 有效的映射 | 默认的 |
---|---|---|
双 | “林” ,“日志” ,“战俘” ,“int” |
{“林” ,0 ,1 } |
逻辑 | “枚举” |
{“枚举” ,“关闭” ,“上” } |
枚举类 | “枚举” |
枚举的名字 |
映射 | 描述 | 例子 |
---|---|---|
“林” |
指定与给定最小值和最大值的线性关系。
|
{ 简单的例子:指定参数信息 |
“日志” |
指定给定最小值和最大值的对数关系,其中控件位置映射到属性值的对数。最小值必须大于
|
{ 简单的例子:对数参数映射 |
“战俘” |
指定与给定指数、最小值和最大值的幂律关系。属性值与提升到指数的控件位置相关:
|
{ 简单的例子:电源参数映射 |
“int” |
量化控制位置并将其映射到具有给定最小值和最大值的连续整数范围。
|
{ 简单的例子:整数参数映射 |
|
可选地提供用于在插件对话框上显示的字符向量。 |
简单的例子:逻辑属性参数映射的枚举 |
|
可选地为枚举类的成员提供字符向量。 | { 简单的例子:'enum'用于枚举类参数映射 |
有关音频插件参数映射的重要示例,请参见音频插件示例库.
更多关于
音频插件参数的实现
音频插件参数在MATLAB和数字音频工作站(DAW)环境中都是可见和可调的。
MATLAB环境。使用音频测试台在MATLAB环境中与插件参数交互。
寒鸦环境。使用generateAudioPlugin
将音频插件部署到DAW环境。DAW环境确定插件用户看到的插件参数的确切布局。
扩展功能
C/ c++代码生成
使用MATLAB®Coder™生成C和c++代码。
另请参阅
类
功能
主题
在R2016a中引入
MATLAB命令
您点击了与此MATLAB命令对应的链接:
通过在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。万博1manbetx
你亦可选择下列网址:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家网站没有针对您所在位置的访问进行优化。