LC-AI-C108
产品名称
RPI_AC108音频解码模块 4麦克 语音模块百度网盘
概述
艾尔AC108模块搭载X-POWER公司音频解码芯片和4通道硅麦克风阵列。
专为LCPI设计的音频声卡扩展板,低功耗,立体声编解码,支持高音质语音捕获。也可用于DIY类似于天猫精灵、Google Assistant等智能音箱。
特征
- 基于LCPI 40pin接口,适用于Raspberry Pi系列主板
- 支持LCPI Zero/Zero W/2B/3B/3B+/4等开发板
- 采用AC108低功耗立体声编解码芯片,可通过I2S接口通讯
- 板载4个高质量MEMS硅麦克风,可左右声道录音
- 板载12个可编程APA-102-2020全彩LED
- 供电方式:插入至树莓派获取5V和3.3V电源
- 逻辑电压:3.3V
- LCPI控制接口:I2C,音频接口:I2S,LCPI通过I2C接口控制麦克风阵列捕获语音,然后将语音信号通过I2S接口传送到LCPI,最终由LCPI的3.5mm耳机座/HDMI接口输出音频
- 提供完善的参考资料,搭配LCPI可DIY类似出于天猫精灵、小度音箱、Google Assistant功能的智能音箱
介绍说明
1、MIC1--MIC4: 4个模拟MEMS硅麦克风
2、D1--D12:12个APA102全彩LED,连接到LCPI的SPI接口
3、Raspberry Pi 2*20P座子:支持LCPI Zero/Zero W/2B/3B/3B+/4等
4、AC108:具有I2S/TDM输出转换功能的高度集成的四通道ADC
5、GPIO12:Grove数字端口,连接到LCPI的GPIO12和GPIO13
6、I2C:Grove I2C接口,连接到LCPI的I2C-1
硬件连接
1.1、准备工作
首先确保所用的Pi运行的Raspbian操作系统是更新于2018.06.27或者2018.06.27之后,然后将WM8960模块插入Pi,接好键盘、显示器等必要的外设,Pi连上WiFi/有线网络,如下图:
1.2、换源
在安装驱动之前,请根据以下流程切换源到清华:
(1)输入:sudo nano /etc/apt/sources.list
(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
输入完成后按Ctrl+X键保存退出
1.3、驱动下载并安装
输入:git clone https://github.com/respeaker/seeed-voicecard.git #下载驱动
输入:cd seeed-voicecard #打开文件夹
输入:sudo ./install.sh #安装声卡驱动
输入:sudo reboot #重启Pi
1.4、检查声卡名称是否与源代码seeed-voicecard相匹配
输入:arecord -L
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 #安装需要的工具包
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
输入:python pixels.py #运行APA102 LED,LED会闪烁
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
4.2、运行
在虚拟环境下运行python kws_doa.py。请用snowboy来唤醒,我们就可以看到方位信息。
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
5.2、取得授权
在终端运行 alexa-auth,然后登陆获取alexa的授权,或者运行dueros-auth获取百度的授权。授权文件会自动保存在
/home/pi/.avs.jason。在中国地区通常获取百度的授权就够用,方法如下:
(1)输入:dueros-auth
(2)选择baidu dueros,然后输入自己的百度账号即可完成授权
注意:如果想在alexa-auth 和dueros-auth 之间切换,请先删除 /home/pi/.avs.jason。这个是隐藏文件,请用ls-la显示文件
5.3、安装mpg123播放器
LCPI有3个播放器(mpv, mpg123和gstreamer)可供使用,语音交互上mpg123有着不错的表现。
输入:sudo apt install mpg123 #安装mpg123播放器
6、百度中文语音互动测试
WM8960模块的3.5mm音频接口处插上耳机/喇叭端子接喇叭(如果所用的显示器有HDMI音频功能会优先从HDMI输出音频)。
以上步骤均配置无误后,以后只要输入以下3条指令即可进入语音交互功能。
输入:cd /4mics_hat #打开文件夹
输入:source ~/env/bin/activate #激活虚拟环境
输入:PLAYER=mpg123 python ns_kws_doa_alexa_with_light.py
接着终端会打印出很多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
8、WM8960模块输出音量调节
树莓派桌面的音量调节按钮默认用来调节自带声卡的音量,要调节WM8960模块的音量,需先将WM8960模块(即seeed-2mic-voicecard)设置为默认声卡。
8.1、点击 首选项---Audio Device Settings
8.2、声卡:seeed-2mic-voicecard(Alsa mixer),再分别点击Make Default和OK
温馨提示:
1、在环境已经配置好了的情况下,下次开机只需要执行上面的第7和第8步就可以测试语音交互功能 和APA102 LED;
2、因为配置过程中很多文件需要从国外的Github/Raspberry官网下载相关的文件,速度可能较慢,请耐心等待,若下载失败可多次尝试!