这个例子向您展示了如何在Android上改变音频信号的音调™ 通过使用MATLAB®功能块和针对Android设备的Simulink®支持包实现设备。金宝app金宝app
在本例中,您将学习如何:
从连接到Android设备的麦克风获取音频。
使用MATLAB功能块移动采集音频的音调。
在Android设备的扬声器上播放处理后的音频数据。
音高变换是修改音频信号的音高以增加或减少音高的能力。例如,当一辆快车在街上从你身边经过时,车辆发出的声音的音高会随着车辆靠近你而增加,随着车辆远离你而减小。当音频源离你越近或越远时从接收器,连续信号以更小或更大的时间间隔到达接收器。此时间差导致接收器听到的音频频率发生变化。您可以通过将音频信号分成两个分量,使用不同的时间段延迟信号,来执行类似的音调移动操作,然后再将它们相加。此过程模拟根据两个信号延迟或重叠的方式增加或减少基音的效果。为确保功率水平一致,必须对分割信号的各个增益进行调制。
要运行模型,请下载并安装:
安卓设备
带内置麦克风的耳机(推荐)
传输线
在开始此示例之前,我们建议您完成以下步骤:Android设备入门实例
1.将USB电缆的micro USB端连接到Android设备,将USB电缆的常规USB端连接到计算机。
2.将一对耳机连接至设备的耳机插孔。
3.使用硬件设置屏幕上,配置Android网络。
打开音高偏移模型
根据每个区域中块的功能,将模型划分为这些区域。
这个音频捕获block从连接到Android设备的麦克风捕获实时音频。
本节包括可用于指定音频数据的音调、重叠和采样频率等参数的块。您可以调整这些参数以修改设备屏幕上的俯仰移动效果。
本节包括一个MATLAB功能块,该功能块在采集的音频数据上实现基于延迟的基音偏移算法。
该功能的输入为:
捕获:输出的音频捕获块作为N-by-2矩阵,其中N是每个音频通道的采样数。
音高:半色调中的音高偏移,范围为-12
到12
.
重叠:两个分割组件之间延迟线的重叠。值的范围为0.01
到0.5
.
Fs:音频数据的采样频率。
resetFlag:用于重置操作的变量变桨
作用在本例中,标志是0
指示功能未复位。
这个静音和通道选择器
子系统创建旁路和沉默的设备屏幕上的按钮。您可以通过单击旁路按钮您可以通过单击沉默的按钮
这个音频播放
块在设备的扬声器上播放音频。
1.上建模在toolstrip的选项卡上,选择模型设置.
2.在“配置参数”对话框中,选择硬件实现.
3.设定硬件板参数到安卓设备
. 此选择将自动填充中的参数硬件板设置使用设备的默认值。
4.从组列入目标硬件资源选择设备选项.
5.从装置列表中,选择您的Android设备。如果您的设备未列出,请单击刷新.
笔记:如果您的设备在单击后仍未列出刷新,请确保已启用USB调试设备上的选项。要启用USB调试进来AndroidHw设置
在MATLAB®命令窗口中,按照屏幕上的说明操作。
5.点击申请. 点击好啊保存您的更改。
1.在“模型”工具栏上,将模拟模式设置为典型的
.
2.上硬件选项卡中的Simuli金宝appnk模型模式节,选择在船上运行然后单击构建、部署和启动. 当支持包生成代码时,“模型”窗口的左下角显示状态。成功生成代码后,支持包将在设备上加载并运行代码。生成的应用程序开始从麦克风获取实时音频金宝app,改变所获取音频的音调,然后通过Android设备的扬声器播放处理后的音频。现在,您可以通过连接到设备的一对耳机听到音调偏移的音频。
3.在生成的应用程序中,使用滑块更改音高和重叠值,并观察音高偏移音频中的变化。
您还可以在外部模式下运行此模型,以调整模型中的音调和重叠参数值,并在模拟过程中观察输出音频特性的变化。
用任何其他性能更好的算法来代替基音偏移算法。
在模型中加入一个低通无限脉冲响应(IIR)滤波器,以提高算法的性能。