这个例子展示了一个音频插件,旨在提高可听频谱较低部分的感知声音水平。gydF4y2Ba
小型扬声器的低频响应通常很差,这会对整体音质产生负面影响。这个例子实现了心理声学低音增强,以改善在小喇叭上播放的音频质量。gydF4y2Ba
示例基于[gydF4y2Ba1gydF4y2Ba].非线性器件通过产生谐波将信号的低频范围转移到高频范围。由于“虚音高”心理声学现象,原始信号的音高得以保留。gydF4y2Ba
该算法是使用音频插件对象实现的。gydF4y2Ba
下图展示了在[gydF4y2Ba1gydF4y2Ba].gydF4y2Ba
1.输入的立体声信号被分割成低通和高通组件使用交叉滤波器。滤波器的交叉频率等于扬声器的截止频率(在本例中设置为60hz)。gydF4y2Ba
2.高通滤波组件,gydF4y2Ba ,分为左右通道:gydF4y2Ba 和gydF4y2Ba ,分别。gydF4y2Ba
3.低通滤波器组件,gydF4y2Ba ,转化为单声道,gydF4y2Ba ,通过逐个元素添加左右通道。gydF4y2Ba
4.gydF4y2Ba 通过全波积分器。全波积分器移位gydF4y2Ba 更高的谐波。gydF4y2Ba
为输入信号,gydF4y2Ba
为输出信号gydF4y2Ba
为时间指标gydF4y2Ba
5.gydF4y2Ba 通过一个带通滤波器,其截止频率设置为扬声器的截止频率。滤波器的上截止频率可以调整以微调输出音质。gydF4y2Ba
6.gydF4y2Ba ,带通滤波信号,通过可调谐增益,gydF4y2Ba .gydF4y2Ba
7.gydF4y2Ba 添加到左右高通通道。gydF4y2Ba
8.左右通道被连接成一个矩阵并输出。gydF4y2Ba
虽然结果输出的立体声信号不包含低频元素,但由于产生的谐波,输入的低音被保留了下来。gydF4y2Ba
audiopluginexample。BassEnhancergydF4y2Ba是一个音频插件对象,实现心理声学低音增强算法。插件参数是带通滤波器的上截止频率,以及应用在带通滤波器输出端的增益(上图中的G)。您可以将对象合并到一个MATLAB仿真,或使用它来生成一个音频插件使用gydF4y2BagenerateAudioPlugingydF4y2Ba
.gydF4y2Ba
您可以打开一个测试工作台gydF4y2Baaudiopluginexample。BassEnhancergydF4y2Ba
使用gydF4y2Ba音频测试台上gydF4y2Ba.测试台提供了一个图形用户界面,以帮助您测试您的音频插件在MATLAB。您可以在测试台执行时调整插件参数。你也可以打开gydF4y2BatimescopegydF4y2Ba
和一个gydF4y2Badsp。简介gydF4y2Ba
分别在时域和频域内查看和比较输入和输出信号。gydF4y2Ba
bassEnhancer = audiopluginexample.BassEnhancer;audioTestBench (bassEnhancer)gydF4y2Ba
你也可以用gydF4y2Baaudiopluginexample。BassEnhancergydF4y2Ba
就像使用其他MATLAB对象一样。您可以使用gydF4y2BaconfigureMIDIgydF4y2Ba
以启用使用MIDI设备调优对象。这是特别有用的,如果对象是流的MATLAB仿真的一部分,其中命令窗口不是空闲的。gydF4y2Ba
HelperBassEnhancerSimgydF4y2Ba
是一个简单的函数,可用于执行低音增强作为一个较大的MATLAB仿真的一部分。函数实例化一个gydF4y2Baaudiopluginexample。BassEnhancergydF4y2Ba
插件,并使用gydF4y2BasetSampleRategydF4y2Ba
方法将其采样率设置为输入参数gydF4y2BaFsgydF4y2Ba
.插件的参数是通过将它们的值设置为输入参数来调整的gydF4y2BaFcutoffgydF4y2Ba
和gydF4y2BaGgydF4y2Ba
,分别。方法也可以从这个函数生成mex文件gydF4y2BacodegengydF4y2Ba
命令。在这种模式下,在不影响参数调优能力的情况下,性能得到了改善。gydF4y2Ba
Aarts, Ronald M, Erik Larsen和Daniel Schobben。“改进带限信号的低音感知和高频重构。”gydF4y2Ba第1届IEEE Benelux音频模型编码研讨会论文集(MPCA-2002)gydF4y2Ba, 2002年11月15日,59-71。gydF4y2Ba