这个例子展示了如何使用来自树莓派块库的ALSA音频播放块来实现一个Simulink®模型的参数音频均衡器算法,并在树莓派硬件上运行模型。金宝app
参数均衡器用于调节音频系统的频率响应。例如,一个参数均衡器可以用来补偿特定扬声器在不同频率上有峰值和下降的偏差。
在此示例中,您将使用Simulink模型实现参数音频均衡器,然后在Raspberry PI硬件上运行该模型。金宝app该示例中的参数均衡器算法提供了三个二阶(双二次)滤波器,其系数可以调整以实现所需的频率响应。图形用户界面(GUI)用于模拟以动态调整滤波器系数并探索行为。
以下部分描述了如何指定参数均衡器算法,如何通过仿真进行评估性能,以及如何在覆盆子PI硬件上运行模型。您还将了解ALSA音频播放块如何输出音频信号。
我们建议完成开始与Simulink支持包树莓派硬件金宝app金宝app的例子。
DSP System Toolbox™
要运行此示例,您将需要以下硬件:
覆盆子π硬件
耳机,扬声器或电视/显示器与HDMI输入
在此任务中,您将在Raspberry PI硬件上配置和运行参数均衡器模型。
1。将一对扬声器或耳机连接到覆盆子PI硬件上的模拟音频输出连接器。
2。打开参数音频均衡器模型。
3。去应用程序>运行在硬件板>选项….查看打开的页面上的参数。如果您执行固件更新,板信息将自动填充主机名,用户名和密码您的树莓派硬件。如果您没有执行固件更新或您需要更改单板参数,请输入IP地址,用户名和密码您的树莓派硬件。
4.在模型中,确保模拟模式在工具栏中设置为外部的.
5。在Simuli金宝appnk模型中,双击来自工作区块的信号。块输出所谓的信号的样本audioSignal以每秒44100个样本的速度。这audioSignal从wave文件中读取叫做吉他.wav.在模型中initfcn.回调。要查看模型回调,单击文件>模型属性>模型属性,并导航到所需的回调函数模型属性吉..
6。在“Simul金宝appink”模型中,双击Alsa音频播放块。请注意,此块将处理后的音频信号发送到覆盆子PI硬件上的“默认”音频设备。您还可以输入音频设备的名称,例如“plughw:0,0”,将音频发送到除“默认”音频设备之外的设备。要获取Raspberry PI硬件上的音频播放设备列表,请在MATLAB命令行上执行以下命令:
r = raspbertypi;a = listAudevices(r,'播放')
listAudioDevices函数返回的输出是一个结构数组,其中包含可用音频播放设备的名称和设备号。一个典型的输出是:
a(1) Name: ' bcm2835 - bcm2835 ALSA…'设备:“0”
a(2) Name: ' bcm2835 - bcm2835 ALSA…'设备:“0 1”
a(3) Name: ' USB- audio - USB PnP Sound Device…'设备:“1 0”
以上输出表明,有3个音频播放设备,其中有ALSA音频设备号0,0那0 1和1,0.前两个设备对应于覆盆子PI板的模拟音频输出和HDMI输出。第三个设备是USB Audio Dongle。使用播放设备0,0,输入'plughw:0,0'设备名称参数的ALSA音频播放块。
7。在模型中,单击跑步工具栏上的按钮以在Raspberry PI硬件上运行模型。
1。由于该模型在Raspberry PI硬件上运行,您将从连接到覆盆子PI硬件的扬声器/耳机中听到音频。
2。显示音频均衡器的频率响应的GUI将显示如下图所示:
3。单击并拖动三个带均衡器GUI中的标记或线路,以指定所需的滤波器响应特性。注意音频输出的变化作为均衡器的频率响应变化。
4.按下停止按钮在模型上停止模型执行。
通过调整通过调整发送给扬声器/耳机的声音的音量获得参数在'Sum左&右通道和单一*子系统在Simulink模型。金宝app
该示例显示了参数化音频均衡器的Simulin金宝appk模型。使用外部模式,均衡器设置在Raspberry PI硬件上执行的模型实时更改。