大热的麦克风阵列语音识别系统的设计和轻松实现,提供软硬件解决方案
本文引用地址:http://www.eepw.com.cn/article/201706/348732.htm
摘要:
在非近距离语音识别中,由于衰减、干扰、混响等因素的影响,使语音识别率显著降低。使用麦克风阵进行语音识别的好处是通过提高信噪比来提高语音识别率。而本项目与传统的麦克风阵进行语音识别的方法又有不同,它将语音接收端与语音识别部分组成一个反馈系统,通过优化接收端滤波器的系数,使跟语音识别密切相关的倒谱域似然比最大,来提高语音识别准确率。在进行Matlab仿真之后,将算法应用到FPGA中。FPGA开发板暂定为Xilinx公司的Nexys 3 Spartan-6 FPGA Board。
1、研究方案
1.1 总统研究方案
当前基于隐马尔可夫模型(HMM)的麦克风阵语音识别系统,主要包括阵列信号处理和特征识别两个阶段,原理图如图1.1所示:
图1.1 基于HMM的麦克风阵语音识别系统结构
其中前端的阵处理主要是为了进行语音增强,目的是在提取语音参数之前,尽量减小信号波形的失真。这一做法基于的假设是,对波形质量得到改善的信号进行特征识别能够提高识别性能,即先后单独进行阵处理和特征识别操作,如图1.2所示:
图1.2 常规的麦克风阵语音识别系统框架
本项目采用的处理方法,对阵元接收的信号进行滤波求和,其目的并不是为了改善信号波形质量,而是在于直接提高识别过程中正确假设的似然概率,进而提高识别率。这一方案需要将阵处理和识别过程联合起来考虑,框架如图1.3所示:
图1.3 结合识别过程进行阵处理的语音识别系统框架
本方案在接收阵上引入一组FIR滤波器,通过优化滤波器系数,产生一组阵参数以最大化信号被正确识别的概率。此方案将识别系统的输出结果反馈至前端的麦克风阵列,把识别系统的统计模型也考虑到前端阵处理中,是一种根据期望假设最大化而非期望信号最优化的自适应处理方法,以强化对于识别更为重要的信号分量,而之前的方法则是无分别地同等地加强所有的信号分量。
语音识别系统的工作原理在于从模板库中找出最有可能产生特征观察矢量序列的单词作为识别结果输出,即:对某一待识别的观察矢量,词库中每个词汇对应的HMM模板分别计算出相应的似然概率,选择使似然概率最大的模板所对应的词汇作为识别假设结果输出。
本文采用FIR滤波器对麦克风阵接收的信号进行处理,然后从滤波得到的信号中提取语音特征矢量
。定义一个滤波器参数矢量
包含该FIR滤波器中所有的系数,识别假设的得出依照贝叶斯分类准则:
,其中词语的发生概率
是基于语言模型的经验值,而假设似然概率
的计算则基于识别系统的统计模型。本文联合空时处理和语音识别过程,目的就在于搜索出一组FIR滤波器参数矢量
使得正确假设的似然概率
最大化,提高正确假设与非正确假设之间的概率差值,从而提高得到正确假设的概率。具体流程见图1.4、图1.5。其中图1.4是训练滤波器系数的框图,图1.5是利用已训练完成的滤波器系数进行语音识别的框图。
图1.4 训练FIR滤波器系数流程图
图1.5 联合FIR滤波的语音识别流程图
1.2关键算法
1.2.1
采用互相关法计算各路信号的时间延迟。假设有四路信号,分别为
。以
为参考信号,分别与
作互相关运算。以
与
为例,
与
作互相关,
指代互相关运算。求出使
最大时,信号所处的时刻,再减去
与
中长度较长的那个信号的长度,就可以求得信号的相对时延了。即假设使互相关函数
最大的时刻为t,
为其中长度较长的信号,其长度为
,那么:
即为相对时延。若
,则信号
比信号
先到达,反之,则信号
先到达。现在讨论
的情况,则要对信号
进行延时补偿,即将信号
向左平移
,平移出的值舍去。
根据以上两路信号的讨论,可以总结出四路信号进行延时补偿的步骤:以信号
为参考信号,分别对其他三路信号作互相关运算;
记三个互相关函数分别为
;
计算三路信号相对于信号
的时延,分别即为
;
找出三个时延中值最大的那个,假设为
;
如果
大于0,那么信号
向左平移
,其他三路信号向左平移
;
如果
小于0,那么信号
不用平移,其他三路信号向左平移
1.2.2 特征参数提取
其中特征参数的提取是采用Mel频率倒谱系数,这是因为Mel刻度在对声学测量时是最合理的频率刻度。基于听觉模型得到的Mel倒谱系数比基于声道模型得到的LPC倒谱系数更符合人的听觉特性,在有信道噪声和频谱失真的情况下,能产生更高的识别精度。所以本语音识别系统选择MFCC做为特征提取的参数。MFCC的产生过程可用图1.6表示。
图1.6 计算MFCC的流程图
2、实验设备及设计方案
本项目首先用Matlab仿真算法,采用一个六通道的音频采集硬件系统,连接到PC上采集语音信号。该系统主要包括六只同型号的全指向性电容话筒,一个放大倍数可调的多通道低噪放,和一块采样频率最高可达50KHz的数据采集卡,结构框图如图2.1所示,图2.2是实物拍摄照片。实验中,将六个麦克风排列成按照5.2cm的相邻阵元中心间距排列成一均匀线阵进行数据采集,如图2.3所示。
图2.1 基于PC的音频采集硬件系统框架
图2.2 音频采集硬件实物
图2.3 麦克风阵架子,架子长约65cm,宽约20cm
本实验每个人录制HMM模型库中的十个单词,分别为able、afraid、already、autumn、base、below、body、box、build、careful,录制人离麦克风阵2.5米左右,麦克风间的距离约为5cm,这样就能够近似认为,说话人说出的语音信号是由平面波的形式到达麦克风阵的。录制环境的信噪比大约为50dB。将这些录制的单词储存在PC中,然后用Matlab程序进行训练得到滤波器系数。之后采用图1.5的流程进行语音识别。经过初步的研究发现,该算法具有较好的识别效果。
下一步就是将Matlab算法移植到FPGA中,如图2.4。
图2.4 基于Nexys 3 Spartan-6 FPGA Board的音频采集硬件系统框架
首先将训练得到的滤波器系数及HMM模型存储与Nexys 3 Spartan-6 FPGA Board的外部存储器中,之后经多路低噪声放大器,AD信号采集卡将测试者的语音信号输入到FPGA。因为采集卡输入的是串行的信号,FPGA需将六路语音信号进行时分复用采集,转换为并行的信号,供后续处理。后续处理流程及算法参见图1.5及1.2 关键算法。其中滤波器、乘法、FFT等等算法可以利用现有的IP核,以提高设计效率。识别完成后将识别结果在七段译码显示器上显示。为了简便起见,可以将able、afraid、already、autumn、base、below、body、box、build、careful分别标定为1~10,然后将相应的数字显示在七段译码显示器上。
如果识别效果理想,可以将现有的十个单词的库提升到50个词、100个词,但是这都需要进一步的研究以及更高性能的硬件支持。
大热的麦克风阵列语音识别系统的设计和轻松实现,提供软硬件解决方案相关推荐
- 近期大热的实时直播答题系统的实现思路与技术难点分享
为什么80%的码农都做不了架构师?>>> 1.前言 HQ Trivia 号称直播答题的鼻祖,它是一款小知识互动游戏,由短视频社交鼻祖Vine的联合创始人拉斯-尤苏波夫和科林-克 ...
- 音视频开发(41)---ROKID桌面机器人麦克风阵列拆解分析及设计建议
ROKID桌面机器人麦克风阵列拆解分析及设计建议 ROKID桌面机器人麦克风阵列及功放拆解分析及设计建议 一:整体外观 二:MIC阵列所处位置 三:麦克风结构设计方案: 1: 目前麦克风结构设计大体分 ...
- 不同品牌android手机ui,各大安卓手机品牌里,系统UI设计对比,谁赢了?
国产品牌的安卓手机虽然都使用的是安卓系统,但随着各自品牌的发展优化,UI界面设计形成了各自品牌的鲜明特色. 品牌之间页面的UI设计和风格很大不同,那到底谁家的UI设计界面完胜呢? 跟随教授一起来看看吧 ...
- 基于大数据的情报分析与服务系统架构设计
一.大数据在军事领域中的应用 技术作为一项从大量数据中获取有用知识的实用技术,已被广泛应用于各行各业并取得了较大的经济和社会效益,而其在军事领域的应用也具有很大的潜力. 1 提升情报获取能力 现代战 ...
- 聊一聊麦克风阵列技术:语音交互应该选用怎样的方案?(转载)
转自:http://news.soundai.com/?id=7 雷锋网(公众号:雷锋网)按:本文作者陈孝良,工学博士,声智科技创始人.雷锋网独家文章. 亚马逊Echo和谷歌Home争奇斗艳,除了云端 ...
- 一个典型的语音识别系统
一.语音识别技术 转载请表明出处:http://blog.csdn.net/u012637501(嵌入式_小J的天空) 语音识别技术,广泛来说是指语意识别和声纹识别:从狭义上来说指语音语义的理 ...
- 麦克风阵列杂音很重解决方案(科大讯飞麦克风阵列+6.0)
使用独立电源 使用独立电源 使用独立电源 实验室买了一块科大讯飞的麦克风阵列6.0-- 昨天测试了下杂音非常重-- 语音测试的音频下载链接:http://download.csdn.net/detai ...
- 基于大数据的公共建筑能耗监测系统的应用探究
摘要:为了解决当前公共建筑能耗居高不下的突出问题,借助当前信息化技术手段,围绕公共建筑能耗监测系统中的大数据应用,从监测系统的总设计框架入手,分别就物联网中数据采集器设计方式.数据传输技术.数据库部署 ...
- 小米大数据:借助Apache Kylin打造高效、易用的一站式OLAP解决方案
如今的小米不仅是一家手机公司,更是一家大数据与人工智能公司.随着小米公司各项业务的快速发展,数据中的商业价值也愈发突显.而与此同时,各业务团队在数据查询.分析等方面的压力同样正在剧增.因此,为帮助公司 ...
最新文章
- 综述:解决目标检测中的样本不均衡问题
- Spring Cloud、K8S、Netflix OSS三者啥关系???
- ACE线程管理机制-并发控制(4)
- python100个必背知识-python学习必备知识汇总
- oracle性能优化总结
- 《Total Commander:万能文件管理器》——第4.5节.其他补充
- 用DropDownList做的日期
- 机器人煮面机创始人_煮面机器人会是未来的「食神」吗?
- SPSS基础教程—怎样对数据进行综合评价排名
- 计算机发展历程 思维导图
- mysql数据库的超级管理员名称_MySQL数据库的超级管理员用户的名称是__________。...
- mumu模拟器cpu设置_网易MuMu模拟器CPU虚拟化怎么设置?
- 光模块单模和多模的区别
- 自建cdn搭建_自建CDN
- 【java 高并发编程之JUC】2w字带你JUC从入门到精通
- 【STM32H7教程】第29章 STM32H7的USART串口基础知识和HAL库API
- Grbl代码分析 cpu-map.h
- 通过 汇编了解C语言 指针 悬垂指针概念
- 互联网之父温顿·瑟夫今日访华
- 作为一个在校大学生,是否有必要参加计算机培训班?
热门文章
- spring的历史与设计哲学
- HDU 4442 Physical Examination(关于贪心排序)
- CentOS6编译装载nbd模块
- UVA11384 Help is needed for Dexter【数学】
- UVA10978 Let's Play Magic! 题解
- 51Nod-1049 最大子段和【DP】
- 程序设计入门经典题解(百练篇)
- 微观经济学 —— 公用品悲剧(tragedy of commons)
- 强悍的 Python —— 读取大文件
- 距离的度量(Dissimilarity Measure、Distance Metric)