此示例通过使用MATLAB®功能块使用带有Simulink®支持包的Simulink®USTORPLACELST硬件,将如何将音频信号的音频信号转换在Raspberry PI™硬件上的音高。万博1manbetx万博1manbetx
在本例中,您将学习如何:
从USB麦克风或连接到覆盆子PI硬件的网络摄像头麦克风获取音频。
使用MATLAB功能块移动采集音频的音调。
通过覆盆子PI硬件的耳机插孔播放处理后的音频数据。
音高变换是修改音频信号的音高以增加或减少音高的能力。例如,当一辆快车在街上从你身边经过时,车辆发出的声音的音高会随着车辆靠近你而增加,随着车辆远离你而减小。当音频源离你越近或越远时从接收器,连续信号以更小或更大的时间间隔到达接收器。此时间差导致接收器听到的音频频率发生变化。您可以通过将音频信号分成两个分量,使用不同的时间段延迟信号,来执行类似的音调移动操作,然后再将它们相加。此过程模拟根据两个信号延迟或重叠的方式增加或减少基音的效果。为确保功率水平一致,必须对分割信号的各个增益进行调制。
虚拟网络计算(VNC)查看器(可选)
Raspberry Pi硬件(推荐型号3B或3B+)
音频捕获设备:USB麦克风或网络摄像头麦克风
一对可以插入硬件的3.5 mm耳机插孔的耳机
USB电缆
以太网电缆
连接到Raspberry Pi硬件和HDMI电缆的监视器(可选)
在开始此示例之前,我们建议您完成以下步骤:针对Raspberry Pi硬件的Simu万博1manbet万博1manbetxxlink支持包入门实例
1.将USB电缆的Micro-USB端连接到覆盆子PI和USB电缆的常规USB端到计算机。等到硬件上的PWR LED开始闪烁。
2.将网络摄像头或麦克风连接到硬件上的USB端口之一。请注意,一些网络摄像头绘制过多的电源,可能需要供电的USB集线器进行正常操作。
3.将一对耳机连接到硬件的3.5毫米耳机插孔。
4.使用硬件设置屏幕,配置覆盆子PI网络。
1.在硬件终端中,执行此命令以打开硬件的软件配置工具。
苏达Raspi-Config.
2.在软件配置工具窗口中,选择高级选项和新闻进入,然后选择声音的和新闻进入。
3.选择强制3.5毫米(“耳机”)插孔选择并按进入。
4.按好啊。
打开音高转移模型。
该模型基于每个区域中的块的功能分为这些区域。
这音频捕获block从连接到硬件的麦克风捕获实时音频。双击该块并指定要在中捕获音频数据的设备的名称设备名称参数。如果您不知道设备的名称,请使用
函数如上所述列表可用的ALSA音频输入设备。列表音频设备
如果要从保存在计算机中的音频文件捕获音频,请更换音频捕获被一块石头挡住音频文件读取块,然后指定音频文件的名称文件名块的参数。
本节包括一个MATLAB功能块,该功能块在采集的音频数据上实现基于延迟的基音偏移算法。
功能块的输入为:
捕获:输出音频捕获块作为n-by-c矩阵,其中N是每个音频通道的采样数,以及C是麦克风支持的通道数。万博1manbetx
音高:半色调中的音高偏移,范围为-12
到12.
。
重叠:两个分割组件之间的延迟线的重叠。价值范围来自0.01
到0.5
。
FS:音频数据的采样频率。
resetFlag:用于重置操作的变量漆
作用在本例中,标志是0.
表示功能未重置。
这Alsa音频播放块将处理后的音频发送到连接到硬件的耳机。双击块并指定音频输出设备的名称设备名称参数。如果您不知道设备的名称,请使用
函数如上所述列表可用的ALSA音频输出设备。列表音频设备
1.要打开“模型配置参数”对话框,请单击Simulink模型工具栏上的齿轮图标。万博1manbetx
2.在“配置参数”对话框中,选择硬件实现。
3.设置硬件板参数到覆盆子PI.
。此选择会自动填充参数硬件板设置使用raspberry pi的默认值。
4.在硬件板设置窗格,展开目标硬件资源并选择板参数。指定这些参数值:
设备地址:硬件的IP地址或主机名。
用户名:指定在硬件上运行的Linux系统的root用户名。raspian linux发行版的默认用户名是圆周率
。
密码:指定在硬件上运行的Linux系统的根密码。Raspian Linux发行版的默认密码为覆盆子
。
5.点击申请. 点击好啊保存更改。
1.在模型工具栏上,将仿真模式设置为普通的
。
2.在“模型”工具栏中,单击“部署到硬件”按钮。在支持包生成代码时,模型窗口的左下角显示状态。万博1manbetx在成功生成代码之后,支持包加载并运行硬件上的代码。万博1manbetx可执行文件启动从音频设备获取实时音频,移动所获取的音频的音高,然后通过硬件的音频插孔播放处理的音频。您现在可以通过连接硬件的一对耳机听到音高移位音频。
您还可以在外部模式下运行此模型,以调整模型中的音调和重叠参数值,并在模拟过程中观察输出音频特性的变化。
用任何其他算法替换音高换档算法,这些算法对于对您的要求具有更好的性能。
将低通无限脉冲响应(IIR)过滤器添加到模型以提高算法的性能。