主要内容

在Simulink中利用MATLAB函数块实现音频信号的音调变换金宝app

此示例通过使用MATLAB®功能块使用带有Simulink®支持包的Simulink®USTORPLACELST硬件,将如何将音频信号的音频信号转换在Raspberry PI™硬件上的音高。金宝app金宝app

在这个例子中,你将学习如何:

  • 从USB麦克风或连接到覆盆子PI硬件的网络摄像头麦克风获取音频。

  • 使用MATLAB函数块移位所获取音频的音调。

  • 通过覆盆子PI硬件的耳机插孔播放处理后的音频数据。

距变化

音高移动是修改音频信号的音高以增加或减少音高的能力。例如,当一辆高速汽车在街上超过你时,当汽车靠近你时,声音的音调会增加,当汽车远离你时,声音的音调会降低。当音频源离接收器更近或更远时,连续的信号以更小或更大的时间间隔到达接收器。这个时间差导致接收机听到的音频的频率发生变化。您可以执行类似的音高转换操作,将音频信号拆分为两个分量,使用不同的时间间隔延迟信号,然后将它们加到一起。这个过程模拟了根据两个信号延迟或重叠的方式增加或减少音调的效果。为了保证统一的功率水平,必须对分裂信号的单个增益进行调制。

所需的产品下载188bet金宝搏

所需的硬件

  • 树莓派硬件(推荐型号3B或3B+)

  • 音频捕获设备:USB麦克风或网络摄像头麦克风

  • 一对可以插入硬件的3.5 mm耳机插孔的耳机

  • USB电缆

  • 以太网电缆

  • 连接树莓派硬件和HDMI线的显示器(可选)

步骤1:连接树莓派硬件进行音高转换

在开始本示例之前,我们建议您完成入门Simulink支持包的树莓派硬件金宝app金宝app的例子。

1.将USB电缆的Micro-USB端连接到覆盆子PI和USB电缆的常规USB端到计算机。等到硬件上的PWR LED开始闪烁。

2.将网络摄像头或麦克风连接到硬件上的USB端口之一。请注意,一些网络摄像头绘制过多的电源,可能需要供电的USB集线器进行正常操作。

3.将一对耳机连接到硬件的3.5 mm耳机插孔。

4.使用硬件设置屏幕,配置覆盆子PI网络。

步骤二:将音频输出模式改为耳机插孔

1.在硬件终端中,执行此命令以打开硬件的软件配置工具。

苏达Raspi-Config.

2.2 .在“软件配置工具”界面,选择高级选项并按进入,然后选择声音的并按进入

3.选择3.5毫米(耳机)插孔选择并按进入

4.按好吧

第三步:打开Pitch Shift Simulink模型金宝app

打开音高转移模型。

该模型基于每个区域中的块的功能分为这些区域。

音频输入

ALSA音频捕捉块从连接到硬件的麦克风捕获实时音频。的块并指定要捕获音频数据的设备名称设备名称参数。如果您不知道设备的名称,请使用listAudioDevices函数如上所述列表可用的ALSA音频输入设备

如果您想从保存在计算机中的音频文件中捕获音频,请替换音频捕获块由一个音频文件读取块,然后指定音频文件的名称文件名称块的参数。

音高变化算法

本节包括一个MATLAB函数块,该函数块对采集的音频数据实现基于延迟的基音移算法。

功能块的输入为:

  • 捕获:输出ALSA音频捕捉块作为n-by-c矩阵,其中N每个音频通道的样本,和C是麦克风支持的通道数。金宝app

  • 音高:从-12年12.

  • 重叠:两个分割组件之间的延迟线的重叠。价值范围来自0.010.5

  • FS:音频数据的采样频率。

  • resetFlag:用于重置操作的变量函数。在本例中,标志为0.表示功能未重置。

音频输出

Alsa音频播放块将处理后的音频发送到连接到硬件的耳机。双击块并指定音频输出设备的名称设备名称参数。如果您不知道设备的名称,请使用listAudioDevices函数如上所述列表可用的ALSA音频输出设备

步骤4:配置音高移位模型模型金宝app

1.要打开模型配置参数对话框,单击Simulink模型工具栏上的齿轮图标。金宝app

2.在“配置参数”对话框中,选择硬件实现

3.设置硬件板参数到覆盆子PI..此选择会自动填充参数硬件板设置使用raspberry pi的默认值。

4.在硬件板设置窗格中,展开目标硬件资源并选择板参数.指定这些参数值:

  • 设备地址:硬件的IP地址或主机名。

  • 用户名:指定在硬件上运行的Linux系统的root用户名。raspian linux发行版的默认用户名是π

  • 密码:指定硬件上Linux系统的root密码。说明Raspian Linux发行版的默认密码为树莓

5.点击申请.点击好吧保存更改。

步骤5:在树莓派硬件上部署Pitch Shift Simuli金宝appnk模型

1.在模型工具栏上,将仿真模式设置为普通的

2.在“模型”工具栏中,单击“部署到硬件”按钮。在支持包生成代码时,模型窗口的左下角显示状态。金宝app在成功生成代码之后,支持包加载并运行硬件上的代码。金宝app可执行文件启动从音频设备获取实时音频,移动所获取的音频的音高,然后通过硬件的音频插孔播放处理的音频。您现在可以通过连接硬件的一对耳机听到音高移位音频。

您还可以在外部模式下运行该模型,以调整模型中的音调和重叠参数值,并在模拟过程中观察输出音频特性的变化。

其他可以尝试的事情

  • 用任何其他算法替换音高换档算法,这些算法对于对您的要求具有更好的性能。

  • 将低通无限脉冲响应(IIR)过滤器添加到模型以提高算法的性能。

也可以看看

使用Simulink中的MATLAB功能块将单声道音频分为5.1通道环绕声金宝app