将Echo添加到Arduino硬件的SD卡中的音频文件中
本示例展示如何使用Simulink®支持包for Arduino®硬件中的SD卡文件读取块向音频文件读取添加回声。在部署时,Simulink模型从SD卡读取音频,为音频添加回声效果,然后通过连接到硬件模拟输出引脚的耳机播放带有回声的音频。
所需的硬件
Arduino MKR Zero或任何其他支持的Arduino硬件
3.5mm音频插孔耳机(推荐)
USB电缆
先决条件
配置Arduino网络使用安装Arduino硬件支持.
Simulink模型说明
为了演示如何向音频信号添加回声效果,本示例使用Simulink模型arduino_echo.
该模型根据每个区域的块的功能分为三个区域:
音频源帧提取
回波算法
回声输出
open_system (“arduino_echo”)
音频源帧提取:该子系统从sampleAudio_8kHz_8bit.wav
文件存储在SD卡使用读取SD卡文件块。音频文件设置为在音频播放结束后重复播放。在音频信号中引入0.5秒的初始延迟。然后将延迟的音频添加回原始信号以产生回声效果。
回波算法:将延迟和衰减的音频信号添加到原始信号中,使模拟输出饱和。该子系统在饱和限制内对输出进行归一化,然后将归一化音频的速率降低到1个样本。
回声输出:模拟输出块接收归一化音频,然后通过连接硬件的DAC0引脚的耳机播放回显音频。
步骤1:连接Arduino硬件实现Echo Effect
在开始本示例之前,我们建议您完成Arduino硬件入门的例子。
1.将USB线的微端连接到Arduino MKR Zero板上,将USB线的常规端连接到计算机上。等待硬件上的PWR指示灯开始闪烁。
2.如图所示,将耳机连接到TRRS breakout shield上。
a.左右通道分别位于TRRS breakout的TIP和RING1上。这些通道连接到硬件的DAC0引脚。
b.接地在TRRS爆发的RING2上。接地端连接到硬件的GND引脚。
第二步:复制音频文件到SD卡
1.将SD卡插入计算机。
2.将SD卡格式化为文件分配表32 (FAT32)格式。此步骤是必需的,以便示例生成所需的输出。
3.在MATLAB®命令窗口中,执行哪一个
命令。属性的位置sampleAudio_8kHz_8bit.wav
在你的电脑里存档。复制sampleAudio_8kHz_8bit.wav
然后将其粘贴到SD卡的根目录。
这sampleAudio_8kHz_8bit.wav
4.将SD卡插入Arduino MKR Zero板。如果您使用的单板没有内置插槽,请使用SD卡护罩。
步骤3:配置Arduino Echo Simulink模型
1.打开arduino_echo模型。
2.在音频源帧智能提取子系统中,SD卡文件读取块被配置为从sampleAudio_8kHz_8bit.wav
文件。如果要使用已保存在SD卡上的任何其他文件,请在文件名称参数,并在块参数对话框中指定音频文件的属性。
3.在建模选项卡上,选择模型设置.
4.选择硬件实现窗格。从硬件板列表中,选择您正在使用的Arduino板类型。
5.从SPI属性下目标硬件资源,设置SD卡SPI SS引脚到SD卡护罩用于与连接的SD卡进行SPI通信的从选择(SS)引脚。如果您使用的是Arduino MKR Zero板,请不要进行任何修改。由于MKR Zero板有一个内置的SD卡插槽,支持包自动填充SD卡SPI SS引脚参数。
6.点击应用.点击好吧关闭对话框。
步骤4:在Arduino硬件上部署Simulink模型
在硬件选项卡中的Simulink模型模式部分中,选择在船上跑然后点击构建、部署和启动.该操作将在Arduino硬件上构建、下载并运行模型。您可以通过连接到硬件上的模拟输出引脚的耳机听到回声音频正在播放。即使硬件与计算机断开连接,音频也会继续运行。
另请参阅
其他可以尝试的事情
部署arduino_audio_effectsArduino硬件上的模型。该模型利用MATLAB函数块实现了音频回波、混响的添加和基音偏移算法。该型号不需要SD卡来处理音频。