一板网电子技术论坛

风筝
发表于: 2021-10-9 10:56:34 | 显示全部楼层

使用USB声卡和麦克风可以在Raspberry Pi Zero板卡上实现音频功能,该产品没有像其他树莓派版本那样的音频连接器。我们都知道树莓派Zero W板卡没有音频硬件。USB声卡或带有ADC的定制模拟设备可用于将附加硬件连接到树莓派。我们将在Raspberry Pi Zero W板卡中安装USB声卡,然后使用ALSA实用程序来测试声卡和声音设备。


所需的组件

●    树莓派Zero W板卡

●    显示器

●    USB集线器

●    OTG电缆

●    Micro HDMI线

●    MicroSD卡

●    扬声器

●    麦克风

●    USB声卡


USB声卡

USB 声卡是一个USB转3.5mm麦克风和耳机插孔转换器,我们将用于将麦克风和扬声器与树莓派Zero W板卡连接。3.5mm耳机分配器将USB插头转换为两个3.5mm母插孔,让您可以使用一个USB端口,可将单声道麦克风输入和立体声输出添加到您的笔记本电脑中。下面是USB声卡的图像。

USB-Sound-Card.jpg


安装USB声卡

首先,使用micro-HDMI线将您的显示器与Raspberry Pi zero W板卡连接,并将OTG线连接到Raspberry Pi zero W。然后,使用USB集线器将USB声卡连接到Raspberry Pi zero W,并将扬声器和麦克风通过使用3.5毫米音频插孔连接到USB声卡。在下图中,您可以看到Raspberry Pi Zero W板卡上的所有连接。完成所有的连接,然后使用micro-USB线缆 Raspberry Pi Zero W板卡供电。

Installing-USB-Sound-Card-in-Raspberry-Pi-Zero-W.jpg


现在,首先必须为您的设备找出芯片组。有四种不同类型的芯片组。您的设备应支持以下列表中的四种芯片组之一。

1 - CM108型

2 - CM-耳机类型

3 - CM109型

4 - GeneralPlus


使用USB集线器和OTG电缆将USB声卡与Raspberry Pi Zero W连接。然后正常启动树莓派。现在,在配置设置中将您的音频从3.5mm插孔更改为USB。

Raspberry-Pi-Zero-Configuration_0.jpg


Raspberry-Pi-Audio-Setup.jpg


现在,如果使用的是CM10 芯片组,在终端窗口中输入命令 dmesg | grep cm109,然后,你将能够看到一些关于它的信息行。如果它不起作用,请尝试 dmesg | grep Headphone,将出现C-Media USB Headphone Set驱动程序,这表明它是一个CM耳机。如果什么都没有出现,那么在终端窗口上输入命令 dmesg | grep C-Media。如果有一些C-Media提示行,但是没有cm109驱动程序,这表明它是CM108。如果仍然没有出现任何信息,则在终端窗口上输入命令 dmesg | grep General,如果显示“GeneralPlus”这个词,这表明它是GeneralPlus。在下面给出的图像中,您可以看到我的设备只有一个命令有效,而其他命令无效。这意味着我的设备的芯片组类型是C-Media (C-108)。首先,我们将对C-Media (C-108) 类型进行配置。

C-Media-C-108-Configuration.jpg


在终端窗口中输入 lsusb 命令。您应该会看到类似于下图的输出。

lsusb-Command-in-Terminal-Window.jpg


现在,在终端窗口中输入 play -l 命令。您将看到播放硬件设备列表。

aplay-l-command-in-terminal-Window.jpg


安装ALSA配置

ALSA全称advanced linux sound architecture。我们将要为树莓派Zero W板卡安装 ALSA 驱动程序。通过修改系统文件“alsa.conf”,可以将USB声音设备设置为默认音频设备。在终端窗口中输入命令 sudo nano /usr/share/alsa/alsa.conf 你会看到下面两行。

  1. defaults.ctl.card 0
  2. defaults.pcm.card 0
复制代码

将声卡0更改为声卡1,因为声卡0用于默认音频,声1用于内置音频。

  1. defaults.ctl.card 1
  2. defaults.pcm.card 1
复制代码

现在,在终端窗口中输入命令 sudo nano /etc/asound.conf 并将以下代码复制到此文件中并保存。它将使默认PCM(音频)和默认控制声卡为1。

  1. pcm.!default {
  2. type hw
  3. card 1
  4. }
  5. ctl.!default {
  6. type hw
  7. card 1
  8. }
复制代码

我们已经为操作系统配置了ALSA。现在,使用 sudo reboot 重新启动并再次登录。现在,我们要测试音频,因此首先在终端窗口中输入以下命令行。

  1. speaker-test -c2
复制代码

speaker-test--c2-Command.jpg

这将通过声卡的左右扬声器播放白噪声。一旦开始播放,请尝试使用扬声器测试播放音频文件。


输入下面给出的命令来检查前置和中央音频。

  1. speaker-test -c2 --test=wav -w /usr/share/sounds/alsa/Front_Center.wav
复制代码

Installing-ALSA-configuration.jpg


现在,我们已经测试了Raspberry Pi Zero W的扬声器音频。现在,我们将使用CM耳机类型的适配器录制音频。我们可以使用以下命令录制音频。

  1. arecord --device=hw:1,0 --format S16_LE --rate 44100 -c1 sample.wav
复制代码

它将以44100 Hz (--rate 44100) 单声道 (-c1) 音频录制带符号的16位 (S16_LE) 音频到home.wav。录制的声音将从扬声器中传出。如果在命令行中添加-V mono,则会出现一个小的VU表。

Configure-Raspberry-Pi-Zero.jpg


我们可以使用以下命令播放录制的音频。

  1. aplay --device=plughw:1,0 test.wav
复制代码

以上就是如何在Raspberry Pi Zero W板卡上安装USB声卡以及检查连接到此声卡的扬声器和麦克风的方法。希望你喜欢这个项目并学到了一些有用的东西,如果有任何问题,请随时在本帖下面进行回复。


跳转到指定楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



手机版|

GMT+8, 2021-10-26 10:05 , Processed in 0.033731 second(s), 7 queries , MemCache On. Powered by Discuz! X3.4

YiBoard一板网 © 2015-2021 地址:河北省石家庄市长安区高营大街 ( 冀ICP备18020117号 )

快速回复 返回顶部 返回列表