主要内容

多波段参数测量

多波段参量均衡器

描述

多波段参数测量系统对象™使用指定的中心频率、增益和质量因子,在每个输入通道上独立地执行多频带参数均衡。系统对象最多可以配置10个波段。您可以添加low-shelf和high-shelf滤波器,以及高通(low-cut)和低通(high-cut)滤波器。

实现多频带参数均衡器:

  1. 创建多波段参数测量对象,并设置其属性。

  2. 使用参数调用对象,就像调用函数一样。

要了解更多关于System对象如何工作的信息,请参见什么是系统对象?

创造

描述

mPEQ = multibandParametricEQ创建一个System对象,mPEQ,执行多波段参数均衡。

mPEQ=多频带参数EQ(名称,值设置每个构造参数或属性名称到指定的价值. 未指定的属性和创建参数具有默认值。

例子:mPEQ=多频带参数EQ('NumEQBands',3,'Frequencies',[30012005000])创建多波段参数化均衡器系统对象,mPEQ,NumEQBands设置为3.频率属性设置为[300,1200,5000]

请注意

指定的值NumEQBands一定是行向量的长度频率品质因素,PeakGains。在创建系统对象期间,指定的第一个属性将锁定该值。

创建参数

全部展开

创建参数是在创建系统对象期间设置的属性,以后无法修改。如果未显式设置创建参数值,则该属性将采用默认值。

均衡器频带数,整数形式,取值范围为[1,10]。均衡器带的数目不包括搁置滤波器、高通滤波器或低通滤波器。

NumEQBands是在创建System对象时设置的,以后不可修改。如果未显式设置其值,则该属性将接受默认值。

例子:mPEQ = multibandParametricEQ (NumEQBands, 5)创建具有5个频带的多频带参数化均衡器。

数据类型:|双重的

单个均衡器频带的顺序,指定为偶数。所有均衡器带具有相同的顺序。

EQOrder是在创建System对象时设置的,以后不可修改。如果未显式设置其值,则该属性将接受默认值。

例子:mPEQ = multibandParametricEQ (EQOrder, 6)创建一个多频带参数均衡器,默认3频带,所有顺序6。

数据类型:|双重的

低架过滤器切换开关,指定为真正的

  • —在多频带参数均衡器实现中不启用低电平滤波。

  • 真正的–在多频带参数均衡器实现中启用低货架过滤。

HasLowShelfFilter是在创建System对象时设置的,以后不可修改。如果未显式设置其值,则该属性将接受默认值。

例子:mPEQ=多频带参数EQ('HasLowShelfFilter',真)创建一个默认的多频带参数均衡器,并启用了低档滤波。

数据类型:逻辑

高级过滤器开关,指定为真正的

  • —在多频带参数均衡器实现中不启用高阶滤波。

  • 真正的——在多频带参数均衡器实现中启用高性能滤波。

HasHighShelfFilter是在创建System对象时设置的,以后不可修改。如果未显式设置其值,则该属性将接受默认值。

例子:mPEQ = multibandParametricEQ (HasHighShelfFilter,真的)创建默认的多波段参数均衡器,并启用高货架过滤。

数据类型:逻辑

低通滤波器切换,指定为真正的

  • —在多频带参数均衡器实现中不启用低通滤波。

  • 真正的——在多频带参数均衡器实现中启用低通滤波。

HasLowpassFilter是在创建System对象时设置的,以后不可修改。如果未显式设置其值,则该属性将接受默认值。

例子:mPEQ = multibandParametricEQ (HasLowpassFilter,真的)创建启用低通滤波的默认多频带参数均衡器。

数据类型:逻辑

高通滤波器切换,指定为真正的

  • –在多频带参数均衡器实施中,不要启用高通滤波。

  • 真正的——在多频带参数均衡器实现中启用高通滤波。

HasHighpassFilter是在创建System对象时设置的,以后不可修改。如果未显式设置其值,则该属性将接受默认值。

例子:mPEQ = multibandParametricEQ (HasHighpassFilter,真的)创建启用高通滤波的默认多频带参数均衡器。

数据类型:逻辑

过采样切换,指定为真正的

  • 在输入采样率下运行多频带参数均衡器。

  • 真正的运行多频带参数均衡器在两倍的输入采样率。过采样使双线性变换引起的频率扭曲效应最小化。

    半带插值器在均衡前实现过采样。半带抽取器在均衡后将采样率降低到输入采样率。

Oversample是在创建System对象时设置的,以后不可修改。如果未显式设置其值,则该属性将接受默认值。

例子:mPEQ=多频带参数均衡(“过采样”,真)创建启用过采样的默认多频带参数均衡器。

数据类型:逻辑

性质

全部展开

除非另有说明,否则属性为不能,这意味着您在调用对象后无法更改其值。对象在调用时锁定,并且释放函数打开它们。

如果一个属性是可调,您可以随时更改它的值。

有关更改属性值的更多信息,请参见在MATLAB中使用系统对象进行系统设计

多频带均衡器

均衡器频带的中心频率,单位为Hz,指定为长度的行向量NumEQBands.这个向量由0到的实标量组成取样频率/2.

可调:

数据类型:|双重的

均衡器频带的质量因子,指定为长度的行向量NumEQBands

可调:

数据类型:|双重的

以dB为单位的峰值或峰值滤波器增益,指定为长度的行向量NumEQBands.该向量由范围[-inf, 20]的实标量组成。

可调:

数据类型:|双重的

低架过滤器

低频滤波器截止频率,指定为大于或等于0的标量。

可调:

依赖关系

要启用此属性,请设置HasLowShelfFilter真正的在创作过程中。

数据类型:|双重的

低搁板过滤器斜率系数,指定为[0.1,5]范围内的实标量。范围外的值为饱和值。

可调:

依赖关系

要启用此属性,请设置HasLowShelfFilter真正的在创作过程中。

数据类型:|双重的

低电平滤波器增益(dB),指定为[- 12,12]范围内的实标量。超出范围的值是饱和的。

可调:

依赖关系

要启用此属性,请设置HasLowShelfFilter真正的在创作过程中。

数据类型:|双重的

高架过滤器

高频滤波器截止频率,指定为大于或等于0的实标量。

可调:

依赖关系

要启用此属性,请设置HasHighShelfFilter真正的在创作过程中。

数据类型:|双重的

高架滤波器斜率系数,指定为[0.1,5]范围内的实标量。超出范围的值是饱和的。

可调:

依赖关系

要启用此属性,请设置HasHighShelfFilter真正的在创作过程中。

数据类型:|双重的

高搁板滤波器增益,单位为dB,指定为[-12,12]范围内的实标量。超出该范围的值是饱和的。

可调:

依赖关系

要启用此属性,请设置HasHighShelfFilter真正的在创作过程中。

数据类型:|双重的

低通滤波器

低通滤波器截止频率(Hz),指定为大于或等于0的实标量。

可调:

依赖关系

要启用此属性,请设置HasLowpassFilter真正的在创作过程中。

数据类型:|双重的

dB/倍频程低通滤波器斜率,指定为范围内的实标量[0:6:48].不是6的倍数的值将被舍入到最接近6的倍数。

可调:

依赖关系

要启用此属性,请设置HasLowpassFilter真正的在创作过程中。

数据类型:|双重的

高通滤波器

高频滤波器截止频率,指定为大于或等于0的实标量。

可调:

依赖关系

要启用此属性,请设置HasHighpassFilter真正的在创作过程中。

数据类型:|双重的

高通滤波器斜率,单位为dB/倍频程,指定为范围内的实标量[0:6:48].不是6的倍数的值将被舍入到最接近6的倍数。

可调:

依赖关系

要启用此属性,请设置HasHighpassFilter真正的在创作过程中。

数据类型:|双重的

抽样

以Hz为单位的输入采样率,指定为正标量。

可调:

数据类型:|双重的

使用

描述

例子

audioOut= mPEQ (音频素对输入信号执行多波段参数均衡,音频素,并返回过滤后的信号,audioOut.属性的算法和属性指定均衡的类型多波段参数测量系统对象,mPEQ

输入参数

全部展开

均衡器的音频输入,指定为矩阵。矩阵的列被视为独立的音频通道。

数据类型:|双重的

输出参数

全部展开

均衡器的音频输出,以相同大小的矩阵返回音频素

数据类型:|双重的

对象的功能

要使用对象函数,请指定System对象作为第一个输入参数。例如,释放名为system的对象的系统资源obj,请使用以下语法:

发行版(obj)

全部展开

createAudioPluginClass 创建音频插件类,实现的功能系统对象
可视化 可视化多频带参数均衡器的幅度响应
参数调谐器 在流时调优对象参数
configureMIDI 配置音频对象和MIDI控制器之间的MIDI连接
disconnectMIDI 从音频对象断开MIDI控件
getMIDIConnections 获取音频对象的MIDI连接
克隆 创建副本系统对象
isLocked 确定是否系统对象正在使用中
释放 释放资源并允许更改系统对象属性值和输入特征
重置 使内部状态复位系统对象
运行系统对象算法

createAudioPluginClassconfigureMIDI函数映射的可调属性多波段参数测量系统对象到面向用户的参数:

财产 范围 映射 单位
频率 [20000] 日志 赫兹
品质因素 (0.2, 700) 线性 没有一个
PeakGains [–50, 20] 线性 dB
LowShelfCutoff [20000] 日志 赫兹
LowShelfSlope [0.1, 5] 线性 没有一个
洛舍尔根 [–12, 12] 线性 dB
HighShelfCutoff [20000] 日志 赫兹
高边坡 [0.1, 5] 线性 没有一个
HighShelfGain [–12, 12] 线性 dB
LowpassCutoff [20000] 日志 赫兹
低通斜率 [0, 48] 线性 dB /八度
高通截止 [20000] 日志 赫兹
HighpassSlope [0, 48] 线性 dB /八度

例子

全部折叠

创建dsp。AudioFileReaderaudioDeviceWriter对象。使用读者的抽样率作为作者的抽样率。调用设置减少音频流循环中初始化的计算负载。

frameLength = 512;fileReader = dsp。AudioFileReader (...“文件名”“摇滚鼓-48-立体声-11秒mp3”...“SamplesPerFrame”,帧长);deviceWriter=音频设备编写器(...“采样器”, fileReader.SampleRate);设置(deviceWriter (frameLength, 2))

构造一个带有高架滤波器的三频带参数均衡器。

mPEQ=多频带参数EQ(...“NumEQBands”3....“频率”,[300,1200,5000],...“QualityFactors”,[1,1,1],...“PeakGains”(-10 7),...“HasHighShelfFilter”,真的,...“HighShelfCutoff”, 14000,...“HighShelfSlope”, 0.3,...“HighShelfGain”,-5,...“采样器”, fileReader.SampleRate);

可视化多频带参数均衡器的幅频响应。

可视化(mPEQ)

播放均衡的音频信号。更新均衡器频带的峰值增益,以听到均衡器的效果,并可视化变化的幅度响应。

计数=0;~isDone(fileReader)originalSignal=fileReader();均衡信号=mPEQ(原始信号);设备写入器(均衡信号);如果mPEQ.PeakGains(1) = mPEQ.PeakGains(1) - 1.5;mPEQ.PeakGains(2) = mPEQ.PeakGains(2) + 1.5;mPEQ.PeakGains(3) = mPEQ.PeakGains(3) - 1.5;结束Count = Count + 1;结束

发布(文件阅读器)发布(mPEQ)发布(deviceWriter)

通过指定您的多波段参数测量对象在均衡之前执行过采样。

创建一个单频带均衡器。想象均衡器带的中心频率接近奈奎斯特速率。

mPEQ=多频带参数EQ(...“NumEQBands”1....“频率”,9.5e3,...“PeakGains”10);可视化(mPEQ)

i = 1:1000 mPEQ。频率= mPEQ.Frequencies + 8;结束

均衡器频带弯曲。

创建一个带有Oversample设置为真正的.当均衡器频带的中心频率接近奈奎斯特速率时,将其可视化。

mPEQOversampled = multibandParametricEQ (...“NumEQBands”1....“频率”,9.5e3,...“PeakGains”10...“Oversample”,真正的);可视化(mPEQOversampled)

i = 1:1000 mpeq过采样。频率= mPEQOversampled.Frequencies + 8;结束

减少翘曲。

创建一个dsp。AudioFileReader一帧一帧地读音频。创建一个audioDeviceWriter将音频写入您的声卡。创建一个多波段参数测量来处理音频数据。调用可视化绘制均衡器的频率响应。

frameLength = 1024;fileReader = dsp。AudioFileReader (“摇滚鼓-44p1-立体声-11秒mp3”“SamplesPerFrame”,帧长);deviceWriter=音频设备编写器(“采样器”, fileReader.SampleRate);均衡器= multibandParametricEQ (“采样器”, fileReader。SampleRate,“PeakGains”,[-2,2,4]); 可视化(均衡器)

调用参数调谐器打开一个UI,在流的时候调优均衡器的参数。

parameterTuner(平衡)

在音频流循环中:

  1. 从文件中读入一帧音频。

  2. 应用均衡。

  3. 将音频帧写入音频设备以供收听。

在流媒体时,调整均衡器的参数,并听取效果。

~isDone(fileReader) audioIn = fileReader();audioOut =均衡器(audioIn);deviceWriter (audioOut);drawnow限制%需要更新参数结束

作为最佳实践,一旦完成,就释放对象。

发行版(deviceWriter)发布(fileReader)发布(平衡)

扩展能力

介绍了R2016a