购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.1 树莓派语音助手套件ReSpeaker1:环境准备

基于Raspberry Pi的ReSpeaker 4-Mic阵列是一款适用于AI和语音应用的Raspberry Pi的四通道麦克风扩展板,如图3-1所示。这意味着你可以借助它构建一个集成Amazon Alexa语音服务、Google助手等功能更强大、更灵活的语音产品。

图3-1

区别于ReSpeaker 2-Mics Pi HAT,该版是基于AC108开发的,是一款高度集成四通道ADC,具有用于高清晰度语音捕获、I2S/TDM输出、拾取3米半径声音的语音设备。此外,这款4-Mics版本提供了超酷LED环,其中包含12个APA102可编程LED。就像Amazon Echo或Google assist一样,使用4个麦克风和LED环,Raspberry Pi具有VAD(语音活动检测)、DOA(到达方向)、KWS(关键字搜索),并通过LED环显示方向灯功能。

3.1.1 硬件介绍

基于Raspberry Pi的ReSpeaker 4-Mic阵列由以下硬件构成(见图3-2):

· MIC:4个模拟麦克风。

· LED:12个APA102可编程RGB LED,连接到SPI接口。

· Raspberry Pi 40针头:支持Raspberry Pi Zero、Raspberry Pi 1 B +、Raspberry Pi 2 B和Raspberry Pi 3 B。

· AC108:具有I2S / TDM输出转换功能的高度集成的四通道ADC。

· I2C:Grove I2C端口,连接到I2C-1。

· GPIO12:Grove数字端口,连接到GPIO12和GPIO13。

图3-2

3.1.2 系统配置与驱动安装

以下所有实验均要求树莓派刷入完整版的Raspbian操作系统,也就是官网上Raspbian Stretch with desktop and recommended software的版本。

下面介绍系统配置与驱动安装的具体步骤。

步骤01 把ReSpeaker 4-Mics Pi HAT插入Raspberry Pi。

把ReSpeaker 4-Mics Pi HAT插入Raspberry Pi,确保插入Raspberry Pi的时候针脚对齐,如图3-3所示。

图3-3

注意

不要在上电的时候,热插拔ReSpeaker 4-Mics Pi HAT。

步骤02 烧录系统、登录、换源。

因为当前的Pi内核不支持wm8960编解码器,所以需要手动构建。确保你正在Pi上运行Raspbian操作系统(debian 9)。你可以用etcher进行系统烧录。输入如图3-4所示的指令可查看树莓派操作系统版本。

图3-4

树莓派系统(下载网站https://www.raspberrypi.org/downloads/raspbian/Raspbian系统)有两种:一种是含有桌面的,一种是没有桌面的。在这里可以选择没有桌面的RASPBIAN STRETCH LITE,因为不需要显示器,而且LITE体积也比较小。

Etcher是一款开源的磁盘烧录程序,可以用来制作U盘启动器。树莓派其实就是把SD卡做成一个引导盘,并启动SD卡中的Linux服务器。Etcher可以在其官网(https://etcher.io/)下载。

烧录方法

把SD卡插入读卡器并插在电脑的USB口上,电脑会识别出一个新的磁盘。运行Etcher,依次选择前边下载的RASPBIAN STRETCH LITE和SD卡对应的盘符。

可以用VNC或者PUTTY连接树莓派,但之前请配置好WiFi。使用PUTTY连接树莓派的教程为https://www.cnblogs.com/mq0036/p/8488598.html。

在安装驱动之前,请根据以下流程切换源:

      pi@raspberrypi ~ $ sudo nano /etc/apt/sources.list

用#注释掉原文件内容,输入以下内容进行替换:

    deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/
stretch main non-free contrib
    deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/
stretch main non-free

运行效果如图3-5所示。

图3-5

注意

输入后要按Ctrl+O组合键保存。

步骤03 驱动下载并安装。

运行下面的命令:

      sudo apt-get update
      git clone https://github.com/respeaker/seeed-voicecard.git
      cd seeed-voicecard #下载声卡驱动
      sudo ./install.sh #安装声卡驱动
      reboot #重启

运行效果如图3-6所示。

图3-6

图3-6(续)

步骤04 检查声卡名称是否与源代码seeed-voicecard相匹配。

在终端输入“arecord –L”并对应设置,如图3-7所示。

图3-7

如果要更改alsa设置,可以使用sudo alsactl --file=ac108_asound.state store保存现有设置。当你需要再次使用这些设置时,可将它复制到sudo cp~/seeed-voicecard/ac108_asound.state/var/lib/alsa/asound.state。

3.1.3 录音播放测试

1. 录音和播放实现

(1)arecord录音

①查看录音设备:

      arecord –l

②录音。根据上面的信息,如果要用TDM_Capture录音,可以输入如下命令:

      arecord -Dhw:0,1 -d 10 -f cd -r 44100 -c 2 -t wav test.wav

其中,D指定录音设备;0,1是card 0 device 1的意思,也就是TDM_Capture;-d指定录音的时长,单位是s;-f指定录音格式,通过上面的信息知道只支持cd、cdr、dat格式;-r指定了采样率,单位是Hz;–c,指定channel的个数;-t指定生成的文件格式。

(2)aplay播放

①查看播放音频设备:

      aplay –l

②播放指定音频文件:

      aplay test.wav

2. 录播测试

      arecord | aplay

可以用arecord录制,然后用aplay播放(不要忘记插耳机或者喇叭):也可以通过Audacity软件测试。打开Audacity后,选择AC108和2通道作为输入、bcm2835 alsa: - (hw:0,0)作为输出来测试:

Audacity运行界面如图3-8所示。

图3-8

3. 调节音量

AlsaMixer是用于配置声音和调整音量、高级Linux声音体系结构(ALSA)的图形混音器程序,如图3-9所示。

在终端输入指令“pi@raspberrypi:~ $alsamixer”启动AlsaMixer后,请用F6快捷键选择seeed-4mic的声卡设备。

左、右箭头键用于选择通道或设备,上、下箭头键用于控制当前所选设备的音量。退出程序使用Alt + Q或按Esc键。

图3-9

3.1.4 安装Python虚拟环境

使用Python进行开发,这里需要隔离SDK与系统Python包的关系。

终端命令及反馈如图3-10所示。

图3-10

3.1.5 控制板载LED:APA102

每个板载APA102 LED都有一个额外的驱动芯片。驱动芯片设置LED的颜色,然后保持该颜色,直到接收到新的命令。

请在执行之前打开SPI,具体步骤如下:

步骤01 输入“sudo raspi-config”。

步骤02 选择Interfacing Options。

步骤03 选择SPI。

步骤04 选择Yes。

步骤05 选择OK。

步骤06 选择Finish。

配置完毕后,可以执行下列命令行来运行led示例:

终端命令及反馈如图3-11所示。

图3-11

此时,在虚拟环境下运行“python pixels.py”,你可以看到LED像Google Assistant灯光一样闪烁,如图3-12所示。

图3-12 zokLG8Fyxb20KICk8UxAcE/YJvwojlHAyE4BznSJVuo7+JkwRbc8kxOpDtkIMzJ+

点击中间区域
呼出菜单
上一章
目录
下一章
×