LC-AI-C108

来自LCWIKI
Lcadmin讨论 | 贡献2023年4月26日 (三) 15:57的版本 介绍说明
跳转至: 导航搜索

产品名称

RPI_AC108音频解码模块 4麦克 语音模块


概述

艾尔AC108模块搭载X-POWER公司音频解码芯片和4通道硅麦克风阵列。专为树莓派设计的音频声卡扩展板,低功耗,立体声编解码,支持高音质语音捕获。也可用于DIY类似于天猫精灵、Google Assistant等智能音箱。


特征

  • 基于Raspberry Pi 40pin接口,适用于Raspberry Pi系列主板
  • 支持Raspberry Pi Zero/Zero W/2B/3B/3B+/4等开发板
  • 采用AC108低功耗立体声编解码芯片,可通过I2S接口通讯
  • 板载4个高质量MEMS硅麦克风,可左右声道录音
  • 板载12个可编程APA-102-2020全彩LED
  • 供电方式:插入至树莓派获取5V和3.3V电源
  • 逻辑电压:3.3V
  • 树莓派控制接口:I2C,音频接口:I2S,树莓派通过I2C接口控制麦克风阵列捕获语音,然后将语音信号通过I2S接口传送到树莓派,最终由树莓派的3.5mm耳机座/HDMI接口输出音频
  • 提供完善的参考资料,搭配树莓派可DIY类似出于天猫精灵、小度音箱、Google Assistant功能的智能音箱

介绍说明

1、板子尺寸:65*65mm,重量:20g
LC-1230 1.png

2、接口说明
LC-1230 2.png LC-1230 3.png

1、MIC1--MIC4: 4个模拟MEMS硅麦克风

2、D1--D12:12个APA102全彩LED,连接到树莓派的SPI接口

3、Raspberry Pi 2*20P座子:支持Raspberry Pi Zero/Zero W/2B/3B/3B+/4等

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

5、GPIO12:Grove数字端口,连接到树莓派的GPIO12和GPIO13

6、I2C:Grove I2C接口,连接到树莓派的I2C-1。

硬件连接

1.1、准备工作
首先确保所用的Pi运行的Raspbian操作系统是更新于2018.06.27或者2018.06.27之后,然后将WM8960模块插入Pi,接好键盘、显示器等必要的外设,Pi连上WiFi/有线网络,如下图:
LC-1230 4.png



1.2、换源
在安装驱动之前,请根据以下流程切换源到清华:

(1)输入:sudo nano /etc/apt/sources.list
LC-1230 5.png



(2)用#注释掉原文件内容,用以下内容替代

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 contrib

LC-1230 6.png

输入完成后按Ctrl+X键保存退出


1.3、驱动下载并安装
输入:git clone https://github.com/respeaker/seeed-voicecard.git #下载驱动
输入:cd seeed-voicecard #打开文件夹
输入:sudo ./install.sh #安装声卡驱动
输入:sudo reboot #重启Pi
LC-1230 7.png
LC-1230 8.png



1.4、检查声卡名称是否与源代码seeed-voicecard相匹配
输入:arecord -L
LC-1230 9.png



2、安装Python和虚拟环境
这样是为了隔离SDK与系统Python包关系

输入:cd /home/pi
输入:git clone https://github.com/respeaker/4mics_hat.git
输入:cd /home/pi/4mics_hat
输入:sudo apt install python-virtualenv #安装Python2虚拟环境
输入:virtualenv --system-site-packages ~/env #建立虚拟环境,命名env
输入:source ~/env/bin/activate #激活虚拟环境
输入:pip install spidev gpiozero #安装需要的工具包
LC-1230 10.png



3、控制APA102 LED的示例

3.1、APA102 LED接口配置
板载的APA102 LED通过Pi的SPI接口来控制,故需要先配置Pi的SPI接口。

步骤如下:
●输入:sudo raspi-config
●选择“SPI”
●选择“Yes”
●选择“OK”
●选择“Finish”



3.2、运行APA102 LED
输入:cd /home/pi
输入:git clone https://github.com/respeaker/4mics_hat.git
输入:cd /home/pi/4mics_hat
输入:sudo apt install python-virtualenv #安装Python 虚拟环境
输入:virtualenv --system-site-packages ~/env #创建Python 虚拟环境
输入:source ~/env/bin/activate #激活Python 虚拟环境
输入:pip install spidev gpiozero #安装spidev和gpiozero
LC-1230 11.png
LC-1230 12.png


输入:python pixels.py #运行APA102 LED,LED会闪烁
LC-1230 13.png



4、Alexa SDK和DuerOS SDK

由于国内登录不上Google Assistant,所以使用在国内能连接的Alexa和百度DuerOs作为语音引擎,开发出能让大多数人使用的语音互助系统。

4.1、配置和DOA测试

(1)配置Voice engine 输入:source ~/env/bin/activate #激活Python虚拟环境
输入:cd ~/4mics_hat
输入:sudo apt install libatlas-base-dev #安装snowboy depend
输入:sudo apt install python-pyaudio #安装pyaudio音频处理包
输入:pip install ./snowboy*.whl #安装snowboy for KWS
输入:pip install ./webrtc*.whl #安装webrtc for DOA
输入:cd ~/
输入:git clone https://github.com/voice-engine/voice-engine #write by seeed
输入:cd voice-engine/
输入:python setup.py install
输入:cd examples
LC-1230 14.png




4.2、运行
在虚拟环境下运行python kws_doa.py。请用snowboy来唤醒,我们就可以看到方位信息。
LC-1230 15.png


5、百度中文语音互动/Alexa英文语音互动

5.1、配置和安装相关依赖
输入:source ~/env/bin/activate #activate the virtual
输入:cd ~/
输入:git clone https://github.com/respeaker/avs
输入:cd avs #install Requirements
输入:python setup.py install
输入:sudo apt install gstreamer1.0
输入:sudo apt install gstreamer1.0-plugins-good
输入:sudo apt install gstreamer1.0-plugins-ugly
输入:sudo apt install python-gi gir1.2-gstreamer-1.0
输入:pip install tornado
LC-1230 16.png


5.2、取得授权

在终端运行 alexa-auth,然后登陆获取alexa的授权,或者运行dueros-auth获取百度的授权。授权文件会自动保存在
/home/pi/.avs.jason。在中国地区通常获取百度的授权就够用,方法如下:
(1)输入:dueros-auth
LC-1230 17.png



(2)选择baidu dueros,然后输入自己的百度账号即可完成授权
LC-1230 18.png
注意:如果想在alexa-auth 和dueros-auth 之间切换,请先删除 /home/pi/.avs.jason。这个是隐藏文件,请用ls-la显示文件



5.3、安装mpg123播放器

树莓派有3个播放器(mpv, mpg123和gstreamer)可供使用,语音交互上mpg123有着不错的表现。

输入:sudo apt install mpg123 #安装mpg123播放器

LC-1230 19.png



6、百度中文语音互动测试

WM8960模块的3.5mm音频接口处插上耳机/喇叭端子接喇叭(如果所用的显示器有HDMI音频功能会优先从HDMI输出音频)。

以上步骤均配置无误后,以后只要输入以下3条指令即可进入语音交互功能。

输入:cd /4mics_hat #打开文件夹
输入:source ~/env/bin/activate #激活虚拟环境
输入:PLAYER=mpg123 python ns_kws_doa_alexa_with_light.py
LC-1230 20.png


LC-1230 21.png

接着终端会打印出很多debug信息,当我们看到status code:204时对着WM8960模块上面的咪头说snowboy来唤醒语音交互功能,WM8960语音模块成功识别到
snowboy 这句语音后会打印出一大串调试信息(如果没有识别到snowboy不会有调试信息输出),此时立即说出你要执行的操作,比如:播放张学友的歌,智能语音模块会立即播放张学友的音乐。

提示:snowboy这个单词用手机翻译软件读出来比用嘴读出来可能更易识别



7、APA102 LED测试

以上步骤均配置无误后,以后只要输入以下3条指令即可测试LED功能。

输入:cd ~/4mics_hat #打开文件夹
输入:source ~/env/bin/activate #激活虚拟环境
输入:python pixels.py #运行LED

LC-1230 22.png


8、WM8960模块输出音量调节

树莓派桌面的音量调节按钮默认用来调节自带声卡的音量,要调节WM8960模块的音量,需先将WM8960模块(即seeed-2mic-voicecard)设置为默认声卡。

8.1、点击 首选项---Audio Device Settings
LC-1230 23.png


8.2、声卡:seeed-2mic-voicecard(Alsa mixer),再分别点击Make Default和OK
LC-1230 24.png


温馨提示:

1、在环境已经配置好了的情况下,下次开机只需要执行上面的第7和第8步就可以测试语音交互功能 和APA102 LED;
2、因为配置过程中很多文件需要从国外的Github/Raspberry官网下载相关的文件,速度可能较慢,请耐心等待,若下载失败可多次尝试!