S334张航中期报告.docx
- 文档编号:8799169
- 上传时间:2023-05-15
- 格式:DOCX
- 页数:14
- 大小:43.29KB
S334张航中期报告.docx
《S334张航中期报告.docx》由会员分享,可在线阅读,更多相关《S334张航中期报告.docx(14页珍藏版)》请在冰点文库上搜索。
S334张航中期报告
项目编号S2010344
武汉大学大学生科研项目中期报告
嵌入式语音搜索系统
院(系)名称:
电子信息学院
专业名称:
电子信息工程
学生姓名:
张航梅鹍周栋炀
刘铭李丹
指导教师:
范赐恩讲师
2011年3月7日
INTERIMREPORTOFUNDERGRADUATESCIENCERESEARCHPROJECTOFWUHANUNIVERSITY
EmbeddedVoiceSearchingSystem
College:
SchoolofElectronicInformation
Subject:
electronicinformationengineering
Name:
ZhangHangMeiKun
ZhouDongyangLiuMingLiDan
Director:
FanCienProfessor
March2011
郑重声明
本人呈交的中期报告,是在导师的指导下,独立进行研究工作所取得的成果,所有数据、图片资料真实可靠。
尽我所知,除文中已经注明引用的内容外,本报告的研究成果不包含他人享有著作权的内容。
对本报告所涉及的研究工作做出贡献的其他个人和集体,均已在文中以明确的方式标明。
本报告的知识产权归属于培养单位。
本人签名:
日期:
摘要
目前,语音识别技术已经走出了实验室,走向市场,基本达到了实用阶段。
其中,孤立词、小词汇量的语音识别系统和大词汇量的语音识别系统的性能已经相当可观。
本项目是依靠ARM的嵌入式语音搜索系统的研究,本小组从硬件ARM的选择,语音系统设计过程,隐马尔科夫理论HMM,设计中存在的问题几个方面进行了深入的探讨。
关键词:
ARMHMM语音识别技术语音库
ABSTRACT
NowadaysVoiceRecognitionhavealreadywentoutoflabandcanbeputintopracticaluse.Especiallysystemofisolated-wordorfewwordsrecognitionandsystemofalargevocabularyrecognitioncanperformwellinapplication.ThisprojectisaEmbeddedVoiceSearchingSystembasedonARM.OurgrouphavediscussedtheproblemsinchoosingARM,thedesigningvoicesystem,HMM,et.
Keywords:
ARMHMMVoiceRecognitionVoiceBank
目录
摘要……………………………………………………………………………………………Ⅰ
ABSTRACT………………………………………………………………………………………Ⅱ
第1章绪论…………………………………………………………………………………1
1.1背景…………………………………………………………………………………1
1.2研究内容……………………………………………………………………………1
第2章硬件的选择………………………………………………………………………2
2.1ARM的选择…………………………………………………………………………2
2.2三星S3C2440………………………………………………………………………2
第3章课题原理…………………………………………………………………………3
3.1硬件总体设计………………………………………………………………………3
3.2HMM模型……………………………………………………………………………4
3.2.1HMM的定义………………………………………………………………4
3.2.2HMM的基本算法…………………………………………………………4
第4章语音库的建立……………………………………………………………………7
4.1语音库基础知识…………………………………………………………………7
4.2DLL文件……………………………………………………………………………8
结论………………………………………………………………………………………………9
参考文献………………………………………………………………………………………9
第1章绪论
1.1背景
目前,语音识别技术已经走出了实验室,走向市场,基本达到了实用阶段。
其中,孤立词、小词汇量的语音识别系统和大词汇量的语音识别系统的性能已经相当可观。
如:
IBM公司的Tangora-5000和20000词汇识别系统,已经分别达到了97.1%和94.6%的识别率。
AT&Bell实验室的音素识别系统的识别率为99.6%。
DragonDictate的20000及70000词汇翻译系统,识别率分别达到了90%和80%。
目前,孤立词语音识别正在向更大词汇量、话者无关的高难度方向发展。
连续词连续语音识别系统也发展迅速。
如CMU的词汇量为997的话音无关连接词SPHIX识别系统,获得95.8%的性能。
类似的哼唱搜索:
Midomi哼唱搜索,Midomi是总部位于硅谷的MelodisCorporation出品的一款依靠哼唱歌曲旋律来搜索歌曲信息的搜索引擎。
在搜索过程中用户不需要输入类似词曲作者、演唱者或者歌曲名等任何关于歌曲的文字信息,而只需要把歌曲哼唱出来,就可以通过Midomi的数据库找到匹配的歌曲。
Midomi哼唱搜索也就是说,如果你在听广播,或者走在马路上,听到一首自己很喜欢的歌曲却不知道是什么歌的时候,都可以找它帮忙。
Midomi使用了一种叫做Querybyhumming(QbH,哼唱搜索)的技术,QbH的搜索系统通过听取用户的哼唱作为输入的查询内容,然后在数据库内进行搜索,最后显示出一系列与用户哼唱内容接近的歌曲作为返回结果。
Midomi便是这项技术最成功的应用者之一。
1.2研究内容
我们小组研究的课题是嵌入式语音系统的设计,在这半年的时间里,我们小组成员从课题原理,语音系统设计过程,设计中存在的问题几个方面进行了深入的探讨。
总的来说我们的目标是设计出一种基于ARM的语音系统,下面我们就从以上几个方面来谈一谈我们小组自己的一些看法和科研进展情况。
第2章硬件选择
2.1ARM的选择
由于市场上基于ARMS3C2410为内核的单片机已经几乎被淘汰了,即使能够买到也是价格比较高性价比比较低的产品,所以我们选用了一款它的升级版由友善之臂公司生产的FriendlyARMMini2440.这是一款以三星s3c2440为内核嵌入式开发板。
2.2三星2440
三星244016/32-bitRISC微处理器.是一款专用的以手持设备为主而设计的芯片,其特点有低功耗,高速的处理计算能力.为了减少系统的耗费,2440使用了如下组件:
2440基于ARM920T内核的,0.13Umcmos标准单元和存储单元复合体.它功耗及小,简单,稳定的设计非常适合对电源要求较高的产品上.她采用了新的总线构架(AMBA).
*1.2v内部电压,1.8v/2.5v/3.3v内存记忆体电压,3.3v外部i/o
*外部存储器控制单元(控制sdram和片选)
*lcd专用控制器和专用DMA通道
*外部4路独立DMA控制器
*3路串口,读写64k缓存
*2路spi口
*IIC总线接口
*IIS音频总线接口
*AC'97解码总线接口
*SDhostinterfaceversion1.0andMMc2.11
*2路USBhost控制器和单路设备usb控制器1.1
*4路定时器1路内部计数器和看门狗
*8通道10bitADC和触摸屏幕接口
*RTC时间日志功能
*摄像头
接口(Max4096x4096and2048x2048supportforscaling)
*130路独立通用GPIO/24通道中断资源
*PLL锁像环生成各种时钟特性:
1.构架:
嵌入式系统和手持设备专用,32bitarm9强力cpu内核,增强mmu管理,支持多种操作系统2.系统管理:
支持大/小存储模式,寻址1G,支持多种字宽,启动地址固定在0~6bank,8个memorybank:
6个forrom,sramandothers、2个bankforrom/sram/同步dram(SynchronousDRAM),支持外部wait信号扩展总线周期/支持自刷新状态在剩电模式,支持多种启动方式3.NandFlash启动:
4kb内部buffer负责运行启动代码,在从nand启动后,支持存储空间在nandflash4.时钟和电源:
在片上有两个pll(MPLLandUPLL)upll产生的时钟供给usb使用,mpll产生的始终供给mcu使用,并且最大可以到MAx:
400Mhz&1.3v,软件上可以选择不同的时钟对应不同的功能模块,电源模式分为---普通,缓慢,空闲,休眠。
S3C2440基本兼容S3C2410,只是作为新一代ARM新增了AC97(ADC语音接口),摄像头接口,同时运行速度大为提升。
第三章课题原理
3.1总体设计
内存缓冲区麦克风扬声器
内部总线
L3控制接口
音频数据
IIS控制器
音频数据
IIS总线
3.2HMM模型
3.2.1HMM的定义
马尔可夫链描述了一个有限状态自动机在时间T内的状态变化,该自动机在任一离散时刻t,只能处于有限状态集S中的某一状态,S={S1,Sz-...SN}。
用XI,X2,......XT,表示自动机在时刻t=1,2,......T时刻所处的状态。
如果在时刻m+k时刻所处的状态为qm+k的概论,只与其在m时刻的状态qm有关,而与m时刻以前的状态有关,即:
P(Lk-qs+k}M=q.,X.l-q。
一、,…...XI=ql)-P(X。
十,=q。
二、}X.=q.)其中qt,q2,""....qN属于S,那么X。
为马尔可夫链[[14j0如果在任何时刻t,外界无法观测到系统所在的状态Xc,而只能得到与这个状态有关的一个随机矢量O,,,这个就构成了一个一阶隐马尔可夫模型。
HMM成功利用概率及统计学理论解决了如何识别不同参数的短时平稳信号段以及如何跟踪它们的转化的问题。
一个HMM模型可以由下列参数描述.
N一模型中状态的数目。
马尔可夫模型的状态是隐藏起来的,但在很多实际的问题中通常有物理意义。
状态的集合表示为S-lSlfSZ......SNJft时刻的状态表示为qto
M一表示观察符号数,即每个状态可能输出观察符号的数目。
∏一初始状态概论矢量,第一次选中某个状态的概论。
A一状态转移概论矩阵,A=(alk)1
B一观察值的概论矩阵,B=(b;,)1 指在某一个状态下观察某个符号的概论。 于是可以把HMM看作一个五元素组X=(N,M,∏,A,B)。 其中N,M描述了HMM的规模,而∏,A,B描述了HMM的统计特征。 所以可以用λ=(∏,A,B)对于语音识别用的HMM也可以用这三个模型参数来表示。 HMM分为两个部分: 一部分是马尔可夫链,由二、A来描述,产生的输出为状态序列: 另外一部分是一个随机过程,由B来描述,产生的输出为观察值序列。 3.2.2HMM的基本算法 在应用HMM进行语音识别的建模时还要解决以下三个问题: 1、观察序列O={01,o2……oT}和模型a,=(A,B,∏)确定后,如何有效的计算在给定模型入条件下产生观测序列O的概论P(O/λ)? 2、观察序列0={01,02......OT}和模型X,=(A,B,∏)确定后,如何根据状态序列的使用目的,选择相应的最佳状态序列? 3、如何调整模型参数(A,B,∏)以使条件概论P(O/λ)最大? 第一问题常用前向后向算法来解决。 对于P(0/x)直接求的方法如下: 对一个固定状态的序列Q=ql,q2.....qt。 有 P(O|Q,λ)=∏P(ot|qt,,λ)=Bφ1Bφ2Bφ3Bφ4……BφT 其中: BφT(ot)=bjk|qt=nj,ot=vk;1≤t≤T 所以求的概论为: P(O|Q,λ)=∑P(o|s,λ)P(s|A)=∑∏Bφ1Bφ2Bφ3Bφ4……BφT 这种计算量是非常大的,达到2TNt数量级。 前向后向算法是解决这一个问题的有效的算法。 定义前向变量为: at(i)=P(o1,o2,...ot,qt=i|λ)那么有 1)初始化: 对于1 at(i)=∏ibi(ot); 2)递推: 对1 at+1(J)=[∑at(i)aij]bj(0t+1) bj(ot+1)=bjk|0t+1=vk 3)终止: P(O/λ)=∑aT(i) 这种算法计算量大为减少,只需要N2T次运算。 对于N=5,T=100时,只需 要计算3000次乘法就可以得出结果,比原始的计算方法的计算量少了很多。 后向算法只是定义一个后向变量,其余的算法相似。 第二个问题采用Viterbi算法来实现。 Viterbi算法不仅可以找到一条足够好的状态转移路径,还可以得到该路径所对应的输出概论。 而且这种算法比全概论公式的计算量要小的多。 Viterbi算法的过程为: 1)初始化 δ1(t)=∏ibi(0i);1≤i≤N σ1(i)=0;1≤i≤N 2)递归 δt(j)=max[δt-1(i)aij]bj(ot);2≤t≤T,1≤J≤N σt(j)=argmax[δt-1(i)aij];2≤t≤T,1≤J≤N 3)结束 P*=max[δT(i)] q*T=argmax[σT(i)] 4)最佳状态序列为 Qr*=ψr+1(qt+1*);t=T-1,T-2……,1 上面所说得出的Viterbi算法也是一种格型结构,类似于前象算法。 后向算法的思想出发也可以推导出Viterbi算法的另外一种实现方式。 同样由第三问题实际上是解决HMM训练,即HMM参数的估计问题。 一般采用Baum-Welch算法。 它的基本思想是利用Baum-Welch算法[[221的重估公式得到的N+1’比N在表示观察值序列要好,即P(OWN')>P(OIN)。 那么重复这个过程,逐步改进模型参数,直到P(OWN')不再明显的增大,此时的N'即为所求的模型。 Baum-Welch算法为: 定义ξt(i,j)为给定训练序列0和模型兄时,马尔可夫链在时刻t处于st状态,并且在时刻t+1状态处于Sj状态的概率: ξt(i,j)=p(qt=st,qt+1=sj|o,λ)=at(i)aijbj(ot+1)βt+1(j)/p(o|λ) 那么马尔可夫链在时刻t处于si状态的概率为: ξt(i)=p(O,qt=sj|λ)=at(i)βt(i)/p(o|λ) 用∑ξt(i)表示从si状态转移出去的次数的期望值,而∑ξt(i,j)表示st状态转移到sj状态次数的期望值。 由此可以导出Baum-Welch算法的重估公式 aij=∑ξt(i)/∑ξt(i,j) bij=∑ξt(i)/∑ξt-1(i) 第4章语音库的建立 4.1语音库基础知识 在普通话中,实际存在的发音有1333种。 首先我们要将这1333个语音分别录制成1333个独立的.WAV文件,每一个读音都有它自己的序号。 之后,再制作一个小的连接程序将它们按照读音的序号连接成一个大文件。 应该注意的是,这种连接保留了每个.WAV文件的首部结构。 这个大文件就相当于一个语音库了,取名为YYK.WAV(其实它并非是真正意义的.WAV文件,但为了明了起见,仍然将它叫做YYK.WAV)。 至此,语音库的建立工作完成了,下面就是如何实现转换的问题了。 为了可以在YYK.WAV中截取对应的一段语音文件,需要建立两张索引表(HZINEX.txt 和YYINDEX.txt),分别记录汉字对应的读音序号和该读音在YYK.WAV中的偏移.以上这些是实现机内码到浯音转换的基础。 当我们输入一个汉字后,就可以得到该汉字的机内码,取出它的高字节赋给变量high和低字节赋给变量10w,利用公式: start: =((high一Boh)*94+(low—Aoh)一I)*2; 得到输入的汉字在HZINDEX.txt索引文件中的偏移。 然后从该偏移处取出一个字(WORD)这是该汉字对应的读音序号,将它赋给offset。 由于在截取YYK.WAV文件时,不但要有偏移,还要有该汉字对应的读音文件的文件长度,因此需要得到下一个读音的偏移,赋给变量nextoffset。 此外,要对offset和nextoffset作如下处理: offset: =(offset—1000)*4; nextoffset: =((offset—1000)+1)*4; (注: 减1000是因为在建立HZINDEX.txt文件时将读音序号加上了1000之后存入其中,乘以4是因为在YYINDEX.txt中以双字(DWORD)为单位存放汉字在语音库中的偏移)。 其中offset是该语音在YYINDEX.txt中的偏移,nextoffset是紧接着的下 一个读音在YYINDEX.txt中的偏移。 得到这两个参数后,就可以从YYINDEX.txt中的offset处得到一个双字(DWORD),赋给变量yyoffset,在nextoffset处得到另一个双字(DWORD),赋给变量nextyyoffset,用这两个变量就可以在YYK.WAV的yyoffset处截取filelen: =(nex-tyyoffset-yyoffset)长的一段文件,存在临时文件TEMPLE中,这就形成了单个汉字的语音文件。 至此,汉字机内码到语音文件的转换工作完成了,这时应该说这个汉字语音库也实现了,通过标准的.WAV资源访问器就可以访问语音库。 4.2DLL文件 4.2.1制作DLL 从汉字机内码到语音文件的转换是一个可能被普遍应用到的过程,如果可以制作成DIL将会使其他一些应用程序很方便地凋用这里的转换过程。 这一阶段,初步实现了DIL的制作,但仍有一些技术问题尚未解决。 4.2.2理解DLL DLL是一个包含了函数和数据的模块。 一个DLL库一般是由它的装入模块(一个EXE或DLL)在运行时加载。 当运行一个调用了DLL库函数的可执行文件时,DLL库就被映射到装人过程的地址空间。 DLL提供了一种使用应用程序模块化的方法,这种方法使得功能模块能够很容易地更改和重复使用,并且在几个应用程序同时使用同一个功能模块时,可以有效地减少系统的开销。 当允许共享代码时,通过给每个应用程序的数据做备份,可以实现这一功能。 结论 一方面我们完成了对硬件材料ARM更加合理的选择以及了解,另一方面也从理论上深入的了解到了语音识别的过程,另外我们还在PC机上模拟实现了语音库的建立以及对HMM模型的初步认识。 参考文献 [1]王炳锡屈丹彭煊.实用语音识别基础[M].国防工业出版社.2005.1 [2]纪正.基于ARM技术的语音识别研究[J]2007.2 [3]杨小翠.基于HMM的嵌入式非特定人连续英语语音识别的研究与实现.2009.12 [4]吕强吴娴杨季文.一个汉字语音库的实现.2001.1 [5]豆丁网文件作者不详.嵌入式系统中Nand-Flash的原理及应用.2007.10
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- S334 中期 报告