主要内容

在Arduino硬件SD卡中存储的音频文件中添加Echo

此示例显示如何将回声添加到使用Simulink®Arduino®硬件支持包中的SD卡文件读取块读取的音频文件中。部署时,Simulink模型从SD卡读取音频,向音频添加回声效果,然后通过连接到金宝app音频接口模金宝app拟输出引脚的耳机播放带有回声的音频硬件

所需的硬件

  • Arduino MKR Zero或任何其他支持的Arduin金宝appo硬件

  • 带3.5毫米音频插孔的耳机(推荐)

  • USB电缆

先决条件

配置Arduino网络使用安装Arduin金宝appo硬件支持

金宝appSimulink模型描述

为了演示如何向音频信号添加回声效果,此示例使用Simulink模型金宝apparduino_echo

该模型根据每个区域区块的功能分为三个区域:

  • 音频源帧提取

  • 回波算法

  • 回波输出

开放式系统(“arduino_echo”

音频源帧提取:此子系统从音频中读取音频采样音频_8kHz_8bit.wav使用存储在SD卡中的文件SD卡文件读取块。音频文件被设置为在音频播放完成后重复播放。音频信号中引入了0.5秒的初始延迟。然后将延迟的音频添加回原始信号以产生回声效应。

回波算法:将延迟和衰减的音频信号添加到原始信号中,使模拟输出饱和。这个子系统在饱和限制内对输出进行归一化,然后将归一化音频的速率降低到1个样本。

回波输出:模拟输出块接收规格化音频,然后通过连接到硬件DAC0引脚的耳机播放回显音频。

步骤1:连接Arduino硬件实现Echo效果

在开始此示例之前,我们建议您完成以下步骤:开始使用Arduino硬件实例

1.将USB线的微端连接到Arduino MKR Zero板上,将USB线的常规端连接到计算机上。等待硬件上PWR指示灯开始闪烁。

2.如图所示,将耳机连接至TRRS分接屏蔽。

A.左右通道位于TRRS分接头的尖端和环1上。这些通道连接到硬件的DAC0引脚。

b、 接地位于TRRS分接头的环2上。接地连接到硬件的GND引脚。

步骤2:复制音频文件到SD卡

1.将SD卡插入计算机。

2.将SD卡格式化为文件分配表32(FAT32)格式。此步骤是必需的,以便示例生成所需的输出。

3.在MATLAB®命令窗口中,执行哪一个命令。该命令显示的位置采样音频_8kHz_8bit.wav在你的电脑中存档。复制采样音频_8kHz_8bit.wav将文件从其位置粘贴到SD卡的根目录。

这sampleAudio_8kHz_8bit.wav

4.将SD卡插入到Arduino MKR Zero板中。如果您使用的单板没有内置的卡槽,请使用SD卡屏蔽。

步骤3:配置Arduino Echo Simulink Mod金宝appel

1.打开arduino_echo模型。

2.在音频源帧明智提取子系统中,SD卡文件读取块被配置为从采样音频_8kHz_8bit.wav文件。如果您想使用已保存在SD卡上的任何其他文件,请在文件名参数,并在块参数对话框中指定音频文件的属性。

3.在街上建模选项卡上,选择模型设置

4.选择硬件实现窗格。从硬件板列表,选择您正在使用的Arduino板类型。

5.从SPI属性目标硬件资源,设置SD卡SPI SS引脚到SD卡屏蔽用于与连接的SD卡进行SPI通信的Slave Select (SS)引脚。如果您正在使用Arduino MKR Zero板,请不要做任何修改。由于MKR Zero板有一个内置的SD卡槽,支持包自动填充金宝appSD卡SPI SS引脚参数。

6.点击应用.点击好啊关闭对话框。

步骤4:在Arduino硬件上金宝app部署Simulink模型

硬件选项卡中的Simuli金宝appnk模型模式部分中,选择机上运行然后点击构建、部署和启动。此操作在Arduino硬件上构建、下载和运行模型。您可以通过连接到硬件上模拟输出引脚的耳机听到回声音频。即使硬件与计算机断开连接,音频仍会继续运行。

另请参阅

其他可以尝试的事情

部署arduino_audio_effectsArduino硬件上的模型。该模型利用MATLAB函数块实现了添加回声、混响和音高平移的算法。这种型号不需要SD卡来处理音频。