(SKU:DFR0614)Audio Module for Raspberry Pi
目录 |
概述
这是一款适用于树莓派的音频模块,该模块基于WM8960芯片开发,板载两个麦克风录音,板载3.5mm通用耳机接口和双通道喇叭接口,支持立体声、3D环绕等音效输出。板载3个RGB LED灯珠,连接到树莓派的SPI接口,通过编程控制灯的颜色和亮灭。
特点
- 支持立体声、3D环绕等音效输出
- 可直接驱动扬声器
- 可外接耳机播放
- 3个彩色RGB
技术规格
- 供电电压:4.5-5.5V
- 逻辑电平:3.3V
- 音频编解码芯片:WM8960
- 控制接口:I2C
- 音频接口:I2S
- DAC信噪比:98dB
- ADC信噪比:94dB
接口说明
|
使用教程
硬件连接
将音频模块按照下面的连接图与树莓派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
将耳机或喇叭插入音频模块的相应的接口即可以听见录音播放的效果。
LED控制
输入以下命令配置并打开树莓派的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
百度中文语音互动或alexa英文语音互动
安装激活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灯亮时,可以与它对话,比如“今天天气怎么样?”。