这个示例演示了使用Audio Toolbox™中的构建块构造的两种形式的图形均衡器。它还展示了如何将它们导出为VST插件,用于数字音频工作站(DAW)。
均衡器通常被音频工程师和用户用来调整音频的频率响应。例如,它们可以用来弥补扬声器带来的偏差,或为歌曲添加低音。它们本质上是一组滤波器,设计用来提供自定义的总体频率响应。
一种更复杂的均衡技术之一被称为参数均衡。参数均衡器提供三个过滤器参数的控制:中心频率,带宽和增益。音频工具箱™提供multibandparametriceq.
系统对象和单波段参数EQ参数均衡块。
当你想要微调频率响应时,参数均衡器是有用的,当你需要更少的控制时,有更简单的均衡器。八度、三分之二八度和三分之一八度已经成为基于人耳行为的均衡器的常见带宽。像IS0 266:1997(E)、ANSI S1.11-2004和IEC 61672-1:2013这样的标准定义了倍频和分数倍频滤波器的中心频率。这就只剩下一个参数需要调整:滤波器增益。图形均衡器在使用标准中心频率和公共带宽的同时提供对增益参数的控制。
在此示例中,您使用的是图形均衡器的两种实现。它们在组成过滤器的排列方面不同:一个使用一组并行八度或分数八度频带过滤器,另一个使用级联滤波器。两种实现中的中心频率均遵循ANSI S1.11-2004标准。
构造图形均衡器的一种方法是将一组带通滤波器并联放置。每个滤波器的带宽为倍频或分数倍频,其中心频率设置为共同覆盖[20,20000]Hz的音频频率范围。
传递函数是分支的传递函数的总和。
当仿真运行时,您可以调整增益以提升或削减相应的频带。因为增益是独立于滤波器设计的,调整增益不会有很大的计算代价。该并行滤波器结构非常适合并行硬件实现。带通滤波器的幅值响应应该在其带宽以外的所有其他频率接近于零,以避免滤波器之间的相互作用。然而,这是不实际的,导致频带间干扰。
你可以使用graphiceq.
系统对象实现具有并行结构的图形均衡器。
情商= graphicEQ (“结构”,'平行线')
eq = graphiceq具有属性:eqorder:2带宽:'1 octave'结构:'平行'收益:[0 0 0 0 0 0 0 0 0] SAMPLEDE:44100
这设计具有1个八度音频带宽的二阶滤波器的并行实现。需要十个倍频度过滤器,以涵盖可听频率的范围。每个元素收益
属性控制并行配置的一个分支的增益。
配置您创建的对象以提高低频和高频,类似于a岩石预设。
eq.gains = [4,4,2.2,4.6,2.7,-3.7,-5.2,-2.5,2.3,5.4,6.5,6.5]
eq = graphicEQ with properties: EQOrder: 2 Bandwidth: '1 octave' Structure: 'Parallel' gain: [4 4.2000 4.6000 2.7000 -3.7000 -5.2000 -2.5000 2.3000 5.4000 6.5000] SampleRate: 44100
调用可视化
查看均衡器设计的幅值响应。
可视化(eq)
您可以测试实现的均衡器graphiceq.
使用音频测试台.音频测试台设置音频文件读取器和音频设备编写器对象,并在处理循环中通过均衡器流流。它还为每个增益值分配一个滑块,并标记它对应的中心频率,因此您可以轻松更改增益并听到其效果。修改滑块的值同时更新幅度响应图。
audioTestBench (eq)
图形均衡器的不同实现使用级联均衡滤波器(峰值或凹口)作为各种滤波器实现。均衡器的传递函数可以写作各个替代的传递函数的乘积。
为了激发这个实现的有用性,首先看看当所有增益为0 dB时并行结构的幅值响应。
ParallelGraphiceQ = Graphiceq(“结构”,'平行线');可视化(parallelGraphicEQ)
你会注意到振幅响应不是平坦的。这是因为滤波器是独立设计的,每个滤波器都有一个幅度响应下降的过渡宽度。此外,由于阻带不理想,一个滤波器的阻带会漏到相邻滤波器的通带。泄漏会导致实际收益与预期收益不同。
parallelGraphicEQ_10dB = graphicEQ (“结构”,'平行线');parallelGraphicEQ_10dB。的收益= 10 * (10);可视化(parallelGraphicEQ_10dB)
请注意,频率响应中的增益永远不会为10 dB。级联结构可以在某种程度上减轻这一点,因为增益是固有的过滤器的设计。将所有级联的双层的增益设置为0 dB导致它们被绕过。由于这种类型的结构中没有分支,因此这意味着您在输入和输出之间具有无增益路径。graphiceq.
默认实现级联结构。
cascadegraphiceq = graphiceq;可视化(CascAdeGraphiceq)
此外,当您将增益设置为10 dB时,注意到合成的频率响应在中心频率处有接近10 dB的增益。
cascadegraphiceq_10db = graphiceq;cascadegraphiceq_10db.gains = 10 *那些(1,10);可视化(CascAdeGraphiceQ_10DB)
级联设计的缺点是,每当相应的增益变化时需要重新设计各级阶段的系数。并行实现不需要这是因为增益只是每个并行分支的乘数。带通滤波器的并联连接还避免了级联中发现的累积相位误差和量化噪声。
的graphiceq.
对象支持金宝app1个ockave.
,2/3倍频程
, 和1/3倍频程
带宽。减少单个滤波器的带宽可以让你更好地控制频率响应。为了验证这一点,将增益设置为升压中频,类似于a流行预设。
octaveGraphicEQ = graphicEQ;octaveGraphicEQ。收益= [-2.1,-1.8,-1.4,2.7,4.2,4.6,3.1,-1,-1.8,-1.8,-1.4]; visualize(octaveGraphicEQ)
onethirdoctavegraphiceq = graphiceq;onethirdoctaveGraphiceq.BandWidth =.'1/3八度';oneThirdOctaveGraphicEQ。收益= [-2,-1.9,-1.8,-1.6,-1.5,-1.4,0,1.2,2.7,...3.2, 3.8, 4.2, 4.4, 4.5, 4.6, 4, 3.5, 3.1, 1.5, -0.1, 1, -1.2, -1.6, -1.8, -1.8,...-1.8, -1.8, -1.7, -1.5, -1.4, -1.3);可视化(oneThirdOctaveGraphicEQ)
要生成VST插件并将其移植到数字音频工作站,请运行generateAudioPlugin
命令。例如,您可以通过下面显示的命令生成三分之二的八度高图形均衡器。运行这些命令时,您需要在具有写入权限的目录中。
TwithirdoctaveGraphiceq = Graphiceq;twithirdoctavegraphiceq.BandWidth ='2/3 Octave';Createaudioptuginclass(zhothirdoctavegraphiceq);generateaudioplugin twithirdoctavegraphiceqplugin
您可以在Simulink中使用此示例中描述的相同功能金宝app图形情商块。它为每个增益值提供了一个滑块,这样你就可以在模拟运行时轻松地提升或削减一个频带。