(SKU:DFR0614)Audio Module for Raspberry Pi

来自DFRobot Product Wiki
2019年7月5日 (五) 13:20Dfrobot-bj讨论 | 贡献的版本

(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索
正面示意图

目录

概述

这是一款适用于树莓派的音频模块,该模块基于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

如果显示内核版本,表示安装成功。

DFR0614 3.png

检测声卡,输入下面命令:

   aplay -l
   arecord -l
DFR0614 4.png

如果没有检测到声卡,请再重启一次树莓派试试。

录音播放

通过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  # 激活虚拟环境
DFR0614 05.png

配置和安装相关依赖,终端输入下面命令:

   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。

DFR0614 06.png

输入下面命令:

   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灯亮时,可以与它对话,比如“今天天气怎么样?”。

更多

音频模块尺寸图

尺寸图


DFshopping car1.png DFRobot 商城购买链接

个人工具
名字空间

变换
操作
导航
工具箱