在树莓派上为麦克风配置Alsa

在开始本节之前,请确保已经将麦克风插入到Raspberry Pi中。无论是通过USB声卡、HAT还是通过使用USB麦克风。

  1. 通过运行以下两个命令来更新操作系统。

运行这两个命令可以确保所有的东西都是最新的。

sudo apt update
sudo apt upgrade
  1. 在操作系统更新的情况下,先来识别一下麦克风,由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键选择您的麦克风。

Raspberry-Pi-AlsaMixer-Microphone-settings.png

完成后,按ESC键退出程序。

原文链接

Last modification:November 7, 2021
If you think my article is useful to you, please feel free to appreciate