利用树莓派实现参数化音频均衡器
这个例子展示了如何使用树莓派块库中的ALSA音频回放块,用Simulink®模型实现参数音频均衡器算法,并在树莓派硬件上运行该模型。
介绍
参数均衡器用于调整音频系统的频率响应。例如,参数均衡器可用于补偿特定扬声器在不同频率上有峰值和下降的偏差。
在本例中,您将使用Simulink模型实现一个参数音频均衡器,然后在树莓派硬件上运行该模型。本例中的参数均衡器算法提供了三个二阶(双二次)滤波器,其系数可以调整以实现所需的频率响应。在模拟中使用图形用户界面(GUI)来动态调整滤波器系数和探索行为。
下面几节将描述如何指定参数均衡器算法,如何通过仿真评估性能,以及如何在树莓派硬件上运行模型。您还将了解如何使用ALSA音频回放块来输出音频信号。
先决条件
我们建议填写树莓派硬件的Simulink支持包入门的例子。
所需的产品2022世界杯八强谁会赢?
DSP系统工具箱
所需的硬件
要运行这个例子,你需要以下硬件:
树莓派硬件
带有HDMI输入的耳机、扬声器或电视/显示器
任务1 -配置和运行参数均衡器Simulink模型
在本任务中,您将在树莓派硬件上配置和运行参数均衡器模型。
1.将一对扬声器或耳机连接到树莓派硬件上的模拟音频输出连接器。
2.打开参数音频均衡器模型。
3.去应用程序>运行在硬件板>选项….查看打开的页面上的参数。如果您执行了固件更新,板信息将自动填充主机名,用户名和密码您的树莓派硬件。如果没有执行过“固件更新”或需要修改单板参数,请输入树莓派硬件的IP地址、用户名和密码。
4.在Simulink模型中,双击Signal From Workspace块。该块输出所调用信号的样本audioSignal以每秒44100个样本的速度。的audioSignal是从波文件中读取的吗guitartune.wav在模型中InitFcn回调。要查看模型回调函数,单击文件>模型属性>模型属性,并导航到所需的回调函数模型属性GUI。
5.在Simulink模型中,双击ALSA音频回放块。注意,这个块将处理过的音频信号发送到树莓派硬件上的“默认”音频设备。您还可以输入音频设备的名称,例如'plughw:0,0',以将音频发送到'默认'音频设备以外的设备。要获得树莓派硬件上的音频播放设备列表,在MATLAB命令行中执行以下命令:
R =覆盆子;a = listAudioDevices(r,'playback')
listAudioDevices函数返回的输出是一个结构数组,包含可用音频播放设备的名称和设备号。典型的输出是:
a(1)名称:“bcm2835 - bcm2835 ALSA…”设备:“0”
a(2)名称:“bcm2835 - bcm2835 ALSA…”设备:“0 1”
a(3)名称:“USB-音频- USB PnP声音设备…”设备:“1 0”
上面的输出表明有三个带有ALSA音频设备编号的音频播放设备0,0,0 1而且1, 0.前两个设备分别对应树莓派板的模拟音频输出和HDMI输出。第三个设备是USB音频加密狗。使用回放设备0,0,输入'plughw:0,0'设备名称ALSA音频回放块的参数。
6.在硬件选项卡中的Simulink模型模式部分中,选择在船上跑然后点击监视和调优.
任务2 -改变参数均衡器的频率响应
1.由于Simulink模型在树莓派硬件上运行,您将听到连接到树莓派硬件的扬声器/耳机发出的音频。
2.将出现一个显示音频均衡器频率响应的GUI,如下图所示:
3.单击并拖动三波段均衡器GUI中的标记或线,以指定所需的滤波器响应特征。注意随着均衡器频率响应的变化,音频输出的变化。
4.按下停止按钮,以停止模型执行。
其他可以尝试的事情
调整发送到扬声器/耳机的声音的音量获得参数在'Sum左右通道和单一*子系统在Simulink模型。