录制wav文件使用Arduino

时间:2014-06-06 09:32:24

标签: audio record wav

我有点陷入困境,如何将我的arduino记录转换为.wav文件? arduino与麦克风连接,使用的是Arduino ADC。 有任何想法吗?我可以用我的电脑播放它们吗?

很多人质疑我的脑袋

1-这是否可以使用arduino Uno

2-仅使用连接到Arduino ADC的麦克风

即可

3-如果是,我怎样才能获得wav格式。

这个想法就像这样

Ardiuno麦克风 - > Uno ADC - > arduino(库制作wav声音) - >将数据存储到通过SPI连接的SD卡或(将Ra​​spberry连接为存储设备)

另一个问题是:

4-我是否需要放大器,因为麦克风的模拟输出非常弱,因此ADC无法检测到变化

在另一个日志中,我看到我应该将麦克风连接到电平转换器。模拟输出的原因是AC,因此我必须将负波形设为0(对于10它的ADC) 零点为512,正值为1024(10位ADC)。(实际上我不确定这部分)

进行一些研究我得到了这个库“https://github.com/TMRh20/TMRpcm/wiki/Advanced-Features#recording-audio”,这应该可以完成这项工作,我的意思是从模拟输入中创建一些wav文件

所以任何帮助都会受到赞赏 Thx提前,

Salah Laaroussi

2 个答案:

答案 0 :(得分:4)

是的,虽然有点复杂但很可能通过uno来实现。

要克服的最大障碍是RAM数量和时钟速度有限。您必须设置两个缓冲区才能处理写入SD卡的操作。确保卡具有足够高的写入速度,否则整个程序将暂停,因为内存不足。

apc mag有一篇很好的文章详细说明了电路和代码。

http://apcmag.com/arduino-projects-digital-audio-recorder.htm/

答案 1 :(得分:2)

你还有很多事情没有准备好:

  1. 麦克风的输出(假设您了解电子设备:仍需要偏置电路,例如电阻器+电容器)。

  2. 麦克风的输出仍然很弱(幅度为mV),Arduino无法捕捉,所以你需要一个前置放大器

  3. 前置放大器的设计还包括DC偏移,这使得麦克风的输出都高于0VDC,这在Arduino ADC的范围内,否则arduino将只捕获0VDC以上的那些。