孤立词语音识别程序
基于DTW改进算法的孤立词语音识别仿真

频率倒 谱 系数作 为语 音 特征 参 数 , 并使用 D TW 算 法进 行 模 式 匹配. 由于 传 统 D TW 算 法 计 算 量 大, 所 以采 用局部 路 径约束 和 区域 约束进 行 改进 , 并用 Ma t l a b对 改进后 的 DT W 算 法进 行 了仿 真. 实验证 明该 算 法对孤 立词 语 音识别 能够 达到 较好 的识别 结 果.
l a r g e a m ou nt o f da t a i n t h e ma t c h i ng p r oc e s s , D TW a l go r i t hm i s i m pr o v e d by us i ng l o c a l c o n—
第 2 7卷 第 1 期
2 0 1 3年 1月
山 东 理 工 大 学 学 报( 自 然 科 学 版)
J o u r n a l o f S h a n d o n g Un i v e r s i t y o f Te c h n o l o g y ( Na t u r a l S c i e n c e Ed i t i o n )
Vo 1 . 2 7 No . 1
J a n .2 0 1 3
文章 编 号 : 1 6 7 2 — 6 1 9 7 ( 2 0 1 3 ) 0 1 — 0 0 6 3 — 0 4
基于 D TW 改进 算 法 的孤 立词 语 音 识 别 仿 真
刘 静 ,王 儒 ,曲金 玉 ,李 东荣
凌阳语音

型数据占满,则新特征模型无法保存到RAM中。利用 命令c BSR_DeleteSDGroup函数可以把RAM空间中所有的 载入第3组 命令2 命令d 特征模型删除,释放出所需空间。 命令
我有很多条语音命令要识别,可SPCE061A只能 „„ „„ 同时识别5条,该怎么办?
可以采取分组识别的方法,即“触发命令”与“控制
保证识别算法的运行
软件条件
提供语音识别函数库,只需几条语句即可实现语音
识别功能
特定人语音识别函数库
SPCE061A的语音识别函数库
特定人连续语音识别
包含特定人语音训练、识别,语音特征模型的
导入、导出函数等。 可支持每组7条语音命令的识别 在IDE安装目录的Example -> IntExa-> ex9_Recognise文件夹下可以找到函数库 bsrv222SDL.lib。
命令”组合。
Sunplus SPCE061A 微控制器
语音识别
语音识别
一、语音识别概述 二、特定人语音识别程序示例 三、其他特定人识别函数 四、小结和注意事项 五、疑难解答
一、语音识别概述
语音识别概述
根据对说话人的依赖程度,分为:
特定人语音识别(SD)
只能辨认特定使用者的语音,训练->使用 可辨认任何人的语音,无须训练
识别出语音命令 Y 播放相应的语 音提示
训练成功 Y
特定人语音识别程序示例
新建工程 复制语音识别、语音播放需要的支持文件到工 程所在文件夹。
语音识别函数库bsrv222SDL.lib 语音识别头文件bsrSD.inc,bsrSD.h
语音播放支持文件Sacmv26e.lib,Hardware.asm,
Htk实验笔记-史上最完整版

Htk实验笔记——Yes Or No孤立词识别(史上最完整版哦)[摘要:本试验中,我们将基于HTK对象散设立建设一个2-单词辨认体系,辞汇散是{Yes,No}。
那是能够计划出去的最根基的主动语音辨认(Automatic speech recognition,ASR)体系。
方针:设立建设一个伶仃词识]本实验中,我们将基于HTK工具集建立一个2-单词识别系统,词汇集是{Yes,No}。
这是可以设计出来的最基本的自动语音识别(Automatic speech recognition,ASR)系统。
目标:建立一个孤立词识别系统,只包含yes和no两个词。
步骤:A: 创建一个语料库,确定识别基本元(如单词yes,no等),yes和no各录5次B: 声学分析,把waveform的声音文件转换为mfcc()格式,即对语音材料库中的声音文件提取MFCC声纹特征(梅尔频率倒谱系数,这个部分的详解见教程10)。
C: 模型定义: 为词典里的每一个词(基本元)建立一个HMM原型D: 模型训练: HMM模型初始化和迭代,利用MFCC声纹特征对每一个HMM模型进行训练,使模型参数与其描述的识别基本元对应。
E: 问题定义,即语法定义,定义输入语音的语法规则等,从发音对应到文字。
F: 对测试集合进行识别G: 评测使用的教程:在data/下创建data/train/sig、data/train/lab、data/train/mfcc文件夹,分别存放采集的语音材料的sig文件、lab(标签)文件和提取的MFCC声纹特征文件。
在model/下创建model/proto、model/hmm0、model/hmm0flat、model/hmm1、model/hmm2、model/hmm3文件夹:model/proto用于存放模型初始化所需HMM原型定义文件hmm_yes、hmm_no、hmm_sil model/hmm0用于存放使用HInit命令初始化HMM模型输出的描述结果文件(依然是hmm_yes、hmm_no、hmm_sil)model/hmm0flat用于存放使用HCompv命令初始化模型时输出的可变基底宏文件vFloors(丢弃使用HCompv初始化模型时产生的hmm_yes、hmm_no、hmm_sil)model/hmmi为使用HRest命令迭代训练HMM模型时的输出目录,i为表示当前迭代i的索引。
一种孤立词语音识别的实现方法及改进

一种孤立词语音识别的实现方法及改进作者:刘丽媛,严家明来源:《现代电子技术》2010年第16期摘要:通过对特征提取模块2个重要部分:端点检测和线性预测倒谱(LPCC)相关原理的介绍分析,阐述了一种以线性预测倒谱(LPCC)为基础,进行特征提取的孤立词语音识别的具体实现方法,并对该方法所描述的系统进行了软件建模。
通过分析研究,给出了提高识别率的具体改进方案。
最后使用Matlab软件对相关方法及结论进行了验证,表明该方法确实在传统方法的基础上提高了识别率,且速度较快,具有实用性和良好的硬件可移植性,并讨论了它在一些关键环节的未来实现及改进方向。
关键词:语音识别; 特征提取; LPCC; Matlab中图分类号:TN912.3-34文献标识码:A文章编号:1004-373X(2010)16-0109-04Realization and Improvement of Isolated Word Phonetic RecognitionLIU Li-yuan, YAN Jia-ming(S chool of Electronic Information, Northwestern Polytechnical University, Xi’an 710129, China)Abstract: An implementation method of the isolated word speech recognition with feature extraction based on the linear prediction cepstrum (LPCC) is elaborated by the analysis of the relevant principles of two important parts (the endpoint detection and LPCC) of the feature extraction module. The software modeling of the system which is described by the method is carried out. A specific improvement program to improve the recognition rate is given through the analysis. carried on the confirmation for the relevant method and conclusion are demonstrated with Matlab software. The demonstration shows that the method can raise the recognition rate indeed based on the traditional method, and has the characteristics of high-portability. The direction of the future implementation and improvement in some key links is discussed for the method.Keywords: phonetic recognization; feature extraction; LPCC; Matlab收稿日期:2010-03-30语音识别是机器通过识别和理解过程把语音信号转变为相应的文本文件或命令的技术,而特征提取阶段是其至关重要的一步。
语音识别

语音识别技术概述语音识别技术,也被称为自动语音识别Automatic Speech Recognition,(ASR),其目标是将人类的语音中的词汇内容转换为计算机可读的输入,例如按键、二进制编码或者字符序列。
与说话人识别及说话人确认不同,后者尝试识别或确认发出语音的说话人而非其中所包含的词汇内容。
语音识别技术的应用包括语音拨号、语音导航、室内设备控制、语音文档检索、简单的听写数据录入等。
语音识别技术与其他自然语言处理技术如机器翻译及语音合成技术相结合,可以构建出更加复杂的应用,例如语音到语音的翻译。
语音识别技术所涉及的领域包括:信号处理、模式识别、概率论和信息论、发声机理和听觉机理、人工智能等等。
历史早在计算机发明之前,自动语音识别的设想就已经被提上了议事日程,早期的声码器可被视作语音识别及合成的雏形。
而1920年代生产的"Radio Rex"玩具狗可能是最早的语音识别器,当这只狗的名字被呼唤的时候,它能够从底座上弹出来。
最早的基于电子计算机的语音识别系统是由A T&T贝尔实验室开发的Audrey语音识别系统,它能够识别10个英文数字。
其识别方法是跟踪语音中的共振峰。
该系统得到了98%的正确率。
到1950年代末,伦敦学院(Colledge of London)的Denes已经将语法概率加入语音识别中。
1960年代,人工神经网络被引入了语音识别。
这一时代的两大突破是线性预测编码Linear Predictive Coding (LPC),及动态时间弯折Dynamic Time Warp技术。
语音识别技术的最重大突破是隐含马尔科夫模型Hidden Markov Model的应用。
从Baum提出相关数学推理,经过Labiner等人的研究,卡内基梅隆大学的李开复最终实现了第一个基于隐马尔科夫模型的大词汇量语音识别系统Sphinx。
[1]。
此后严格来说语音识别技术并没有脱离HMM框架。
一种基于联合得分的孤立词语音识别系统

O 第 3 卷 第 l 期 2
V L2 o 3
・
计
算
机
工
程
20 0 6年 5月
Ma 0 6 y2 0
№ l o
Co p t rEn i e r n m ue gn eig
人工智能及识别技术 ・
一
文 编 t 0 4 ( 0 1 _ 8_ 3 文 标 码z 章 号 o 22 6 o o 每 0 l 80 )_ 1 _ 献 识 A
l基于联合得分 的语音识别系统描述
1 . 1系统框架
圈 1系统槊构
1 . 别系统的前靖处理 2识 端 点检 测是实时语音识别系统的一个重要组成部分 在 本系统 中采 用了一种新颖 的基于 检测元音的端点检测算法 。
1 . 3特征提取
本系统采用了改进 的 MF C系数 R SMF C, C A — C 以增加特 征 系数对噪声的鲁棒性。 1 . Me 倒谱参数 .1 l 3 Me 倒 谱 参 数 ( l rq e c C pt l ofie t l Me— e un y e s a F r C e c ns i ,
( c o l t lcrn c C mmu ia o n ie r g S uhChn nv ri f e h oo y G a g h u5 6 0 S h o e t i & o oE o nc t nE gn ei , o t i n iaU i es yo c n lg , u n z o 4 ) t T 1 0
中 分 号 P94 圈 类 z 31 T .
种 基 于联合得 分 的孤 立词语 音识 别 系统
邝航字 ,张 军,季 飞,韦 岗
( 华南理工大学 电子 与通信 工程系 ,』州 504) “ 160
基于DTW模型的孤立词语音识别算法实现研究

作者签名:
学位论文版权使用授权书
本人了解中南大学有关保留、使用学位论文的规定,即:学校
有权保留学位论文并:根据国家或湖南省有关部门规定送交学位论文, 允许学位论文被查阅和借阅;学校可以公布学位论文的全部或部分内 容,可以采用复印、缩印或其它手段保存学位论文。同时授权中国科 学技术信息研究所将本学位论文收录到《中国学位沦文全文数据库》,
中南人学硕.}:论文
目录
目录 摘要……………………………………………………..I ABSTRACT.……….……………….…….….….….………II
第一章
绪论……………………………………………….1 1.1课题的研究背景与意义………………………………….1 1.2国内外研究现状……………………………………….2 1.3论文研究的内容……………………………………….4
on
and the
realization of speech recognition algorithm based
the transplant of
WinCE5.0 in the aspect
of hardware design.
The results show that the speech recognition algorithm has high
on
the
endpoint
detection
algorithm with
noise,MEL
frequency cepstral algorithm.It also
coefficients(MFCC)features
gives
parameter extraction results
the corresponding simulation
孤立字词识别

$
引言
语音识别以语音为研究对象, 它是语音信号处理的一个
向量。第二类为变换域特征向量, 即对一帧语音信号进行某 种变换后产生的特征向量。前者的优点在于计算简单, 缺点 是不能压缩维数且不适于表征幅度谱特性。与此对应, 各种 变换域特征向量的计算比较复杂, 但能从不同的角度反映幅 度谱的特征。 特征的选取取决于具体的系统, 下面的特征是有代表性 的: (或功率) ; $)幅度 !)过零率; -)邻界带特征矢量; 5)234 预测系数特征矢量; .)234 倒谱特征矢量; ’)(:L 倒谱参数; ))2W3 特征矢量; ,)前三个共振峰 &$、 &!、 &-; (计算量较小) 。 %)滤波器组输出 幅度是端点检测的主要依据, 也用于区分元音和辅音。 过零率可以用来表示擦音和齿音与平谱平衡作用相同。高分 辨率的谱信息 (即共振峰、 提供共 234 参数或滤波器组输出) 振峰和共振峰变迁的信息。前后相继的预测系数是高度相关 的, 有时采用 X2 变换压缩数据并提高参数的灵敏度。
-
特征提取
特征提取完成从语音信号提取出对语音识别有用的信
收稿日期: 基金项目: 云南省自然科学基金项目 (%%&""$’() !"""#$!#$% 作者简介: 赵文 ($%)’ * ) , 男 (白族) , 云南大理人, 硕士研究生, 主要研究方向: 语音识别与研究; 杨澄宇 ($%)" * ) , 男, 云南昆明人, 硕士研 究生, 主要研究方向: 语音识别与研究; 杨鉴 ( ) , 男 (纳西族) , 云南丽江人, 副教授, 主要研究方向: 语音识别与研究 $%’’ * + 万方数据
第 !$ 卷 !""$ 年 ’ 月
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
孤立词语音识别程序信息处理仿真实验语音处理部分实验目的------- 按所学相关语音处理的知识,自己设计一个孤立词语音识别程序,分析所设计系统的特性。
熟悉不同模块间如何进行有效的组合,以及模块内的设计,重点掌握特征参数的提取和模式识别方法,并对不同的特征参数提取方法和模式匹配方法有大概的了解,知道其不同的优缺点。
实验内容1、熟悉预处理、特征参数提取、模式匹配三个模块的原理,并设计这三个模块的matlab子程序。
2、设计主程序,将上述3个模块合理组合构成一个系统,训练模板并测试。
三、实验原理及设计步骤1、孤立词语音识别系统:先用端点检测将语音中有用的语音部分提取出来(即将头部和尾部的静音部分除掉),然后提取语音信号的Mel尺度倒谱参数(MFCC)进行动态归整(DTW算法)后与模板库里面的标准语音作比较,具体流程如下:失直灘图3.1孤立词语音识别系统2、各模块解析⑴预处理:包括反混叠失真滤波器、预加重器、端点检测和噪声滤波器。
这里将预加重器和噪声滤波器放在下一个模块里,所以预处理主要进行端点检测以捕捉到数据中的语音信息。
端点检测采用双门限法来检测端点。
同时,利用过零率检测清音,用短时能量检测浊音,两者配合。
整个语音信号的端点检测可以分为四段:静音、过渡段、语音段、结束。
程序中使用一个变量status来表示当前所处的状态。
在静音段,如果能量或过零率超越了低门限,就应该开始标记起始点,进入过渡段。
在过渡段中,由于参数的数值比较小,不能确信是否处于真正的语音段,因此只要N 1 S(m) lnk 02X w(k) H m(k) 0 m M两个参数的数值都回落到低门限以下,就将当前状态恢复到静音状态。
而如果在过渡段中两个参数中任意一个超过了高门限,就可以确信进入语音段了。
一些突发性的噪声可以引发短时能量或过零率的数值很高,但是往往不能维持足够长的时间,这些可以通过设定最短时间门限来判别。
当前状态处于语音段时,如果两个参数的数值降低到低门限以下,而且总的计时长度小于最短时间门限,则认为这是一段噪音,继续扫描以后的语音数据。
否则就标记好结束端点,并返回⑵特征参数提取:常用的语音识别参数有线性预测参数(LPC),线性预测倒谱参数(LPCC)和Mel尺度倒谱参数(MFCC等。
这里提取语音信号的Mel尺度倒谱参数(MFCC,步骤如下:图3.2特征参数提取分析:①预加重y(n) x( n)-0.97x( n 1)②加汉明窗X w(n) y(n) w(n)③FFTN 1 j 2 nk/ NX w(k) X w( n)en 0这里直接采用现成的FFT快速算法。
④对频谱进行三角滤波程序采用归一化mel滤波器组系数⑤计算每个滤波器的输出能量⑥离散余弦变换(DCT)得到MFCCMC(n) S(m)cos n(m 0.5) / M n 1,2,..., p 特征参数m 1通常协方差矩阵一般取对角阵,三角滤波器组的对数能量输出之间存在着很大的相关,采用DCT这种正交变换可以去除参数之间的相关性,从而使后端识别模型采用对角阵具有更高的识别率⑦归一化倒谱提升w = 1 + 6 * sin( u / 12) 1 u 12w = w/max(w)⑧计算差分系数并合并mfcc参数和一阶差分mfcc参数将其作为一个整体,让参数更完备。
⑶模式匹配:有矢量量化技术、DTW HMM技术、人工神经网络技术。
目前,语音识别的匹配主要应用HMM和DTW两种算法。
DTW算法由于没有一个有效地用统计方法进行训练的框架,也不容易将低层和顶层的各种知识用到语音识别算法中,因此在解决大词汇量、连续语音、非特定人语音识别问题时较之HMM(法相形见绌。
HMM!—种用参数表示的,用于描述随机过程统计特性的概率模型。
而对于孤立词识别,HMM算法和DTV算法在相同条件下,识别效果相差不大,又由于DTW算法本身既简单又有效,但HMM(法要复杂得多。
它需要在训练阶段提供大量的语音数据,通过反复计算才能得到参数模型,而DTW算法的训练中几乎不需要额外的计算。
鉴于此,DTW更适合本系统的要求。
DTW算法原理:该算法基于动态规划(DP的思想,解决了发音长短不一的模板匹配问题。
如果把测试模板的各个帧号n=1~N在一个二维直角坐标系中的横轴上标出,把参考模板的各帧号m=1~Mi纵轴上标出,通过这些表示帧号的整数坐标画出一些纵横线即可形成一个网络,网络中的每一个交叉点(n,m)表示测试模式中某一帧的交汇点。
DP算法可以归结为寻找一条通过此网络中若干格点的路径,路径通过的格点即为测试和参考模板中进行计算的帧号。
路径不是随意选择的,首先任何一种语音的发音快慢都有可能变化,但是其各部分的先后次序不可能改变,因此所选的路径必定是从左下角出发,在右上角结束。
DTW算法可以直接按上面的描述来实现,即分配两个NX M的矩阵,分别为积累距离矩阵D和帧匹配距离矩阵d,其中帧匹配距离矩阵d(i j)的值为测试模板的第i帧与参考模板的第j帧间的距离。
D(N, M 即为最佳匹配路径所对应的匹配距离。
无论在训练和建立模板阶段还是在识别阶段,都先采用端点算法确定语音的起点和终点。
已存入模板库的各个词条称为参考模板,一个参考模板可表示为R={R( 1),R( 2),……,R( m,……,R (M) },m为训练语音帧的时序标号,m=1为起点语音帧,终点语音帧,因此M为该模板所包含的语音帧总数,R( m为第m帧的语音特征矢量。
所要识别的一个输入词条语音称为测试模板,可表示为T={T (1),T(2),……,T(n),……,T( N) },n为测试语音帧的时序标号,n=1为起点语音帧,n=N为终点语音帧,因此N为该模板所包含的语音帧总数,T (n)为第n 帧的语音特征矢量。
参考模板与测试模板采用相同形式的MFC(系数、相同的帧长、相同的窗函数和相同的帧移。
假设测试和参考模板分别用T和R表示,为了比较它们之间的相似度,可以计算它们之间的距离D[T,R],距离越小则相似度越高。
为了计算这一失真距离,应从T 和R 中各个对应帧之间的距离算起。
设 n 和m 分 别是T 和R 中任意选择的帧号,d[T (n ), R (m ]表示这两帧特征矢量 之间的距离。
距离函数取决于实际采用的距离度量,在 DTW 算法中通常 采用欧氏距离。
四、实验结果及分析首先通过训练得到词汇表中(’盘古';'语音的特征序列,直接将这些序列存储为模板 的特征序列依次与各参考语音特征序列进行 最小且小于识别阈值的就认为是识别结果:伏羲';'女娲';’神农')各参考 在进行识别时,将待识语音 DTW 匹配,最后得到的总失真度正在计算参考模板的参数...ans =68 ans =73 ans = 65ans = 67 24 242424正在计算测试模板的参数...ans =50 ans=67 ans =53 ans =50 24 242424正在进行模板匹配... 正在计算匹配结果... 测试模板 测试模板 测试模板 测试模板 分析:1 2 3 4 的识别结果为 的识别结果为 的识别结果为的识别结果为 盘古 伏羲 女娲 神农从输出的结果看,识别得到了正确的结果,这是由于采用了预加重、 归一化导谱提升、加入差分系数。
为了进一步验证识别的正确性,看一 下匹配距离距阵dist 的数据:dist = 1.0e+004 * 2.3121 6.8274 7.2506 3.9750 4.7722 2.8580 6.6624 4.7198 7.2296 9.4980 2.4080 4.7717 4.6276 7.1958 5.3798 3.6102距离距阵的对角线上是正确匹配模板的对应分数,可见对角线上的 4个数值都是在本行中最小的,由此验证了识别结果的正确性。
但由于需要对大量路径及这些路径中的所有节点进行匹配计算, 导 致计算量极大,随着词汇量的增大其识别过程甚至将达到难以接受的程 度,因此无法直接应用于大、中词汇量识别系统。
五、实验体会与思考这次实验,我所做的工作主要是设计并实现各模块的合理组合。
虽然在学习课程中已经对MATLA有过一定的理论学习,但是要读懂MATLAB 的程序还需要找相关的书来看,通过这次实践,对matlab的语法与应用更加了解,培养了我们独立分析问题和解决问题的能力。
在设计过程中,我通过查阅大量有关资料,与同学交流经验和自学,并向老师请教等方式,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大。
在整个设计中我懂得了许多东西,也培养了我独立工作的能力,树立了对自己工作能力的信心,相信会对今后的学习工作生活有非常重要的影响。
而且大大提高了动手的能力,使我充分体会到了在创造过程中探索的艰难和成功时的喜悦。
虽然这个设计做的也不太好,但是在设计过程中所学到的东西是这次实验的最大收获和财富,使我终身受益。
要实现这个Dtw与Test的算法,主要是弄懂它的帧匹配距离的由来和累积距离的计算公式。
这也是实现本系统最难得一环,经过不断的调试修改,最终实现了算法的要求。
Dtw算法采用动态规划技术,存在一些问题:(1)运算量大。
由于要找出最佳匹配点,因此要考虑多种可能的情况•虽然路径限制减少了运算量,但运算量仍然很大,因而使识别速度减慢•这在大词汇量的识别中是一个严重缺点。
(2)识别性能过分依赖于端点检测。
端点检测的精度随着不同音素而有所不同,有些音素的瑞点检测精度较低。
由此影响识别率的提高。
(3)没有充分利用语音信号的时序动态信息。
在检测语音信号的端点时,一般采用平均能量或平均幅度值与过零率相乘的方法来判断。
如果所取窗长度较小,显然能够比较精确地检测到语音的端点,但会使运算量加大识别速度减慢,同时会把一些短时的脉冲噪音误认为语音,从而产生错误的识别。
如果所取窗长较大,可以加快语音处理的速度,会跳过一些短时噪音,但是端点的检测误差增加,对DTW这种端点非常敏感的算法几乎是致命的。
窗长取一合适的中间值固然可以减少窗长过短和过长的消极影响,但毋庸置疑也减弱了其积极的一面。