_SKU_DFR0614_Audio_Module_for_Raspberry_Pi - jimaobian/DFRobotWikiCn GitHub Wiki
这是一款适用于树莓派的音频模块,该模块基于WM8960芯片开发,板载两个麦克风录音,板载3.5mm通用耳机接口和双通道喇叭接口,支持立体声、3D环绕等音效输出。板载3个RGB LED灯珠,连接到树莓派的SPI接口,通过编程控制灯的颜色和亮灭。
- 支持立体声、3D环绕等音效输出
- 可直接驱动扬声器
- 可外接耳机播放
- 3个彩色RGB
- 供电电压:4.5-5.5V
- 逻辑电平:3.3V
- 音频编解码芯片:WM8960
- 控制接口:I2C
- 音频接口:I2S
- DAC信噪比:98dB
- ADC信噪比:94dB
| |
标号 | 名称 | 树莓派引脚(BCM) | 功能描述 |
1 | SCLK | P11 | SPI串行时钟线 |
2 | MOSI | P10 | SPI数据输入线 |
3 | SDA | P2 | IIC串行数据线 |
4 | SCL | P3 | IIC串行时钟线 |
5 | 5V | 5v | 电源正极 |
6 | GND | GND | 电源负极 |
7 | SCK | P21 | IIS串行时钟线 |
8 | DIN | P20 | IIS串行数据输入线 |
9 | LCK | P19 | IIS左右声道选择线 |
10 | BCK | P18 | IIS系统时钟线 |
接口连接树莓派
将音频模块按照下面的连接图与树莓派GPIO口连接
| : |
下载最新的Raspbian操作系统(推荐Debian)。 烧录树莓派系统后上电,然后将树莓派连接网络。 因为当前树莓派的内核不支持WM8960编解码器,需要安装一个声卡驱动。在安装驱动前,先换源。可以选择清华,也可以选择中科大等国内源。 终端输入下面命令,打开sources.list文件
sudo nano /etc/apt/sources.list
在deb http://....前加#注释掉它,然后在最后一行添加下面内容:
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
运行下面命令,下载并安装声卡驱动: sudo apt-get update
sudo apt-get upgrade
git clone
https://github.com/respeaker/seeed-voicecard.git
cd seeed-voicecard
sudo ./install.sh
sudo reboot
重启树莓派后,运行下面命令,查看驱动是否安装成功。
sudo dkms status
如果显示内核版本,表示安装成功。 检测声卡,输入下面命令:
aplay -l
arecord -l
如果没有检测到声卡,请再重启一次树莓派试试。
通过audacity软件进行录音和播放,输入下面命令下载Audacity软件
sudo apt-get install audacity
audacity #打开Audacity软件
也可以用arecord录制,然后用aplay播放。
arecord test.wav
aplay test.wav
将耳机或喇叭插入音频模块的相应的接口即可以听见录音播放的效果。
输入以下命令配置并打开树莓派的SPI和IIC接口:
sudo raspi-config
在弹出的窗口,选择【“Interfacing Options”】,单击鼠标。然后选择【“SPI”】【“I2C”】->【“OK”】->【“Finish”】。 输入下面命令下载运行
git clone
https://github.com/respeaker/mic_hat.git
cd mic_hat
python pixels.py
安装激活Python虚拟环境,终端输入下面命令:
cd ~
sudo apt-get install python-virtualenv
virtualenv env #创建虚拟环境
cd env
source ./bin/activate # 激活虚拟环境
配置和安装相关依赖,终端输入下面命令:
cd ~
git clone
https://github.com/respeaker/avs
cd avs
python setup.py install
sudo apt-get install gstreamer1.0
sudo apt-get install gstreamer1.0-plugins-good
sudo apt-get install gstreamer1.0-plugins-ugly
sudo apt-get install python-gi gir1.2-gstreamer-1.0
pip install tornado
在终端运行alexa-auth命令,然后在弹出的浏览器界面选择“baidu dueros”登陆获取百度的授权,授权的文件保存在/home/pi/.avs.json。 输入下面命令:
cd ~
git clone
https://github.com/respeaker/respeaker_v2_eval.git
cd respeaker_v2_eval/alexa
sudo cp ~/mic_hat/pixels.py ./pixels.py
sudo nano ns_kws_doa_alexa.py
按照下面的信息更新第15-50行的设置:
from voice_engine.kws import KWS
#from voice_engine.ns import NS
#from voice_engine.doa_respeaker_4mic_array import DOA
from avs.alexa import Alexa
from pixels import pixels
def main():
logging.basicConfig(level=logging.DEBUG)
src = Source(rate=16000, channels=2, frames_size=800)
ch1 = ChannelPicker(channels=2, pick=1)
#ns = NS(rate=16000, channels=1)
kws = KWS(model='snowboy')
#doa = DOA(rate=16000)
alexa = Alexa()
alexa.state_listener.on_listening = pixels.listen
alexa.state_listener.on_thinking = pixels.think
alexa.state_listener.on_speaking = pixels.speak
alexa.state_listener.on_finished = pixels.off
src.link(ch1)
ch1.link(kws)
#ch1.link(ns)
#ns.link(kws)
kws.link(alexa)
#src.link(doa)
def on_detected(keyword):
#logging.info('detected {} at direction {}'.format(keyword, doa.get_direction()))
logging.info('detected {}'.format(keyword))
alexa.listen()
kws.set_callback(on_detected)
完成后,CTRL+C,然后按Y保存退出nano编辑器。 输入下面命令:
python ns_kws_doa.alexa.py
我们会在终端看到很多debug信息。当看到status code:204时,说snowboy来唤醒respeaker。音频上的RGB灯亮时,可以与它对话,比如“今天天气怎么样?”。