在树莓派上为麦克风配置Alsa
在开始本节之前,请确保已经将麦克风插入到Raspberry Pi中。无论是通过USB声卡、HAT还是通过使用USB麦克风。
- 通过运行以下两个命令来更新操作系统。
运行这两个命令可以确保所有的东西都是最新的。
sudo apt update
sudo apt upgrade
- 在操作系统更新的情况下,先来识别一下麦克风,由Alsa驱动看到。
要查看所有可用的录音设备,需要运行以下命令。
arecord -l
3 从这个命令中,应该看到终端中出现了类似下面的东西。
你需要注意的两点是卡号和设备号。
**** List of CAPTURE Hardware Devices ****
card 1: Microphone [Yeti Stereo Microphone], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
确定了你的麦克风的设备号,就进入下一步。如果什么都没有出现,那么请确认你已经正确插入了你的设备。
4 现在设备和卡号都记录下来了,继续为Alsa创建一个配置文件。
这个配置文件将帮助Alsa驱动程序了解它应该使用什么设备来捕获音频。运行以下命令开始修改文件。
nano /home/pi/.asoundrc
5 在该文件中,输入以下文字。
确保将[卡号]和[设备号]替换为本节步骤3中检索到的数值。
pcm.!default {
type asym
capture.pcm "mic"
}
pcm.mic {
type plug
slave {
pcm "hw:[card number],[device number]"
}
}
完成后,按CTRL + X,然后按Y,再按ENTER键保存文件。
在树莓派上用麦克风录音
在本节中,展示如何在树莓派上使用麦克风进行录音。
1 要在Raspberry Pi上进行录音,请使用以下命令。
该命令将使用麦克风设备进行录音,并将其保存为名为out.wav的wav文件。
arecord --format=S16_LE --rate=16000 --file-type=wav out.wav
一旦完成了录音,可以按CTRL + C退出工具。
如果在运行此命令时收到一个错误,请确保麦克风已正确插入。另外,通过检查.asoundrc文件的内容,确保你已经正确配置了一切。
2 可以通过回放来验证麦克风是否成功录制。
要播放刚才的录音,请运行以下命令。
aplay out.wave
如果能听到录音,那么已经成功地使用麦克风进行了录音。
使用shell脚本录制并发送到远程服务器
#/bin/bash
echo 'Recording...(Press Ctrl+C to stop)'
rm -rf out.wav
arecord --format=S16_LE --rate=16000 --file-type=wav out.wav
echo 'Sending, Please wait...'
scp -P [port] out.wav [remote-user]@[remote-server]:/home/[remote-user]/.
echo 'done.'
在Raspberry Pi上控制麦克风增益
如果你发现你很难听到通过麦克风录制的噪音,那么可以调整增益。
1 最简单的方法是通过运行以下命令来利用Alsamixer工具。
alsamixer
2 使用这个工具,你可以使用方向键来增加和减少增益。
如果麦克风不可用,请按F6键选择您的麦克风。
完成后,按ESC键退出程序。