主要内容

multibandParametricEQ

多频带参数均衡器

描述

multibandParametricEQ系统对象™在使用指定的中心频率,增益和质量因素的每个输入通道上独立执行多频带参数均衡。您可以将最多10个频段配置系统对象。您可以添加低架和高架滤波器,以及高通(低切割)和低通(高切割)过滤器。

实现多频带参数均衡器:

  1. 创建multibandParametricEQ对象并设置其属性。

  2. 使用参数调用对象,就像它是一个函数。

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

创建

描述

mPEQ = multibandParametricEQ创建一个系统对象,MPEQ.,实现多频带参数均衡。

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

例子:mPEQ = multibandParametricEQ(“NumEQBands”、3、“频率”,[300、1200、5000])创建多频带参数均衡器System对象,MPEQ.,numeqbands.设置为3.频率属性设置为(300、1200、5000)

请注意

指定的值numeqbands.必须是所指定的行向量的长度频率QualityFactors, 和PeakGains.在创建System对象期间,您指定的第一个属性锁定该值。

创建参数

全部展开

创建参数是在创建System对象期间设置的属性,以后不能修改。如果没有显式设置创建参数值,则该属性将接受默认值。

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

numeqbands.在创建系统对象期间设置,稍后无法修改。如果未明确设置其值,则属性占用默认值。

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

数据类型:单身的|

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

EQOrder在创建系统对象期间设置,稍后无法修改。如果未明确设置其值,则属性占用默认值。

例子:mPEQ = multibandParametricEQ (EQOrder, 6)使用默认的3频段创建多频带参数均衡器,所有订单6。

数据类型:单身的|

低档过滤器开关,指定为或者真的

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

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

HasLowShelfFilter在创建系统对象期间设置,稍后无法修改。如果未明确设置其值,则属性占用默认值。

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

数据类型:逻辑

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

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

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

HasHighShelfFilter在创建系统对象期间设置,稍后无法修改。如果未明确设置其值,则属性占用默认值。

例子:mPEQ = multibandParametricEQ (HasHighShelfFilter,真的)创建一个默认的多频带参数均衡器,启用了高性能滤波。

数据类型:逻辑

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

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

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

HasLowpassFilter在创建系统对象期间设置,稍后无法修改。如果未明确设置其值,则属性占用默认值。

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

数据类型:逻辑

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

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

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

HasHighpassFilter在创建系统对象期间设置,稍后无法修改。如果未明确设置其值,则属性占用默认值。

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

数据类型:逻辑

过采样切换,指定为或者真的

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

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

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

过度采样在创建系统对象期间设置,稍后无法修改。如果未明确设置其值,则属性占用默认值。

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

数据类型:逻辑

属性

全部展开

除非另有说明,属性是nontunable,这意味着您不能在调用对象之后更改它们的值。对象在调用时锁定,而释放功能解锁它们。

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

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

多波段均衡器

以Hz为单位的均衡器频带的中心频率,指定为长度的行向量numeqbands..矢量包括0到0的真正标量SampleRate/ 2。

可调:是的

数据类型:单身的|

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

可调:是的

数据类型:单身的|

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

可调:是的

数据类型:单身的|

低架上过滤器

Hz中的低架滤波器截止值,指定为标量大于或等于0。

可调:是的

依赖关系

若要启用此属性,请设置HasLowShelfFilter真的在创造。

数据类型:单身的|

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

可调:是的

依赖关系

若要启用此属性,请设置HasLowShelfFilter真的在创造。

数据类型:单身的|

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

可调:是的

依赖关系

若要启用此属性,请设置HasLowShelfFilter真的在创造。

数据类型:单身的|

高处过滤器

Hz中的高架滤波器截止值,指定为大于或等于0的实际标量。

可调:是的

依赖关系

若要启用此属性,请设置HasHighShelfFilter真的在创造。

数据类型:单身的|

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

可调:是的

依赖关系

若要启用此属性,请设置HasHighShelfFilter真的在创造。

数据类型:单身的|

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

可调:是的

依赖关系

若要启用此属性,请设置HasHighShelfFilter真的在创造。

数据类型:单身的|

低通滤波器

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

可调:是的

依赖关系

若要启用此属性,请设置HasLowpassFilter真的在创造。

数据类型:单身的|

低通滤波器斜率在DB / Octave中,指定为范围内的真正标量(0:6:48).不倍数6的值舍入到最接近的6倍。

可调:是的

依赖关系

若要启用此属性,请设置HasLowpassFilter真的在创造。

数据类型:单身的|

高通滤波器

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

可调:是的

依赖关系

若要启用此属性,请设置HasHighpassFilter真的在创造。

数据类型:单身的|

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

可调:是的

依赖关系

若要启用此属性,请设置HasHighpassFilter真的在创造。

数据类型:单身的|

采样

输入采样率(Hz),指定为正标量。

可调:是的

数据类型:单身的|

用法

描述

例子

音频输出= MPEQ(audioIn对输入信号进行多频带参数均衡,audioIn,并返回滤波信号,音频输出.属性的算法和属性指定均衡的类型multibandParametricEQ系统对象,MPEQ.

输入参数

全部展开

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

数据类型:单身的|

输出参数

全部展开

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

数据类型:单身的|

对象的功能

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

发行版(obj)

全部展开

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

createAudioPluginClassconfigureMIDI属性的可调属性multibandParametricEQ面向用户参数的系统对象:

财产 范围 映射 单元
频率 [20000] 日志 赫兹
QualityFactors (0.2, 700) 线性 没有一个
PeakGains (-50年,20) 线性 dB
LowShelfCutoff [20000] 日志 赫兹
lowshelfslope. (0.1, 5) 线性 没有一个
LowShelfGain (-12年,12) 线性 dB
HighShelfCutoff [20000] 日志 赫兹
HighShelfSlope (0.1, 5) 线性 没有一个
HighShelfGain (-12年,12) 线性 dB
LowpassCutoff. [20000] 日志 赫兹
LowpassSlope [0, 48] 线性 dB /八度
HighpassCutoff [20000] 日志 赫兹
HighPassLope. [0, 48] 线性 dB /八度

例子

全部折叠

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

frameLength = 512;filereader = dsp.audiofilereader(......'文档名称'“RockDrums-48-stereo-11secs.mp3”......“SamplesPerFrame”, frameLength);deviceWriter = audioDeviceWriter (......“SampleRate”, fileReader.SampleRate);设置(deviceWriter (frameLength, 2))

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

mPEQ = multibandParametricEQ (......“NumEQBands”3,......'频率'(300、1200、5000),......“QualityFactors”(1, 1, 1),......“PeakGains”(-10 7),......“HasHighShelfFilter”,真的,......“HighShelfCutoff”,14000,......“HighShelfSlope”,0.3,......'Highshelfgain'5,......“SampleRate”, fileReader.SampleRate);

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

可视化(mPEQ)

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

数= 0;尽管~isDone(fileReader) originalSignal = fileReader();equalizedSignal = mPEQ (originalSignal);deviceWriter (equalizedSignal);如果mod(计数,100)== 0 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;结束

发行版(fileReader)发布(mPEQ)发布(deviceWriter)

通过指定您的multibandParametricEQ对象在均衡之前执行过采样。

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

mPEQ = multibandParametricEQ (......“NumEQBands”,1,......'频率', 9.5 e3,......“PeakGains”,10);可视化(mPEQ)

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

均衡器频带扭曲。

创建一个带均衡器过度采样设置为真的.想象均衡器带的中心频率接近奈奎斯特速率。

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

i = 1:1000 mpequalsampled.fRequencies = MPEQualsampled.fRequencies + 8;结束

减少翘曲。

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

FrameLength = 1024;filereader = dsp.audiofilereader(“RockDrums-44p1-stereo-11secs.mp3”“SamplesPerFrame”, frameLength);deviceWriter = audioDeviceWriter (“SampleRate”, fileReader.SampleRate);均衡器= multibandparametriceq(“SampleRate”,filereader.samplerate,“PeakGains”, (2, 2, 4));可视化(平衡)

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

parametertuner(均衡器)

在音频流循环中:

  1. 从文件中读取音频帧。

  2. 应用均衡。

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

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

尽管〜ISDONE(FILEREADER)AUDION = FILEREADER();AudioOut =均衡器(AudioIn);DEVICEWRITER(通风);drawnlimitrate更新参数所需的%结束

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

释放(DeviceWriter)释放(Filereader)释放(均衡器)

扩展功能

介绍了R2016a