USB麦克风Raspberry Pi


11

我正在使用Raspberry Pi3。我想做的是测试我的USB麦克风。我首先输入lsusb以查看树莓派是否检测到我的设备。确实如此,结果是这样的:

BUS 001设备oo8:ID 0d8c:013c C-Media Electronics,Inc. CM108音频控制器

然后,我键入命令alsamixer以选择我的设备并增加音量。然后,键入命令arecord -l以获取CAPTURE硬件设备的列表:

  • 卡1:设备[USB PnP声音设备],
  • 设备0:USB音频[USB音频]
  • 子设备:1/1子设备#0​​:子设备#0​​”。

我可以看到我的麦克风正在录制声音,但插入耳机后却听不到声音。


尝试使用此命令将您的音频记录到文件中,然后稍后播放:arecord -f cd -D plughw:0 -d 10 a.wav
Mohammad Ali

可能有帮助吗?
Sparhawk

这对我帮助解决了同样的问题:我使用了标准开关电源(5V,2.4A),然后使用带有5V电容的LM350切换到了定制电源。我之前和之后的任何引脚上都没有PWM信号。现在我所有的USB“声卡”上只有清晰的声音,甚至是最便宜的中文声卡。我敢肯定,线性稳压器起到了重要作用。
user2497

Answers:


2

不久前我也遇到了这个问题,因此我发布了两个对我有用的解决方案。

第一种解决方案是只需要音频流。

  • 步骤1:安装ffmpeg。
    不要使用Raspbian存储库apt-get中的ffmpeg软件包,因为它已过时。

正确的方式:

cd /usr/src
sudo git clone git://source.ffmpeg.org/ffmpeg.git
cd ffmpeg
  • 步骤2:编译ffmpeg。

现在,

sudo ./configure && sudo make && sudo make install

休息一会需要一些时间!

  • 步骤3:开始录音。

您也可以使用其他编解码器,我使用了mp2,因为它可以大量减少cpu的使用。

arecord -f cd -D plughw:1,0 | ffmpeg -re -i - -acodec mp2 -ab 32k -ac 1 -f rtp rtp://224.1.2.3:7000

注意:此IP地址是一种多播地址([224-239] .xyz)。因此,请勿将其定位到局域网上的特定网络设备。

  • 步骤4:收听输出。

在连接到同一网络的计算机上打开Vlc。

转到媒体->网络流->输入IP,在这里rtp://224.1.2.3:7000

第二种解决方案是是否要同时录制音频和视频。

  • 请执行步骤1和2。(请记住在正确的目录中)
  • 第三步:开始录音。

由于ffmpeg提供了完整的多媒体流,因此此更改。

ffmpeg -f alsa -ac 1 -i hw:1 -ar 44100 -f mpegts udp://10.10.0.96:1234
  • 步骤4:收听输出。

在连接到同一网络的计算机上打开Vlc。

转到媒体->网络流->输入IP,在这里udp:// @:1234


0

除非您编写(或使用)一个告诉它执行此操作的程序,否则麦克风输入不会转到音频输出。


0

有些声卡上具有音频输入和输出。如果您需要同时听到来自音频输入的声音并进行录制,则有一些选项,例如;;。

  • 使用声卡,它可以让您进行录制(可能带有内置麦克风),并启用旁路选项以直接听到输入内容,同时进行录制。此选项通常称为“旁路”,可以使用alsamixer激活。此处提供了基于GPIO的声卡的不完整列表。如果您希望极低的延迟,即通过接近零延迟的时间通过耳机收听录音,则此选项是最佳选择。

  • 您也可以尝试找出如何记录到文件并进行单独的记录。来自同一设备的aplay命令。dmix alsa设备插件可让您从已使用的设备进行录制。这种方法的问题在于,将存在较大的延迟(3到6毫秒)-特别是对于USB声卡,使用基于GPIO标头的声卡时可能会低得多。如果您想同时表演和聆听,这是不正确的。

马特

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.