主要内容

图形均衡

这个例子演示了使用Audio Toolbox™中的构建块构建的两种形式的图形均衡器。它还展示了如何将它们导出为VST插件,以便在数字音频工作站(DAW)中使用。

图形均衡器

均衡器通常被音频工程师和消费者用来调整音频的频率响应。例如,它们可以用来补偿扬声器引入的偏差,或者为歌曲添加低音。它们本质上是一组旨在提供自定义整体频率响应的滤波器。

一种更复杂的均衡技术被称为参数均衡。参数均衡器可以控制三个滤波器参数:中心频率、带宽和增益。音频工具箱™提供了multibandParametricEQ对象和单波段参数均衡器用于参数均衡的块。

当你想要微调频率响应时,参数均衡器是有用的,当你需要更少的控制时,有更简单的均衡器。八度、二/三八度和三分之一八度已经成为基于人耳行为的均衡器的通用带宽。iso 266:1997(E), ANSI S1.11-2004和IEC 61672-1:2013等标准定义了倍程和分数倍程滤波器的中心频率。这就只剩下一个参数需要调整:滤波器增益。图形均衡器提供对增益参数的控制,同时使用标准中心频率和公共带宽。

在本例中,将使用两种图形均衡器的实现。它们在组成滤波器的排列上有所不同:一种使用一组平行的八度频带或分数倍频带滤波器,而另一种使用双四元滤波器级联。两个实现中的中心频率都遵循ANSI S1.11-2004标准。

图形均衡器与并行滤波器

构造图形均衡器的一种方法是并行放置一组带通滤波器。每个滤波器的带宽为倍频程或分数倍频程,并设置其中心频率,使它们共同覆盖[20,20000]Hz的音频范围。

传递函数是所有分支的传递函数之和。

在模拟运行时,您可以调整增益以提高或降低相应的频带。由于增益与滤波器设计无关,因此调整增益不会有很大的计算成本。并行滤波器结构非常适合于并行硬件实现。带通滤波器的幅值响应应在其带宽以外的所有其他频率上接近于零,以避免滤波器之间的相互作用。然而,这是不实际的,导致带间干扰。

你可以使用graphicEQ系统对象,实现具有并行结构的图形均衡器。

eq = graphicEQ()“结构”“平行”
eq = graphicEQ with properties: EQOrder: 2带宽:'1 ocave '结构:'Parallel'增益:[0 00 00 00 00 00 00 00]SampleRate: 44100

本文设计了一种1倍频宽二阶滤波器的并行实现。需要十个倍频滤波器才能覆盖可听到的频率范围。的每个元素收益属性控制并联配置的一个支路的增益。

配置您创建的对象以增强低频和高频,类似于a岩石预设。

eq.Gains = [4, 4.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 ocave ' Structure: 'Parallel'增益:[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* 1 (1,10);可视化(parallelGraphicEQ_10dB)

请注意,在频率响应中,增益绝不是10 dB。级联结构可以在一定程度上缓解这种情况,因为增益是滤波器设计中固有的。将所有级联双极的增益设置为0 dB会导致它们被绕过。由于在这种类型的结构中没有分支,这意味着在输入和输出之间有一个无增益路径。graphicEQ默认情况下实现级联结构。

cascadeGraphicEQ = graphicEQ;可视化(cascadeGraphicEQ)

此外,当您将增益设置为10 dB时,请注意所得到的频率响应在中心频率处具有接近10 dB的增益。

cascadeGraphicEQ_10dB = graphicEQ;cascadeGraphicEQ_10dB。收益= 10*ones(1,10); visualize(cascadeGraphicEQ_10dB)

级联设计的缺点是,当相应的增益发生变化时,需要重新设计双级级的系数。这对于并行实现来说是不需要的,因为增益只是每个并行分支的乘数。带通滤波器的并联也避免了级联中积累的相位误差和量化噪声。

分数倍频宽

graphicEQ对象支持金宝app1倍频程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。带宽=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命令。例如,您可以通过下面所示的命令生成一个三分之二八度的图形均衡器。运行这些命令时,您需要处于具有写权限的目录中。

twoThirdOctaveGraphicEQ = graphicEQ;twoThirdOctaveGraphicEQ。带宽='2/3 octave'; createAudioPluginClass(twoThirdOctaveGraphicEQ); generateAudioPlugin twoThirdOctaveGraphicEQPlugin

图形均衡在Simulink金宝app

您可以在Simulink中使用本示例中描述的相同功能金宝app图形情商块。它为每个增益值提供了一个滑块,因此您可以在模拟运行时轻松提升或削减频段。