查看“LC-AI-8960”的源代码
←
LC-AI-8960
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
== 产品名称 == RPI_WM8960音频解码模块 双麦克风 智能语音识别 == 概述 == 艾尔赛WM8960模块搭载英国原装Wolfson音频解码芯片和双硅麦克风阵列。专为树莓派设计的音频声卡扩展板,低功耗,立体声编解码,<br> 支持高音质播放和录音,可直接驱动扬声器播放音乐。也可用于DIY类似于天猫精灵、Google Assistant等智能音箱。<br> == 功能特点 == * 基于Raspberry Pi 40pin接口,适用于Raspberry Pi系列主板;<br><br> * 支持Raspberry Pi Zero/Zero W/2B/3B/3B+/4等开发板 ;<br><br> * 采用WM8960低功耗立体声编解码芯片,可通过I2S接口通讯;<br><br> * 板载2个高质量MEMS硅麦克风,可左右声道录音;<br><br> * 板载标准3.5mm耳机接口,输出功率:40mW(16Ω@3.3V);<br><br> * 板载双通道喇叭接口,可直接驱动扬声器,输出功率:2X1W;<br><br> * 支持立体声、3D环绕等音效输出;<br><br> * 板载3个可编程APA-102-2020全彩LED;<br><br> * 供电电压:5V;<br><br> * 逻辑电压:3.3V;<br><br> * 树莓派控制接口:I2C;<br><br> * 音频接口:I2S;<br><br> * DAC信噪比:98db,ADC信噪比:94db;<br><br> * 提供完善的参考资料,搭配树莓派可DIY类似出于天猫精灵、小度音箱、Google Assistant功能的智能音箱;<br><br> == 介绍说明 == 板子尺寸:65*30.2mm,重量:16g<br> [[Image:LC-Voice-WM8960.png]] 接口说明 [[Image:LC-Voice-WM8960 1.png]] 1、Raspberry Pi 2*20P座子:支持Raspberry Pi Zero/Zero W/2B/3B/3B+/4等;<br> 2、MIC_L&MIC_R: 左右MEMS硅麦克风;<br> 3、WM8960:低功耗立体声编解码芯片;<br> 4、POWER:输出接扬声器时此Micro USB|需接上以提供足够电流;<br> 5、KF301-4P端子:左右声道扬声器输出,功率2X1W;<br> 6、PH2.0-4P座子:左右声道扬声器输出,功率2X1W;<br> 7、3.5MM耳机输出口:功率40mW(16Ω@3.3V);<br> 8、RGB LED: 3个APA102全彩LED,连接到树莓派的SPI接口;<br> 9、6X6mm按键:连接到树莓派的GPIO17;<br> == 硬件连接 == 1、系统配置与驱动安装<br> 1.1、准备工作 首先确保所用的Pi运行的Raspbian操作系统是更新于2018.06.27或者2018.06.27之后,然后将WM8960模块插入Pi,接好键盘、显示器等必要的外设,Pi连上WiFi/有线网络,如下图:<br> [[Image:LC-Voice-WM8960 2.png]] 1.2、换源 在安装驱动之前,请根据以下流程切换源到清华:<br> (1)输入:sudo nano /etc/apt/sources.list<br> [[Image:LC-Voice-WM8960 3.png]] (2)用#注释掉原文件内容,用以下内容替代<br> 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 [[Image:LC-Voice-WM8960 4.png]] 输入完成后按Ctrl+X键保存退出<br> 1.3、驱动下载并安装 输入:git clone https://github.com/respeaker/seeed-voicecard.git #下载驱动<br> 输入:cd seeed-voicecard #打开文件夹<br> 输入:sudo ./install.sh #安装声卡驱动<br> 输入:sudo reboot #重启Pi<br> [[Image:LC-Voice-WM8960 5.png.png]] [[Image:LC-Voice-WM8960 6.png.png]] [[Image:LC-Voice-WM8960 7.png]] 1.4,检查声卡名称是否与源代码seeed-voicecard相匹配<br> 输入:arecord -L<br> [[Image:LC-Voice-WM8960 8.png]] 2、安装Python和虚拟环境<br> 这样是为了隔离SDK与系统Python包关系<br> 输入:cd /home/pi<br> 输入:git clone https://github.com/respeaker/4mics_hat.git<br> 输入:cd /home/pi/4mics_hat<br> 输入:sudo apt install python-virtualenv #安装Python2虚拟环境<br> 输入:virtualenv --system-site-packages ~/env #建立虚拟环境,命名env<br> 输入:source ~/env/bin/activate #激活虚拟环境<br> 输入:pip install spidev gpiozero #安装需要的工具包<br> [[Image:LC-Voice-WM8960 9.png]] 3、控制APA102 LED的示例<br> 3.1、APA102 LED接口配置<br> 板载的APA102 LED通过Pi的SPI接口来控制,故需要先配置Pi的SPI接口。<br> 步骤如下:<br> ●输入:sudo raspi-config<br> ●选择“SPI”<br> ●选择“Yes”<br> ●选择“OK”<br> ●选择“Finish”<br> 3.2、运行APA102 LED<br> 输入:cd /home/pi<br> 输入:git clone https://github.com/respeaker/4mics_hat.git<br> 输入:cd /home/pi/4mics_hat<br> 输入:sudo apt install python-virtualenv #安装Python 虚拟环境<br> 输入:virtualenv --system-site-packages ~/env #创建Python 虚拟环境<br> 输入:source ~/env/bin/activate #激活Python 虚拟环境<br> 输入:pip install spidev gpiozero #安装spidev和gpiozero<br> [[Image:LC-Voice-WM8960 10.png]] 输入:python pixels.py #运行APA102 LED,LED会闪烁<br> [[Image:LC-Voice-WM8960 11.png]] 4、Alexa SDK和DuerOS SD<br> 由于国内登录不上Google Assistant,所以使用在国内能连接的Alexa和百度DuerOs作为语音引擎,开发出能让大多数人使用的语音互助系统。<br> 4.1、配置和DOA测试<br> (1)配置Voice engine<br> 输入:source ~/env/bin/activate #激活Python虚拟环境<br> 输入:cd ~/4mics_hat 输入:sudo apt install libatlas-base-dev #安装snowboy depend<br> 输入:sudo apt install python-pyaudio #安装pyaudio音频处理包<br> 输入:pip install ./snowboy*.whl #安装snowboy for KWS<br> 输入:pip install ./webrtc*.whl #安装webrtc for DOA<br> 输入:cd ~/<br> 输入:git clone https://github.com/voice-engine/voice-engine #write by seeed<br> 输入:cd voice-engine/<br> 输入:python setup.py install<br> 输入:cd examples<br> [[Image:LC-Voice-WM8960 12.png]] 4.2、运行<br> 在虚拟环境下运行python kws_doa.py。请用snowboy来唤醒,我们就可以看到方位信息。<br> [[Image:LC-Voice-WM8960 13.png]] 5、百度中文语音互动/Alexa英文语音互动 5.1、配置和安装相关依赖 输入:source ~/env/bin/activate #activate the virtual<br> 输入:cd ~/<br> 输入:git clone https://github.com/respeaker/avs<br> 输入:cd avs #install Requirements<br> 输入:python setup.py install <br> 输入:sudo apt install gstreamer1.0<br> 输入:sudo apt install gstreamer1.0-plugins-good<br> 输入:sudo apt install gstreamer1.0-plugins-ugly<br> 输入:sudo apt install python-gi gir1.2-gstreamer-1.0<br> 输入:pip install tornado<br> [[Image:LC-Voice-WM8960 14.png]] 5.2、取得授权<br> 在终端运行 alexa-auth,然后登陆获取alexa的授权,或者运行dueros-auth获取百度的授权。授权文件会自动保存在 /home/pi/.avs.jason。在中国地区通常获取百度的授权就够用,方法如下:<br> [[Image:LC-Voice-WM8960 15.png]] (2)选择baidu dueros,然后输入自己的百度账号即可完成授权<br> [[Image:LC-Voice-WM8960 16.png]] '''注意:如果想在alexa-auth 和dueros-auth 之间切换,请先删除 /home/pi/.avs.jason。这个是隐藏文件,请用ls-la显示文件''' 5.3、安装mpg123播放器<br> 树莓派有3个播放器(mpv, mpg123和gstreamer)可供使用,语音交互上mpg123有着不错的表现。<br> 输入:sudo apt install mpg123 #安装mpg123播放器<br> [[Image:LC-Voice-WM8960 17.png]] 6、百度中文语音互动测试<br> WM8960模块的3.5mm音频接口处插上耳机/喇叭端子接喇叭(如果所用的显示器有HDMI音频功能会优先从HDMI输出音频)。<br> 以上步骤均配置无误后,以后只要输入以下3条指令即可进入语音交互功能。<br> 输入:cd /4mics_hat #打开文件夹<br> 输入:source ~/env/bin/activate #激活虚拟环境<br> 输入:PLAYER=mpg123 python ns_kws_doa_alexa_with_light.py <br> [[Image:LC-Voice-WM8960 18.png]] [[Image:LC-Voice-WM8960 19.png]] 接着终端会打印出很多debug信息,当我们看到status code:204时对着WM8960模块上面的咪头说snowboy来唤醒语音交互功能,WM8960语音模块成功识别到 snowboy 这句语音后会打印出一大串调试信息(如果没有识别到snowboy不会有调试信息输出),此时立即说出你要执行的操作,比如:播放张学友的歌,智能语音模块会立即播放张学友的音乐。<br> '''(提示:snowboy这个单词用手机翻译软件读出来比用嘴读出来可能更易识别)''' 7、APA102 LED测试 以上步骤均配置无误后,以后只要输入以下3条指令即可测试LED功能。<br> 输入:cd ~/4mics_hat #打开文件夹<br> 输入:source ~/env/bin/activate #激活虚拟环境<br> 输入:python pixels.py #运行LED<br> [[Image:LC-Voice-WM8960 20.png]] 8、WM8960模块输出音量调节<br> 树莓派桌面的音量调节按钮默认用来调节自带声卡的音量,要调节WM8960模块的音量,需先将WM8960模块(即seeed-2mic-voicecard)设置为默认声卡。<br> 8.1、点击 首选项---Audio Device Settings<br> [[Image:LC-Voice-WM8960 21.png]] 8.2、声卡:seeed-2mic-voicecard(Alsa mixer),再分别点击Make Default和OK<br> [[Image:LC-Voice-WM8960 22.png]] 温馨提示:<br> 1, 在环境已经配置好了的情况下,下次开机只需要执行上面的第7和第8步就可以测试语音交互功能 和APA102 LED;<br> 2,因为配置过程中很多文件需要从国外的Github/Raspberry官网下载相关的文件,速度可能较慢,请耐心等待,若下载失败可多次尝试!
返回至
LC-AI-8960
。
导航菜单
个人工具
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
工具
链入页面
相关更改
特殊页面
页面信息