PXVF3000-KIT_硬件使用
概要

PXVF3000-KIT针对XMOS的XK-VF3100-C43 开发板进行硬件升级,优化了硬件设计及布局,更加适合用户直接使用和项目评估。完全兼容XMOS的XK-VF3100-C43 开发板,所用的DSP芯片为XVF3000,设计成等距圆形4麦阵列。
PXVF3000-KIT为4麦阵列设备,作为前端信号处理,实现语音增强,可同时输出两路前 端处理后的声音信号,且其分别为用于语音识别(ASR,Automatic Speech Recognition )和用于会议电话(Comms, communication and conferencing)。支持使用USB Audio Class 1协议(UAC1.0)传输音频 ,支持所有流行的操作系统(Windows , MAC, Linux和Android),允许作为USB声卡设备枚举接入操作系统中。
PXVF3000-KIT内置了单声道回音消除(AEC) , 波束成型(BF),噪声抑制(NS)和自动增益(AGC)算法,非常有效地实现在远距离和嘈杂环境提高语音识别率和通话质量。使用USB 接口快速接入各种操作系统,同时配套提供了多套固件,非常适用用户迅速接入桌面会议产品中。
版本
产品版本 | 修改 | 发布时间 |
---|---|---|
PXVF3000-KIT V1 | EOL(停产) | 2017年10月20日 |
PXVF3000-KIT V2 | 重新修改设计,简化其他硬件,且去掉蓝牙 | 2020年11月15日 |
特点
-
远距离拾音
-
支持USB Audio Class 1.0 (UAC 1.0)
-
支持USB HID 调试和USB DFU升级
-
4路圆形麦克风阵列
-
支持3.5mm耳机孔作为播放输出
-
DSP 算法和特点
· Voice Activity Detection(VAD)
· Full duplex, Mono, Acoustic Echo Cancellation(AEC)
· Beamforming(BF)
· Noise Suppression (NS)
· Automatic Gain Control (AGC)
规格
-
XMOS XVF3000 主控,内置4麦圆形阵列算法
-
4路PDM 数字麦克风:3SM222KMB1HA-022
· Sensitivity: -26 dBFS (Omnidirectional)
· Acoustic overload point: 120 dBSPL
· SNR: 64.5 dBA
-
供电:USB 5V
-
尺寸:70mm(Circle)
-
USB播放->3.5mm耳机孔模拟line-out
· DAC: ES7154
· 3.5mm耳机孔
-
音频传输:
· USB UAC 1.0 输入输出,USB播放信号经过XVF3000作为AEC参考信号
· 采样率:16KHz/48KHz
-
功耗: 5V, 180mA (Max)
硬件概述
- XMOS XVF3000 :集成了UAC1.0和4 MIC阵列算法,包含了单声道回音消除(mono AEC) , 波束成形(BF),噪声抑制(NS)和自动增益(AGC)算法
- Micro USB : 提供5V电源,并且传输音频和固件更新,控制和调试
- DAC ES7154:USB 声卡(UAC1)音频输出解码芯片
- XMOS XTAG:XMOS专用调试工具XA-XTAG接口
- Phone-jack:DAC的芯片的line-out 3.5mm耳机孔
- MIC0~4:PDM 数字麦克风,圆形等距分布
系统连接框图
尺寸
应用场合
- 桌面会议(Comms)
- 医疗设备(ASR)
- 智能管家(ASR)
- 智能机器人(ASR)
开始
第一个Demo
通常情况下,用户拿到PXVF3000-KIT PCBA板后,建议先在Windows系统做初步使用和认证。使用Micro USB 数据线来连接PXVF3000-KIT和Windows系统电脑,需要做初步设置和确认。
声卡设备设置
确认Windows设备管理器已经成功枚举了PXVF3000-KIT,并且打开声音控制面板进行设置
确认设备管理器->音频输入和输出是否存在
XMOS VoclalFusion SPK(uac1.0)是否成功枚举,PXVF3000-KIT作为USB Audio Class 1.0设备
关于 于XMOS Control可以在后面需要调试时在安装驱动,初次使用时可以先跳过
在声音界面进行设置和确认
1,在播放栏项,设置XMOS VoclalFusion SPK(uac1.0)为默认设备
2,在录制栏项,设置XMOS VoclalFusion SPK(uac1.0)为默认设备
3,同时确认播放和录制栏项的音频格式设置为一致,如16bit ,16000KHz或者16bit 48000KHz
Demo 和录音
使用Audacity。第三方开源录音软件在Windows系统进行录音设置,接着使用Audacity录音。
PXVF3000-KIT出厂默认固件为USB输入6ch 16kHz采样率处理后的声源,其中ch0为Comms信号,ch[1-4]为mic[0-3] 麦克风的原始信号,ch5为回音消除的参考信号。
在通常的操作系统中,系统都会默认使用ch0作为ASR或者Comms来当作麦克风输入,所以PXVF3000-KIT输入6ch并不会影响实际上的使用。
在其他操作系统如MAC OSX和Linux操作系统,Demo和录音的用法跟Windows类似。
固件和DFU升级
如果PXVF3000-KIT的出厂默认固件满足不了用户的配置需求,可以在Firmware中选择其他配套的固件,使用USB数据线连接PC电脑,使用配套提供的DFU(Device Firmware Update)工具进行更新固件。
安装驱动
Windows系统:
PXVF3000-KIT在操作系统中都能识别成XMOS VoclalFusion SPK(uac1.0)作为声卡输入输出,而Windows系统中的设备管理器显示的XMOS Control需要安装USB驱动,才能使用XMOS提供的dfu_usb工具进行升级和vfcrtol_usb工具进行DSP 参数控制。推荐使用第三方工具zadig进行安装XMOS Control的USB驱动。
运行zadig,
- 在列表中选择 XMOS Control (Interface 3)
- 然后选择 libusb-win32
- 点击 Reinstall Driver
- 安装完成了后,则会出现类似如下图片显示
Linux系统:不需要安装驱动
Mac 系统:不需要安装驱动
固件列表
这里配套提供了7个固件,主要是USB的音频的通道数,算法方向和采样率作为区别,参考下表。
Firmware | channel | ch0 | ch1 | 采样率 | Description |
---|---|---|---|---|---|
app_vf_spk_base_cir32_1i1o2.dfu | 1 | Comms | - | 16000Hz | Comms output |
app_vf_spk_base_cir32_1i1o2_48khz.dfu | 1 | Comms | - | 48000Hz | 48kHz Comms output |
app_vf_spk_base_cir32_1i1o2_asr.dfu | 1 | ASR | - | 16000Hz | ASR output |
app_vf_spk_base_cir32_1i2o2.dfu | 2 | Comms | ASR | 16000Hz | ch0:Comms; ch1:ASR |
app_vf_spk_base_cir32_1i2o2_48khz.dfu | 2 | Comms | ASR | 48000Hz | ch0:Comms; ch1:ASR |
app_vf_spk_base_cir32_1i6o2.dfu | 6 | Comms | mic-0 | 16000Hz | default firmware ch0:Comms; ch1:mic0; ch2:mic1; ch3:mic2; ch4:mic3; ch5: mono aec_ref; |
app_vf_spk_base_cir32_1i6o2_asr.dfu | 6 | ASR | mic-0 | 16000Hz | ch0: ASR ch1:mic0; ch2:mic1; ch3:mic2; ch4:mic3; ch5: mono aec_ref; |
DFU升级
Windows系统:
PXVF3000-KIT使用USB进行DFU升级的工具为dfu_usb.exe,打开cmd命令行终端工具,cd进入pvf3000/xvf3000_dfu文件夹,键入如下指令或者或者复制其中对于固件的指令进行运行。
dfu_usb write_upgrade ../firmware/app_vf_spk_base_cir32_1i1o2.dfu
执行完之后,打印出一下信息说明固件DFU升级成功
Attempting to connect via USB: connected
Sending file size: 0x24600 padded to 0x24600
Written bytes: 0x24600
done
其他操作系统如Mac OS和Linux的使用Terminal,键入指令和打印的内容一致。DFU升级成功后,需要对板子重启或者重新上电
dfu_usb reboot
在通常情况下,在windows系统DFU升级成功后,PXVF3000-KIT会遇到无法录制使用,问题可以在[FAQ](# FAQ):Q2找到答案
在其他操作系统
需要提前编译出dfu_usb工具,进入路径pxvf3000/xvf3000_dfu/host/xmosdfu,然后执行同上的dfu_usb指令,可以得到同样的结果
- MAC OSX
- Linux
- Raspberry Pi
make -f Makefile.OSX
make -f Makefile.Linux64
make -f Makefile.Pi
DSP control 在线调试
上文提供的所有 固件都是使用XMOS Vocal Fusion默认的DSP参数,其实PXVF3000-KIT也支持在线调试麦克风阵列DSP 算法参数。使用DSP Control工具为vfctrol_usb(exe)。在进行在线调试工作前,建议用户认真阅读XMOS的文档资料XVF3000-3100-DSP-Databrief。足够了解麦克风阵列相关算法名称和DSP 参数,才方便进行在线调试。并且下文描述内容跟XMOS提供的文档一致。
以下内容已经假设用户对麦克风阵列的DSP算法,已经有一定的了解,或者根据文档自行了解熟悉,并且了解其DSP参数和数值
Acoustic Echo Cancellation (AEC)
Beamforming(BF)
Voice Activity Detection (VAD)
Noise Suppression (NS)
Automatic Gain Control (AGC)
在线调试
windows系统
确保PXVF3000-KIT在设备管理器中的XMOS Control驱动已经安装(仅windows系统需要)
windows系统,运行cmd,并且cd进入pxvf3000/xvf3000_control
,键入类似指令以运行vfctrol_usb,便可进行在 线调试
vfctrl_usb MIN_NS
打印输出的信息如下:
MIN_NS:0.15
其他操作操作系统运行Terminal终端,但是同时需要提前编译出vfctrol_usb工具,进行同样的操作即可。cd进入路径pxvf3000/xvf3000_control/host/control
。
- MAC OSX
- Linux
- Raspberry Pi
make -f Makefile.OSX
make -f Makefile.Linux64
make -f Makefile.Pi
XVF3000里面有很多DSP参数可配置,用户根 据XVF3000-3100-DSP-Databrief的介绍,可以实现通过USB HID(XMOS Control)进行在线调试参数
在线调试的参数仅存在XVF3000 RAM内存中,断电即复位为默认值,如确实需要保存已调试的参数到flash中,需要生成DFU配置固件。
资源下载
PXVF3000-KIT.zip全部的资料(点击下载)
支持和商务
PXVF3000-KIT支持PCBA定制服务,提供批量PCBA和芯片供应服务。
任何的技术支持和商务合作,可以直接邮箱联系我们:mic@pawpaw.cn,或者访问www.pawpaw.cn了解更多。
FAQ
Q1: 回音消除怎么使用
PXVF3000-KIT的AEC的参考信号只有一个路径,即通过USB当作 播放声卡,声音经过XVF3000时会保留AEC参考信号在XVF3000 RAM中,已实现AEC参考信号的提供。
Q2: DFU更新完之后,在windows操作系统下使用audacity录制出错的原因
出现该问题仅是在Windows系统,其他操作系统Mac和Linux并不会存在这个情况。由于windows系统对声卡有记忆功能,DFU固件了后,可能改变了与之前声卡的记忆,导致了使用第三方软件如audacity无法录制音频,这时需要使用usbdeview进行删除Windows的对声卡的记忆。
USB连上PXVF3000-KIT和windows PC,运行usbdeview,点击Connected栏项以列出XVF3000相关枚举情况;逐一选择XVF3000的枚举,右击后出现新的界面;选择Uninstall Selected Devices进行删除Windows的声卡的记忆;重新上电即可。
同时确保windows系统的声音面板的播放栏项和录制栏项音频格式设置为一致,并且建议关闭录音软件,再重新运行录音软件。
Q3:dfu_usb和vfctrl_usb显示could not find device和无法使用的原因?
确保USB连接了PXVF3000-KIT和PC,并且确保已经使用了zadig进行安装了XMOS Control的驱动。如果问题仍出现,尝试确认一下XMOS Control是否已经枚举,亦或者卸载XMOS Control驱动,并且使用zadig重新按照。
Q3: 有提供例程连接语音识别平台吗?
抱歉,这方面我们没有提供例程,类似Alexa和Aliyun等语音识别API,我们没有办法提供相关例程。