揭示 Aaware Zynq 加速的远程声音捕捉平台背后的秘密

作者:Sleibso,编译:蒙面侠客

高性能的语音控制系统在智能家具和机器人的发展过程中显得越来越重要。语音控制系统的信号采集端使用麦克风阵列会得到更丰富的声音信号,为声音定位提供了可能,处理语音的硬件的性能和相应的软件算法直接决定了语音控制系统的处理效率和精确度。亚马逊和谷歌等大型互联网公司都在努力的研究高性能的语音控制系统,作为极客的你是不是也想入手一个硬件平台,开始自己的智能硬件的开发之旅呢?好的平台是成功的一半!

亚马逊的Alexa和Google Home的出现助推了语音控制系统的发展。今天小编带领各位领略一个适合自己DIY的语音控制系统开发平台。图.1为Aaware的价值199美元的远场开发平台,它是一款基于云的语音控制系统。远场语音识别受限于背景噪声、其他人声的干扰、回声、混响等多重复杂的因素,会导致其识别率的降低,而Aaware平台能够实现远场声音在有噪声的情况下的高精度的语音识别。小编曾经也做过一些其他的语音控制系统,但是效果都不是特别的理想。看了Aaware的演示视频之后,发现这款平台在预处理声音,消除噪声,远场的声音的捕捉方面有着超强的能力。在惊叹之余,我们一起来探索一下Aaware远场开发平台背后所隐藏的技术秘密。这种远程远场声音捕获技术展现出的能力如下:

1.无需参考信号就可消除干扰噪声。(解决方案专注于AEC声学回声消除);
2.支持不一致的1D和2D麦克风阵列间距,实现声源判断和定位;
3.更多的麦克风使其在嘈杂的环境中获得更好的效果;
4.对声音的捕获,提供单芯片的解决方案,同时支持多词唤醒以及用户自定义应用;
5.登录有ubunut的Linux环境,使用Aaware的流音频API工具进行应用的开发。

图.1 Aaware的远场开发平台

图.1 Aaware的远场开发平台

这么多的硬件优势是基于Xilinx的Zynq SoCZynq UltraScale + MPSoC来实现。Aaware的CTO称赞道,Zynq器件是强于一个嵌入式处理器10倍的性能的器件,这多亏了芯片里面的可编程逻辑,通过可编程逻辑门阵列分担了片上ARM核心所需要处理的数据,通过图.2得知,他们之间的数据是通过AMBA总线进行交互的。Aaware能够根据用户对性能的需求,将其算法放到单核心的Zynq Z-7007S SoC中或者升级算法到双核心的Zynq SoC中,如果想要追求更好的性能可以使用Zynq UltraScale+MPSoC器件来搭建远场语音控制系统。

图.2 ZYNQ-7000S系列框图

图.2 ZYNQ-7000S系列框图

有了硬件平台,我们需要进一步的了解一下相应的软件开发工具链,Aware的算法开发是基于一个特有的工具链:

  • 在MATLAB中进行算法的开发;
  • 使用C++对算法进行实现;
  • 使用Vivado HLS从C++规范进行硬件加速器综合;
  • 使用Xilinx SDSOC 将硬件加速器连接到AXI总线和存储器中。
  • 有了工具链就可以使得Aaware能够将其想要的功能集成到最小的Zynq Z-7007S SoC中, 如果有更高性能的需求还可以将算法应用到最大的Zynq UltraScale + MPSoC平台之上。

    智能语音控制系统需要在硬件平台和软件算法两方面共同入手。将Aaware 的基于Zynq的远场声音捕捉平台作为一个特例,反应了当下语音控制系统的一种实现方法,硬件平台使用Xilinx的可编程SOC是一个很好的选择,因为它支持运行嵌入式实时操作系统的同时能够快速的处理数据,有着很好的性能功耗比;至于软件的开发,可谓是五花八门,结合当下自然语言处理和深度学习的快速发展,想必会有更好的算法能够实现更快更精准的语音控制系统。

    声明:本文来源于Xilinx Xcell Daily Blog,由创新网赛灵思中文社区编译,转载请注明作者、出处及原文链接