语音识别系统范文

时间:2023-02-28 15:34:57

引言:寻求写作上的突破?我们特意为您精选了12篇语音识别系统范文,希望这些范文能够成为您写作时的参考,帮助您的文章更加丰富和深入。

语音识别系统

篇1

1、语音识别技术原理简介

1.1语音识别技术的概念

语音识别技术(Auto Speech Recognize,简称ASR)所要解决的问题是让计算机能够“听懂”人类的语音,将语音中包含的文字信息“提取”出来。ASR技术在“能听会说”的智能计算机系统中扮演着重要角色,相当于给计算机系统安装上“耳朵”,使其具备“能听”的功能,进而实现信息时代利用“语音”这一最自然、最便捷的手段进行人机通信和交互。

1.2语音识别的系统组成

语音识别系统构建过程整体上包括两大部分:训练和识别。

1.2.1训练

训练通常是离线完成的,对预先收集好的海量语音、语言数据库进行信号处理和知识挖掘,获取语音识别系统所需要的“声学模型”和“语言模型”。

1.2.2识别

识别过程通常是在线完成的,对用户实时的语音进行自动识别,可以分为“前端”和“后端”两大模块:“前端”模块主要的作用是进行端点检测(去除多余的静音和非说话声)、降噪、特征提取等;“后端”模块的作用是利用训练好的“声学模型”和“语言模型”对用户说话的特征向量进行统计模式识别(又称“解码”),得到其包含的文字信息,此外,后端模块还存在一个“自适应”的反馈模块,可以对用户的语音进行自学习,从而对“声学模型”和“语音模型”进行必要的“校正”,进一步提高识别的准确率。

语音识别技术所面临的问题是非常艰巨和困难的。尽管早在二十世纪五十年代,世界各国就开始了对这项技术孜孜不倦的研究,特别是最近二十年,国内外非常多的研究机构和企业都加入到语音识别技术的研究领域,投入了极大的努力,也取得了丰硕的成果,但是直到今天,距离该技术得到完美解决还存在着巨大的差距,不过这并不妨碍不断进步的语音识别系统在许多相对受限的场合下获得成功的应用。

如今,语音识别技术已经发展成为涉及声学、语言学、数字信号处理、统计模式识别等多学科技术的一项综合性技术。基于语音识别技术研发的现代语音识别系统在很多场景下获得了成功的应用,不同任务条件下所采用的技术又会有所不同。

2、语音识别系统技术实现

语音识别系统选择识别基元的要求是:有准确的定义,能得到足够数据进行训练,具有一般性。系统所需的训练数据大小与模型复杂度有关,模型设计得过于复杂以至于超出了所提供的训练数据的能力,会造成系统性能的急剧下降。

2.1听写机

2.1.1概念

大词汇量、非特定人、连续语音识别系统通常称为听写机。

2.1.2基本架构

听写机是建立在前述声学模型和语言模型基础上的HMM拓扑结构,训练时对每个基元用前向后向算法获得模型参数,识别时将基元串接成词,词间加上静音模型并引入语言模型作为词间转移概率,形成循环结构,用Viterbi算法进行解码。针对汉语易于分割的特点,先进行分割再对每一段进行解码,是用以提高效率的一个简化方法。

2.1.3对话系统

用于实现人机口语对话的系统称为对话系统。目前,受技术所限,对话系统往往是面向一个狭窄领域、词汇量有限的系统,其题材有旅游查询、订票、数据库检索等等。它的前端是一个语音识别器,识别产生的N-best候选或词候选网格,由语法分析器进行分析获取语义信息,再由对话管理器确定应答信息,由语音合成器输出。基于目前的系统往往词汇量有限的情况,也可以用提取关键词的方法来获取语义信息。

3、语音识别系统特性

语音识别系统的性能受许多因素的影响,包括不同的说话人、说话方式、环境噪音、传输信道等等。具有自适应性与鲁棒性。解决办法可大致分为两类:针对语音特征的方法(以下称特征方法)和模型调整的方法(以下称模型方法)。前者需要寻找更好的、高鲁棒性的特征参数,或是在现有的特征参数基础上,加入一些特定的处理方法。后者是利用少量的自适应语料来修正或变换原有的说话人无关(SI)模型,从而使其成为说话人自适应(SA)模型。

4、语音识别的应用

语音识别专用芯片的应用领域,主要包括以下几个方面:

4.1电话通信的语音拨号。特别是在中、高档移动电话上,现已普遍的具有语音拨号的功能。随着语音识别芯片的价格降低,普通电话上也将具备语音拨号的功能。

4.2汽车的语音控制。由于在汽车的行驶过程中,驾驶员的手必须放在方向盘上,因此在汽车上拨打电话,需要使用具有语音拨号功能的免提电话通信方式。此外,对汽车的卫星导航定位系统(GPS)的操作,汽车空调、照明以及音响等设备的操作,同样也可以由语音来方便的控制。

4.3工业控制及医疗领域。当操作人员的眼或手已经被占用的情况下,在增加控制操作时,最好的办法就是增加人与机器的语音交互界面。由语音对机器发出命令,机器用语音做出应答。

4.4个人数字助理(Personal Digital Assistant,PDA)的语音交互界面。PDA的体积很小,人机界面一直是其应用和技术的瓶颈之一。由于在PDA上使用键盘非常不便,因此,现多采用手写体识别的方法输入和查询信息。但是,这种方法仍然让用户感到很不方便。现在业界一致认为,PDA的最佳人机交互界面是以语音作为传输介质的交互方法,并且已有少量应用。随着语音识别技术的提高,可以预见,在不久的将来,语音将成为PDA主要的人机交互界面。

4.5智能玩具。通过语音识别技术,我们可以与智能娃娃对话,可以用语音对玩具发出命令,让其完成一些简单的任务,甚至可以制造具有语音锁功能的电子看门狗。智能玩具有很大的市场潜力,而其关键在于降低语音芯片的价格。

4.6家电遥控。用语音可以控制电视机、VCD、空调、电扇、窗帘的操作,而且一个遥控器就可以把家中的电器皆用语音控起来,这样,可以让令人头疼的各种电器的操作变得简单易行。

篇2

1 引言

语音识别按不同的角度有以下几种分类方法:从所要识别的单位,有孤立词识别、音素识别、音节识别、孤立句识别、连续语音识别和理解。目前已进入识别的语音识别系统是单词识别。以几百个单词为限定识别对象。从识别的词汇量来分。有小词汇(10-50个)、中词汇(50-200个)、大词汇(200以上)等。从讲话人的范围来分。有单个特定讲话人、多讲话人和与讲话者者无关。特定讲话人比较简单,能够得到较高的识别率。后两者难度较大,不容易得到高的识别率。 从识别的方法分。有模块匹配法、随机模型法和概率语法分析法。这三种都属于统计模式识别方法。

2 系统硬件及组成

2.1 系统概述

语音识别系统的典型实现方案如图1所示。输入的模拟语音信号首先要进行预处理,语音信号经过预处理后,接下来重要的一环就是特征参数提取,其目的是从语音波形中提取出随时间变化的语音特征序列。然后建立声学模型,在识别的时候将输入的语音特征同声学模型进行比较,得到最佳的识别结果。

2.2 硬件构成

本文采用DSP芯片为核心(图2所示),系统包括直接双访问快速SRAM、一路ADC/一路DAC及相应的模拟信号放大器和抗混叠滤波器。外部只需扩展FLASH存储器、电源模块等少量电路即可构成完整系统应用。

2.3 系统主要功能模块构成

语音处理模块采用TI TMS320VC5402, TMS320VC5402含4 KB的片内ROM和16 KB的双存取RAM,一个HPI(HostPortInterface)接口,二个多通道缓冲单口MCBSP(Multi-Channel Buffered SerialPort),单周期指令执行时间10 ns,带有符合IEEE1149.1标准的JTAG边界扫描仿真逻辑。语音输入、输出的模拟前端采用TI公司的TLC320ADSOC,它是一款集成ADC和DAC于一体的模拟接口电路,并且与DSP接口简单,性能高、功耗低,已成为当前语音处理的主流产品。16位数据结构,音频采样频率为2~22.05 kHz,内含抗混叠滤波器和重构滤波器的模拟接口芯片,还有一个能与许多DSP芯片相连的同步串行通信接口。TLC320AD50C片内还包括一个定时器(调整采样率和帧同步延时)和控制器(调整编程放大增益、锁相环PLL、主从模式)。TLC320AD50C与TMS320VC5402的硬件连接,如图3所示。

3 结论

本文以TMS320VC5402芯片为核心的系统硬件设计迸行了研究,通过TLC320AD50C对语音信号进行A/D转换,通过TMS320VC5402对语音信号“0”、“1”、“2”进行训练和识别,并由对于灯LED0、LED1、LED2亮来显示结果是否正确;该系统核心识别算法采用动态时间规整(DTW)算法,主要流程包括预处理、端点检测、提取特征值、模式匹配和模板训练,取得了很好的识别效果。

参考文献

[1] 朱铭锆, 赵勇, 甘泉. DSP应用系统设计 [M].北京:电子工业出版社,2002.

[2] 郭华. 自适应滤波算法及应用研究[D].兰州:西北师范大学,2007.

[3] 张雄伟..DSP芯片的原理与开发应用[M].北京:电子工业出版社,2009.

[4] 张德丰. 数字图象处理(MATLAB版)[M].北京:人民邮电出版社,2009.

作者简介

篇3

1 引言

语音识别是信息处理领域的一个重要方向,语音识别通常又可以分为两种工作方式:一种是连续语音听写,这种方式需要语音识别引擎对语音听写过程中上下文以及相同相似发音的词语进行分析、做出判断,实现难度较大。另一种是命令与控制方式(command and control),在此种方式下,语音识别引擎可以通过对简短的命令语音进行识别,以便执行相应操作。

语音识别技术基础是非常复杂的。正是如此,它获得了世界上著名的公司与研究机构的青睐,语音识别技术正经历着日新月异的改变,其中一些产品已经取得较好的效果,用户可以在上述产品基础之上进行二次开发。

2开发图片语音识别系统的条件

语音识别技术的发展涉及人机交互,自然语言处理,人工智能。这使开发人员难以从底层进行应用开发,欣慰的是一些公司与研究机构已经推出他们的研究成果,并且提供了供开发人员使用的开发平台与接口。其中影响比较大的有微软的SAPI、剑桥大学的HTK,IBM的via voice开发平台。本文采用微软的Speech SDK5.1开发包,它不仅是一个免费的开发包,同时提供对中文的支持。

2.1微软SAPI简介

微软的 Speech SDK是基于 C O M 的视窗操作系统开发工具包。这个 SDK中含有语音应用程序接口( SAPI )、微软连续语音识别引擎(MCSR)以及串联语音合成(又称文本到语音)引擎(TTS)等等。SAPI 中还包括对于低层控制和高度适应性的直接语音管理、训练向导、事件、 语法、 编译、资源、语音识别管理以及文本到语音管理,其结构如图 l 所示。

图1 SAPI结构

SAPI API在应用程序和语音引擎之间提供一个高级别的接口。SAPI实现了所有必需的对各种语音引擎的实时的控制和管理等低级别的细节。

SAPI引擎的两个基本类型是文本语音转换系统(TTS)和语音识别系统。TTS系统使用合成语音合成文本字符串和文件到声音音频流。语音识别技术转换人类的声音语音流到可读的文本字符串或者文件。

2.2 在.net应用程序中使用SAPI的准备

安装SAPI 5.1语音开发包。

由于SAPI基于Windows平台,通过COM接口供.net平台调用,所以具体调用方法为:新建工程,在此工程的解决方案中单击右键,在添加/引用中选择 Microsoft Speech Object Library,并在程序中添加对SAPI命名空间的引用:using SpeechLib。

3 系统模型设计及实现

3.1 创立系统界面

 

图2 系统界面一览

3.2  使用SAPI语音识别核心类

ISpRecognizer类是支持语音识别的核心类,主要用于访问MCSR实现语音识别。在进行语音识别时,微软Speech SDK 5.1 支持两种模式的语音识别引擎:共享(Share)和独享(InProc)。在本系统中,我们使用共享型语音识别引擎,CLSID_SpSharedRecognizer。

SpSharedRecoContext类是语音识别上下文接口,它可以发送与接收消息通知,通过CreateGrammar方法创建语法规则。通过对它的两个事件:_ISpeechRecoContextEvents_RecognitionEventHandler(ssrc_Recognition) ,_ISpeechRecoContextEvents_HypothesisEventHandler(Hypo_Event)的重写,我们可以很轻松的得到当前语音识别结果。第一个事件对应的就是识别结果显示:1、第二个事件对应的就是识别结果显示;2、ISpeechRecoGrammar类是语法规则接口,定义语音识别引擎需要是别的语音类容。起语法规则可以分为听写型与命令控制型。听写型可以识别大词汇量语音,但是别效率与识别准确率较低。命令控制型有针对性的对特定语音进行识别,在效率与准确率上都非常高。

当然一个ISpRecognizer不管是共享还是独享,都可以有多个RecoContext与其关联,而一个RecoContext也可以与多个ISpeechReco  Grammar关联,每个ISpeechRecoGramma  r识别各自规定的内容。

 

图3 语音识别类对应关系

3.3  编写系统核心代码

通过读入外部Grammar配置语音识别引擎,外部Grammar文件以xml文件格式存储。具体形式如下:

ManegePic.xml

玫瑰

大象

狮子

老虎

仙人掌

珠穆朗玛峰

布达拉宫

貂蝉

十字军

世界杯

阿里巴巴

乒乓球

五星红旗

……

采用命令控制型Grammar是为了使语音识别结果准确有效,定义外部Grammar是为了保持以后系统的可扩展性。对于新输入的图片,只要将图片名字加入到 图片名字

中即可。

开始语音输入事件:

private void btnStart_Click(object sender, EventArgs e)

{

ssrc = new SpSharedRecoContext();

srg = ssrc.CreateGrammar(1);

srg.CmdLoadFromFile(""ManegePic.xml"", SpeechLoadOption.SLODynamic);

//读入规则

ssrc.Recognition += new _Ispeec hRecoC ontextEvents_RecognitionventHandler(ssrc_Recognition);

//添加识别最终事件 

ssrc.Hypothesis += new _IspeechRecoCon textEvents_HypothesisEventHandler(Hypo_Event);

//添加识别怀疑事件

srg.CmdSetRuleState(srg.Rules.Item(0).Name, SpeechRuleState.SGDSActive);

//激活规则 

}

其中识别最终事件是系统在完整处理输入音频之后得到的最后识别结果,怀疑事件则是因为系统在处理过程中的最相似识别结果。这两个事件在一些环境之下得到的识别结果不同。

识别怀疑事件:

private void Hypo_Event(int StreamNumber, object StreamPosition, ISpeechRecoResult Result)

{

  textBox2.Text = Result.PhraseInfo.GetText(0, -1, true);

}

将系统在处理过程中的最相似结果显示在textBox控件之中。

识别最终事件:

void ssrc_Recognition(int StreamNumber, object StreamPosition, SpeechRecognitionT ype RecognitionType, ISpeechRecoResult Result)

{

textBox1.Text = Result.PhraseInfo.GetT ext(0, -1, true);

// 将系统最终结果显示在textBox控件之中。

try

{

Picturebox1.image = Result.PhraseInf o.GetText(0, -1, true).tostring()+”.jpg”;

//显示识别结果的图片

}

Catch (Exception e)

{}

}

由于篇幅有限,这里仅仅给出了构建语音识别引擎与图片显示部分的代码。完 整的系统可以在Windows XP + vs2008环境中调试通过,实现基于.net和SAPI的图片语音识别系统。

4 结语

通过制作图片语音识别系统,对利用SAPI进行语音识别有了初步的研究和实践,该系统具有一定的扩展性,也可以作为子系统嵌入到其他系统之中。该系统的功能可以扩展到语音控制文件操作,比如打开/关闭文件,添加文件,可以制作一个不需要键盘鼠标只利用语音就可进行操作的软件系统。

参考文献:

篇4

关键词:

隐马尔可夫模型;神经网络;语音识别;遗传算法

随着语音识别技术的发展,人们对语音识别的技术要求越来越高,隐形马可夫模型(HiddenMarkovModel,简称HMM),在语音识别中已经广泛得到应用.但是,其自适应能力差,抗噪性也不是十分理想,仅靠单一的HMM进行语音识别存在诸多困难[1,2].而现在广泛应用的人工神经网络(ArtificalNeuralNet-work,简称ANN)[3,4],在自适应、抗噪性方面具有良好的特性,克服了HMM中存在的不足.反向传播神经网络(BP)虽然已经是神经网络中前向神经网络的核心部分,并且得到了广泛的应用[5].然而,BP神经网络也存在诸多缺点,比如学习收敛速度太慢,使其只能解决小规模的问题,也不能保证收敛到全局最小点,使得训练结果达不到全局最优性.遗传算法优化后的反向传播神经网络(GA-BP)[6-9]的混合模型语音识别方法,有效地保证训练结果的全局最优性,在语音识别的速度方面也有大幅度的提高,但在噪声环境下,遗传算法优化后的反响传播神经网络噪声鲁棒性并不是十分理想,因此也对语音识别系统的性能带来了影响[10].本文运用小波神经网络结构简单、收敛速度快的优点,对MFCC系数进行训练,从而得到新的MFCC系数,再进行特征提取后作为遗传算法优化后的输入.然后利用优化后的遗传神经网络获得语音的分类识别信息进行语音识别.实验结果表明,基于HMM与遗传神经网络改进的语音识别系统进一步提高了语音识别系统的自适应性和噪声鲁棒性.

1隐马尔可夫模型语音识别原理

隐马尔可夫模型是一种利用相关参数来表示,并用于描述随机过程中统计特性的概率模型[11].它的本质是一种基于统计分布一致性的聚类分析,每个隐含的状态就是一个聚类,对HMM进行训练的过程就是寻找每个聚类之间的相关联的过程.它由两部分组成:一个是隐含的马尔可夫链,即为隐含层;另一个是实际的观测量,即为观测层.HMM基于参数统计理论,利用概率密度函数计算出语音参数对模型的输出概率,找到最佳状态序列以后,用最大后验概率为准则进行识别.语音参数和隐马尔可夫模型关系如下图图1所示.

2基于遗传算法的神经网络优化算法

BP神经网络是人工神经网络中应用最为广泛的算法,但在广泛运用的同时,也逐渐出现一些不足之处,比如收敛速度慢、不能保证收敛到全局最小点等等.另外,网络结构,初始连接权值与阈值的选取对网络训练带来的影响也非常大,但是又无法准确获得.针对这些特点可以采用遗传算法对神经网络进行优化.

2.1传统遗传算法传统遗传算法实现步骤如下:1)随机产生一定数量的初始个体,这些随机产生的初始个体总体数目组成一个种群.2)用评价函数来评价每个个体的优劣,每个个体的适应程度(称为适应度)作为遗传操作的依据.3)从现有的种群中选取一定的个体作为新一代的个体,个体适应程度越高,被选择的机会越大.4)对于新生成的种群进行交叉、交异操作.

2.2用遗传算法优化神经网络权值的学习过程遗传算法(GeneticAlgorithm,GA)是模拟著名天文学家达尔文的遗传选择和生物进化的计算模型,具有很强的宏观搜索能力和良好的全局优化性能[12,13].因此采取遗传算法与BP神经网路相结合,训练时先用遗传算法对神经网络的权值进行寻找,将搜索范围缩小后,再利用BP网络来进行精确求解,可以达到全局寻找和快速高效的目的,并且避免局部最小问题.算法结束后,由群体中最优个体解码即可得到优化后的网络连接权值系数.

3基于HMM与遗传神经网络改进的语音识别系统设计

现有的语音识别系统只能处理平稳信号,而人说话的语言频率不一样使得语音信号是一个准稳态信号,这时就要把语音划分成若干帧以达到信号稳定的要求.但这存在的不足之处就是并没有考虑到语音信号的动态特性,根据神经网络在非线性映射方面有比较好的效果,同时神经网络也具有小波多分辨分析的性能,从而可以从样本中提取出来新的特征信息.本文采用基于HMM与遗传神经网络改进的语音识别系统,对输入语音信号进行预处理后,利用小波神经网络训练MFCC系数,然后根据HMM参数库进行Viterbi译码,归一化处理以后作为优化后遗传神经网络的输入,即将HMM中全部状态累计概率作为优化后的遗传神经网络特征输入,再根据神经网络的非线性映射能力对语音信号识别出所需要的结果.改进后的语音识别系统流程图如图3所示.

4仿真实验及结果分析

实验语音文件从十个人中采集,一个文件有中文数字1-9组成.每个人录了四次,其中三个用于培训和一个用于测试.记录格式的采样频率8kHz,单通道16位采样点,采取的帧长为256点.记录后,点检测去除无声段,其次是预加重.然后,语音段划分为20个帧,从每一帧中提取的特征参数.一个帧有10个特征.因此,每一个数字都会有200特点.实验训练集采取100个不同人员的净语音样本;在不同的信噪比下取50个不同人员的语音信息;在不同的环境下,采用的语音数据的信噪比分别为40、35、30、25、20、15、5和0dB.实验时,为了验证改进的语音识别系统的有效性,在Matlab7.0上分别对HMM,HMM与优化后的遗传神经网络和本文改进后的混合语音识别模型算法做对比.实验分为两次实验过程,第一次在加性高斯噪声下;第二次在学校餐厅学生就餐时人声为噪声背景.实验分别得出语音在加性高斯噪声下识别率如表1和图4;在学校餐厅时实验结果如表2和图5所示.由表1和表2中的实验数据可以看出,改进以后的混合算法相比单一的HMM和优化的遗传神经网络相比具有更好的识别效果,尤其对那些容易混淆的词语识别率也有所提高.对于识别系统的信噪鲁棒性方面也有了明显的改变,提高了语音识别系统的自适应能力.神经网络的收敛速度是衡量语音识别的一个重要标准,因此遗传神经优化算法与BP算法收敛速度作了如图6、图7的比较,实验结果表明,优化算法收敛速度得到明显改善.

5结论

本文提出了基于隐马尔可夫HMM与遗传算法的神经网络改进的语音识别系统,在隐马尔可夫模型与遗传网络算法优化的基础上,引入小波神经网络训练MFCC系数,充分利用了隐马尔可夫模型强大的时间建模能力与遗传算法优化后的收敛速度快、分类识别能力强的优点.小波神经网络训练出的MFCC新系数应用到优化后的神经网络具有更高的识别率,提高了识别系统的自适应能力.

参考文献

1吕军,曹效英,徐宝国.基于语音识别的汉语发音自动评分系统的设计与实现.计算机工程与设计,2007,28(5):1232–1235.

2郭超,张雪英,刘晓峰.支持向量机在低信噪比语音识别中的应用.计算机工程与应用,2013,49(5):213–215.

3SemanN,BakarZA,BakarNA.TheoptimizationofArtificialNeuralNetworksconnectionweightsusinggeneticalgorithmsforisolatedspokenMalayparliamentaryspeeches.2010InternationalConferenceonComputerandInformationApplication(ICCIA).IEEE.2010.162–166.

4LanML,PanST,LaiCC.Usinggeneticalgorithmtoimprovetheperformanceofspeechrecognitionbasedonartificialneuralnetwork.FirstInternationalConferenceonInnovativeComputing,InformationandControl(ICICIC’06).IEEE.2006,2.527–530.

5王晓东,薛宏智,马盈仓.基于自适应遗传算法的神经网络字符识别.西安工程大学学报,2008,22(2):210–213.

6钟林,刘润生.新神经网络结构及其在数码语音识别中的应用.清华大学学报(自然科学版),2000,40(3):104–108.

7包亚萍,郑骏,武晓光.基于HMM和遗传神经网络的语音识别系统.计算机工程与科学,2011,33(4):139–144.

8冯宏伟,薛蕾.基于HMM和新型前馈型神经网络的语音识别研究.计算机工程与设计,2010,(24):5324–5327.

9肖勇,覃爱娜.改进的HMM和小波神经网络的抗噪语音识别.计算机工程与应用,2010,(22):162–164.

10PanST,WuCH,LaiCC.Theapplicationofimprovedgeneticalgorithmonthetrainingofneuralnetworkforspeechrecognition.SecondInternationalConferenceonInnovativeComputing,InformationandControl(ICICIC’07).IEEE,2007.168–168.

11AggarwalRK,DaveM.ApplicationofgeneticallyoptimizedneuralnetworksforHindispeechrecognitionsystem.2011WorldCongressonInformationandCommunicationTechnologies(WICT).IEEE.2011.512–517.

篇5

中图分类号:TP319 文献标识码:A 文章编号:2095-1302(2012)09-0014-02

Design of voice recognition system based on TMS320C6713

XU Fei-yan1, CHEN Tao2, SUN Xu3, FANG Zong-liang1, LI Li-rong1

(1. Department 2, Anti-Chemical Institute, Beijing 102205, China;

2. Beijing Research & Development Center of Xiamen Jiuhua Communications Equipment Factory, Beijing 100083, China;

3. Chengdu University of Technology, Chengdu 610059,China)

Abstract: Taking the TMS320C6713DSP with floating-point functions produced by Texas Instruments chip as the system core processor and the MSP430 microcontroller as a peripheral controller, a real-time speech recognition system is designed in the paper. The kernel algorithm for the system uses Mel-frequency cepstral coefficients as feature parameters for feature extraction and dynamic time warping (DTW) algorithm for pattern matching. Programming and debugging of the system indicate that the system has good flexibility and real-time capability and improves the performance in noise immunity, robustness and recognition rates. In many areas, it has a practical reference value.

Keywords: speech recognition; digital signal processing; Mel-frequency cepstral coefficients; dynamic time warping

0 引 言

语音识别[1]是一种最为理想的人机通信方式。随着计算机技术的进步,语音识别技术已经逐渐应用于控制、通信、消费等行业[2]。但是,语音识别系统在商品化的进程中还存在着诸如识别速度、系统鲁棒性以及更高的识别率等具体问题。如何提高语音识别系统的这些性能,使系统更快、更稳定地工作是目前研究的重点。本文正是基于这种思想,通过选用德州仪器公司带浮点功能的DSP芯片TMS320C6713(主频为200 MHz)作为语音信号处理的核心处理器,同时结合MSP430单片机作为控制器共同构建硬件系统, 以美尔频率倒谱系数作为语音信号特征参数,结合动态时间规整孤立词识别算法进行模式匹配,设计了一种具有良好实时性和高识别率及鲁棒性的语音识别系统。

1 系统硬件设计

本设计的整个硬件系统是以DSP为核心电路对语音信号进行采集和处理,再经过A/D转换电路把模拟语音信号转换成数字语音信号,然后送入DSP芯片进行匹配识别,最后将识别后的结果通过单片机控制模块外接的两个红绿颜色的二极管进行处理表示,其中红色表示拒绝命令,绿色表示接受命令。系统的硬件平台主要由DSP系统核心处理模块、语音信号采集模块、单片机控制模块、外扩存储器模块和电路等几个模块构成。系统的硬件设计总体方案框图如图1所示。

1.1 DSP系统核心处理模块

作为系统的核心模块DSP芯片采用TMS320C6713,该芯片的主频可达200 MHz。这是TI公司推出的一种新型的浮点DSP芯片,是继定点DSP芯片TMS320C62X系列后开发的。该芯片的内部结构在TMS320C62X的基础上进行了改进,内部同样集成了多个功能单元,可同时执行8条指令,其运算能力可达1G FLOPS。片内具有丰富的外设,如EDMA、EMIF、McBSP、HPI、GPIO等[4]。

篇6

自动语音识别研究起始于上世纪50年代,80年代最大突破是隐马尔科夫模型(HMM)的应用,语音识别研究重点从特定人、小词表、孤立词语音识别向非特定人、大词表、连续语音识别转移;90年代以来,语音识别在模型细化、参数提取和优化、系统自适应方面取得重大突破.进入本世纪,著名的研究机构和公司,如剑桥大学、IBM、CMU大学、微软、贝尔实验室等机构的大词表连续语音识别系统对特定说话人的识别率达到95%左右.面对中国未来市场,国外IBM、APPLE、MOTOROLA等公司投入到汉语语音识别系统的开发.

我国语音识别研究虽然起步较晚,但发展发展迅速,中国科学院自动化研究所、声学研究所及清华大学、北京交通大学等机构都开展了语音识别的研究,总体上,汉语连续语音识别的研究与国外先进技术相差不大。

实际环境对语音识别的声学噪声鲁棒性要求越来越高,因此,提取具有鲁棒性和较强区分能力的特征向量对语音识别系统具有重要的意义.目前常用的声学特征参数有基于线性预测分析(LPC)的倒谱LPCC、基于Mel频率弯折的倒谱MFCC及基于听觉模型的感知线性预测(PLP)分析等.

由于考虑到人耳的听觉特性,Mel倒谱系数或感知线性预测系数已经成为目前主流的语音特征向量提取方法之一,加上它们的一阶、二阶差分以及对特征向量进行归一化处理以后,在大词汇量连续语音识别问题上取得不错的结果。为了使系统具有较好的鲁棒性,通常要对语音识别系统的前端进行预处理.

虽然语音信号是非平稳信号,但在一个小的时段内具有相对的稳定性,因此在对语音信号进行分析时,我们总是假定语音信号在一个时间帧(frame)内是平稳信号,这就是语音信号的短时分析假设。通常一帧大约为20ms左右。对一帧信号通过加Hamming 窗、Hanning 窗或矩形窗后再进行特征分析就可以得到相应的一组特征,然后通过把分析窗移动一个偏移(称为帧移,通常为一帧的1/2或1/3),然后进行下一帧的处理。

1.MFCC的计算

Mel频率倒谱参数(MFCC),着眼于人耳的听觉特性。人耳所听到的声音的高低与声音的频率并不成线性正比关系,从人类听觉系统的研究成果来看,人耳分辨声音频率的过程犹如一种取对数的功能,而Mel频率尺度则更符合人耳的听觉特性。

类似于临界频带的划分,可以将语音频率划分成一系列三角形的滤波器序列,即Mel滤波器组。Mel频率和频率的关系如下:

Mel(f)=2595lg(1+f/700)

Mel频率带宽随频率的增长而变化,在1000Hz以下,大致呈线性分布,带宽为100Hz左右,在1000Hz以上呈对数增长。将频谱通过24个三角滤波器,其中中心频率在1000Hz以上和以下的各12个。滤波器的中心频率间隔特点是在1000Hz以下为线性分布,1000Hz以上为等比数列分布。

图1 Mel三角滤波器

MFCC的具体计算过程如下:

1) 由原始信号计算其DFT,得到离散谱{S n n N} t ( ) = 1,2,..., ;

2) 三角滤波器的输出则为此频率带宽内所有信号幅度谱加权和。

l = 1,2,....,24

3) 对所有滤波器输出作对数运算

ln(y(l))l= 1,2,....,24

4) 作离散余弦变换(DCT)得到Mel频率倒谱参数(MFCC)。

i = 1,2,...,P,P为MFCC参数的阶数,取P=12.

2.PLP的计算

感知线性预测(PLP)技术涉及到听力、心理、物理学的三个概念:(1)临界波段频谱分辨率;(2)等响度曲线;(3)强度-响度功率定律。使用一个自回归全极点模型去逼近听觉频谱。5阶的全极点模型能有效地抑制听觉频谱中与话者有关的细节信息。与传统的线性预测(LP)分析相比,在强调听觉这方面,PLP分析更为合理。

PLP分析流程:

(1)使用FFT用对原始信号从时域变换到频域,得到功率谱 ;

(2)关键波段频谱分析(Critical-band spectral resolution):以不同于Mel频谱分析的新的临界波段曲线进行分段离散卷积,产生临界波段功率谱的样点.

(3)等响度预加重(Equal-loudness pre-emphasis):样值化的通过模拟的等响度曲线进行预加重

(4) 利用强度-响度幂律(Intensity-loudness power law)进行立方根幅度压缩

(5) 自回归建模(auto-regressive modeling):利用全极点频谱建模的自相关方法由全极点模型的频谱去逼近 。基本原理是:对Φ(Ω)进行逆DFT变换,产生自相关函数。前M+1个自相关值用于从Yule-Walker方程中解出M阶全极点模型的自回归系数。

3.实验结果

分别提取12维PLP和MFCC特征参数,1维归一化短时能量,并求其一阶差分及二阶差分,共39维MFCC和PLP特征参数.

以音素为声学建模单元,采用5状态的连续HMM模型(见图2),其中1、5状态只起连接作用,没有观测概率,第2、3、4状态有GMM概率分布,假设特征参数是相互独立的,所以规定协方差矩阵为对角阵。

图2 五状态HMM模型结构

声学模型的训练基于4007句朗读式的特定人男声语料,共2.84小时,结合藏语语言学和语音学的研究成果,对拉萨话中全部50个音素进行分类,共划分了38个音素类别集,对全部72个声韵母设计了72个类别集,根据其前后语境分别建立决策树问题集,生成决策树,生成三音子模型后逐步增加高斯混合度。

选择50句短句作为测试集,测试集与训练集为同一发音人,但发音文本完全独立,同时,测试集语料与语言模型的训练语料也完全独立,测试集共有885个单音节,其中界外词(OOV)25个,全部为紧缩音节。

当特征参数分别为PLP和MFCC时,实验结果如下(三音子triphone模型的状态数为584):

由藏语大词表连续语音识别的实验结果来看,PLP和MFCC的效果相差不大。

参考文献

[1] Lawrence Rabiner, Biing-Hwang Juang. Fundamentals of Speech Recognition[M].北京:清华大学出版社.1993

[2] 郑方,吴文虎,方棣棠. 连续无限制语音流中关键词识别的研究现状[C].第四届全国人机语音通讯学术会议,北京,1996

[3] 高升,徐波,黄泰翼.基于决策树的汉语三音子模型[J].声学学报,2000,11(2):271-276

篇7

3、在所有控制面板项的最下方选择语音识别功能,会进入语音识别功能设置的页面。

篇8

1.引言

在小词汇量的语音识别系统中,主要分为孤立词识别和基于词网模型的连续语音识别。前者通过词发音端点分割算法,把每个词的发音从整段语音中分割出来,然后再到模型集中去寻找最佳的匹配作为识别结果。XML同HTML一样,都来自SGML(标准通用标记语言)。SGML是一种在Web发明之前就早已存在的用标记来描述文档资料的通用语言。但SGML十分庞大且难于学习和使用。鉴于此,人们提出了XML 语言,它具有可扩展性、灵活性、自描述性、简明性的优点。

在MYASR系统中有多个功能模块,每个功能模块都有各自的参数,采用XML语言对这些参数进行描述更加直观,可读性更强。例如,MYASR中MFCC编码的XML描述如下:

<mfcc_params>

 <type_mask>  MFCC_0_D_A  </type_mask>

 <sample_rate> 16000 </sample_rate>

 <win_size>  400 </win_size>

 <win_shift> 160 </win_shift>

 <fft_size>  512 </fft_size>

 <low_freq>  200  </low_freq>

 <high_freq> 7000  </high_freq>

 <pre_enphasis> 0.97 </pre_enphasis>

 <mel_num>  26  </mel_num>

 <cep_num>  12  </cep_num>

 <cep_lifter>  10  </cep_lifter>

</mfcc_params>

MYASR通过XML解析器将XML元素中的参数提取出来,然后再传递给各个功能模块。当需要增加参数时,只要在XML文件中适当位置增加一个元素(Element)即可,具有良好的可扩展性。

3.系统开发

MYASR系统的模块结构如下所示:

3.1前端处理

MYASR的前端处理包括以下功能模块:自动增益控制(AGC)、噪音消除、预加重处理。其相应的XML描述如下:

<preprocess_bat workdir="d:worktmp">

 <params>

  <frame_ts> 20 </frame_ts>       //帧长

  <agc>

   <level> 0.5 </level>  

   <max_gain> 2.0 </max_gain>  //最大增幅

   <min_gain> 1.0 </min_gain>   //最小增幅

  <agc>

  <pre_enphasis> 0.97 </pre_enphasis>//预加重系数

  <denoise>1</denoise>    //噪音消除

 </params>

 <transcrip> pretrans.scp </transcrip>

</preprocess_bat>

其中属性"workdir"表示当前的工作目录,元素<agc>表示自动增益控制参数,元素<pre_enphasis>表示预加重参数,元素<denoise>表示是否对语音进行噪音消除。元素<transcrip>表示批处理文件,此文件中描述了目标文件名及处理后的文件名,内容如下:

"speech1.wav"  "speech1_dn.wav"

"speech2.wav"  "speech2_dn.wav"

"speech3.wav"  "speech3_dn.wav"

.........

3.2端点分割

在MYASR系统中,实现两种类型的端点分割:句子端点检测,词端点检测。采用的静音检测方法有【2】:基于短时能量、基于短时平均过零率、和基于GMM模型。其XML描述如下:

 <endpoint>

  <endpoint_method> SENT_CUT </endpoint_method>

  <vad_method> GMM_VAD </vad_method>

  <sil_interval> 500 </sil_interval>            //单位为毫秒

</endpoint>

元素<endpoint_method>表示端点分割方法:设置SENT_CUT表示句子端点分割,设置WORD_CUT表示词端点分割。元素<vad_method>表示静音检测的方法:设置GMM_VAD 表示采用基于GMM模型,PW_VAD表示基于短时能量,COS_VAD表示基于短时平均过零率。<sil_interval>元素表示检测对象之间允许的停顿时间,超过停顿时间意味着出现新的句子或词。

3.3特征提取

MYASR系统中目前采用MFCC结合动态差分参数作为特征矢量。将语音文件转换为MFCC编码的XML描述文件如下所示:

 <wav2mfcc workdir = "d:myworkdir">

  <params_xml>mfccparams.xml</params_xml>

  <transcrip> trans.scp </transcrip>

</wav2mfcc>

其中mfccparams.xml是MFC C特征参数的描述文件,内容如下:

<mfcc_params>

 <type_mask>  MFCC_0_D_A  </type_mask>//类型

 <sample_rate> 16000 </sample_rate>  //采样率

       <win_size>  400  </win_size> //帧长

 <win_shift> 160   </win_shift>    //帧移

 <fft_size>  512   </fft_size>   //FFT的窗长

 <low_freq>  200  </low_freq>   //截止的最低频率

 <high_freq>  7000 </high_freq>   //截止的最高频率

 <mel_num>  26  </mel_num>   //MEL滤波器数

 <cep_num>  12  </cep_num>   //MFCC维数

 <cep_lifter>  10  </cep_lifter>   //参数提升系数

</mfcc_params>

其中<type_mask>元素表示特征矢量标志,有6种类型:

表3-1  MYASR中MFCC编码类型

标志

含义

MFCC

MFCC参数

MFCC_0

MFCC参数加对数能量

MFCC_D

MFCC参数及其一阶差分

MFCC_0_D

MFCC参数加对数能量,及一阶差分

MFCC_D_A

MFCC参数及其一阶、二阶差分

MFCC_0_D_A

MFCC参数加对数能量,及一阶、二阶差分

<transcrip>元素中的trans.tsp文件描述了语音源文件及转换成MFCC的目标文件,内容如下:

"speech1.wav"  "speech1.mfc"

"speech2.wav"  "speech2.mfc"

"speech3.wav"  "speech3.mfc"

.........

3.4模型训练

MYASR采用了连续概率密度的HMM模型,模型参数初始化采用了"K-均值分割"算法,参数重估采用"Baum-Welch"算法。其XML描述文件如下:

<hmm_train workdir="d:worktmpmytimit">

 <label_scrip> phones.lst </label_scrip>    

 <featlep_scrip> trainmfcclabep.scp </featlep_scrip>  

 <hmm_params>

  <state_num>3</ state_num >      //HMM状态数

  <mixture>4</mixture>       //高斯分量个数

  <veclen>39</veclen>       //特征矢量维数

  <cluster>GMM_EM</cluster>     //聚类算法

  <feat_flag>MFCC_0_D_A</feat_flag>   //特征矢量标志

 </hmm_params>

 <model_file>modelhmmmodelEM4.xml</model_file> //输出文件

</ hmm _train>

其中,<label_scrip>元素中的文件phones.lst表示要训练的那些词或音子。

<featlep_scrip>元素中的文件trainmfcclabep.scp描述了特征矢量文件及其标注文件,内容如下:

"mfcspeech1.mfc"  "labspeech1.lab"

"mfcspeech2.mfc"  "labspeech2.lab"

"mfcspeech3.mfc"  "labspeech3.lab"

.........

标注文件".lab"中注明了每个单元的发音起点和终点,MYASR将根据标注文件从特征文件中读取特征矢量进行HMM模型的训练。标注文件内容如下:

0    191   sil

191  285   sh

285  358   ix

358  415   hh

415  548   eh

548  646   jh

646  720   ih

720  790   d

790  920   ah

....

其中时间单位为毫秒。

<cluster>元素表示"K-均值分割"算法中对B参数进行重估所采用的算法,有两种选项:GMM_EM表示EM算法,K_MEANS表示"K-means"算法。实验结果显示,EM算法比"K-means"算法具有更好的性能。

<model_file>表示训练输出的HMM模型文件,内容如下:

<hmm_set>

 <params>

  <feat_mask>MFCC_0_D_A</feat_ mask >

  <state_num>3</state_num>

  <mixture>4</mixture>

  <vec_len>39</vec_len>

 </params>

 <hmm >

  <state>

 <mixture> 1.906841e+001 1.900540e-001 ......</mixture> //均值

<var>     2.945649e+001 1.096035e+002......</var>    //方差

<weight>  2.212352e-001 </weight>  

 //权重

           </state>

           ......

</hmm>

......

</hmm_ set >

3.5词网构建

3.5.1 词网模型的双层结构

MYASR中的词网模型分为两层:一层是描述层,主要用于描述词网的结构,包括上下文无关文法和有限状态图;另一层是模型层,这一层由HMM模型构成的搜索网络,是搜索算法的输入。首先由用户定义语法规则,然后转换成有限状态图,最后结合HMM模型集和发音字典将其转化成搜索算法可以处理的模型层搜索网络。

3.5.2 描述层到模型层的转换

在模型层搜索网络中,按节点是否有词输出分为两类:空节点和词节点。空节点中不含有HMM模型,而只是作为词网中的一个过度节点,如起始节点(#START),终止节点(#END),中转节点(#L)都是没有词输出的节点。而词节点则包含了构成这个词的HMM模型。

词网模型的有限状态图转换成模型层搜索网络的过程为:当遇到空节点时,不作处理;当遇到词结点时,在字典哈希表找到这个词,并保存word_id,word_id是这个词在字典哈希表的索引,当搜索结束后,回溯时就是根据这个word_id找到哈希表中对应的词;同时根据这个词的发音,到HMM哈希表中查找子词的HMM模型,然后在这个词结点中创建指向子词HMM模型的指针。转换后的模型层搜索网络如图3-4所示。

    模型层搜索网络构建后,就可以用Token-Passing算法进行搜索。

4 总结

篇9

中图分类号:TP391文献标识码:A文章编号:1009-3044(2011)10-2339-02

Design and Implementation of FPGA-based Voice Recognition Dialing System

WANG Hong, HAN Fei, WANG Jian, MA Yan-ping, ZHONG Hui, LI He

(School of Computer Science, South-Central University For Nationalities, Wuhan 430074, China)

Abstract: This paper elaborates a much more efficent and more identifiable process of speech dialing system and crucial technology which based on Altera Cyclone Ⅲ 3C16 and Quartus Ⅱ, NiosⅡ9. 0IDE using improved speech processing and speech recognition algorithm.

Key words: FPGA; speech recognition; MPCC; HMM

1 系统的总体设计

系统由语音采集模块、语音识别模块和拨号模块三部分组成。语音信号采集模块由麦克风和音频编解码芯片TLV320AIC23B组成,它主要的功能是对外部语音进行采集并数字化;语音识别模块由预处理、端点检测、特征提取、训练和模式匹配等算法模块组成;匹配成功后,由拨号模块找出对应的电话号码,经DTMF发生器输出到电话线路上,实现语音控制自动拨号功能。系统的算法流程如图1所示。

2 语音采集模块

系统采用音频编解码芯片TLV320AIC23B对语音信号进行采集,使用该芯片时只需配置相应端口,芯片自动将外界语音信号转变成数字信号输出。

3 语音识别模块

语音识别模块不仅要进行训练和模式匹配,还要对采集到的语音信号进行诸如加窗、预加重、除噪处理,最后提取特征参数供匹配识别操作。该模块(如图2所示)所采用的语音识别算法全部用HDL描述,采用FPGA实现。

3.1 预处理

预处理包括预加重、分帧和加窗,它们的目的是去除噪声,加强有用信息,对语音输入测量仪器或其他因素造成的退化现象进行复原。

3.1.1 预加重

预加重的目的是提升高频部分,使信号的频谱变得平坦,保持在低频到高频的整个频带中能用同样的信噪比求频谱,以便于频谱分析或声道参数分析。

3.1.2 分帧加窗算法

语音信号是一种典型的非平稳信号,特性随时间变化,但在很短的时间(大概15ms)内是平稳的,其特性保持不变,因此,可以采用分帧处理,用帧来描述语音信号的特征[1]。分帧算法用DSPBuilder描述,再转换成对应的HDL[2]。其DSP Builder的实现如图3所示。

加窗的目的是使主瓣更尖锐,旁瓣更低。本系统选用汉明窗,公式如(1):

(1)

3.2 端点检测

系统用HDL描述端点检测,并且采用基于能量状态变迁的端点检测方法,将整个端点检测过程分为6个状态,其状态变迁取决于转换条件。能量状态变迁图如图4所示。

3.3 特征提取

经过端点检测后的语音帧用MFCC进行特征提取,对于经过预加重和加窗处理的语音信号,可以直接从FFT开始计算。我们采用Alter公司提供的FFT IP核。一般框架如图5所示。

3.4 HMM训练与匹配

系统的HMM训练采用经典的Baum-Welch算法,识别采用viterbi算法[4]。系统对原始的viterbi算法进行了改进,改进后的算法如下:

1)初始化 δ[1][1]= ∏[j]+b[j][O(1)],1QjQ4

2)递归 δ[t][j]=min[δ[t-1][i]+a[i][j]]+b[O(t)],2QtQT 1QjQ4

φ[j]=argmin[δ[t-1][i]+a[i][j]]2QtQT 1Qi jQ4

3)终止 p=δ[T][4]q[t]=4

4)路径回溯q[t]= φ[t+1][q[t+1]],t=T-1,T-2,…,1

算法表明,下一状态只停留在当前状态转移到它概率最大的那个状态,直至最后一个状态S4,如图6。

4 拨号模块

模式匹配成功后,找出与模板对应的电话号码,经过DTMF发生器输出到电话线路上实现语音控制自动拨号的功能。在拨号状态下,语音识别模块通过信号线和控制线将DTMF信号发送到电话机线路上,电话机读取存放在相应位置的电话号码并发送出去。

5 结束语

本文讨论了基于FPGA的语音识别拨号系统的设计和实现,对非特定人、孤立词等进行识别。系统实现的语音识别准确率高、效率加强,可应用于任何可编程逻辑器件中,为手机、座机及其它诸多应用中的语音拨号功能的实现提供了参考设计方案。

参考文献:

[1] 马志欣,王宏,李鑫.语音识别技术综述[J].昌吉学院学报,2006(3):93-97.

篇10

中图分类号:TN912 文献标识码:A 文章编号:1007-9416(2012)02-0082-01

由于生活节奏的加快,汽车已经成为了人们生活中重要的工具,人们在车内的时间也更多。同时也希望能够在车内接收到外界的信息继续进行工作,还要求汽车有娱乐功能,因此促进了车载多媒体的发展。而车载多媒体传统的人机交互方式会增加潜在的驾驶危险,为此将语音识别应用于车载多媒体系统中,将会是车载多媒体发展的重要方向。端点检测、特征参数提取以及识别是语音识别的主要内容,本文也将从这三个方向对车在多媒体系统的语音识别进行研究。

1、端点检测

在进行语音识别时,首先需要通过端点检测来对语音信号中的无声片段和有声片段进行分割。目前,语音端点识别已经从开始的单一门限发展到了基于模糊理论的判决。但是对于车载多媒体而言,计算量较大、识别响应时间较长端点检测的方法显然不使用,所以主要采用基于短平均过零率和短时间平均幅度的方法来进行语音端点检测,这种方法利用短时间内幅度的检测和过零率来作为语音端点的检测。

首先,利用短时幅度可以有效判断语音端点,同时语音的浊音部分平均幅度会明显大于噪声的平均幅度,然后同时再辅以短时过零率的方法来判断语音开始的浊音,从而进一步对端点检测进行校准,两者的结合能够更加精确的判断语音端点,并且两种算法都较为简单,能够满足车在多媒体的需求。

2、特征参数提取

在完成语音的端点检测之后,需要提取语音的特征参数,然后进行语音识别。目前用于语音特征参数提取的算法主要有LPCC(线性预测倒谱系数)和MFCC(Mel频率倒谱),由于MFCC具有更强的抗干扰能力等特点,更适合与噪声较多、司机不能离输入设备很近的车载环境。

分析MFCC的语音特征参数提取可以分成预加重、加窗、FFT(快速傅里叶变换)、滤波、自然对数提取、自然对数DCT计算这六个步骤。由于MFCC其计算精度以及计算量都较大,因此,使用MFCC作为车载系统的语音特征参数提取时,需要进行相应的改进:

(1)在MFCC实现的六个步骤中,例如加窗等步骤就可以实现进行计算,然后存储在数组中,在使用时进行查表提取,从而避免每一次语音识别时重复计算,从而加快了计算速度。

(2)FFT需要花费大量的时间(据统计,FFT需要花费MFCC56.32%的时间[2]),由于FFT算法是对复数进行处理,而语音信号的处理只涉及到实数部分,其虚数部分为零,因此增加了运算时间,因此可以利用文献3所提出的FFT运算方法,将长度为N的FFT预算降低到长度为N/2的FFT运算,从而提高了语音特征参数提取效率。

3、识别模式

语音识别的原理是模式匹配,通过计算现有语音模式与语音模板库中的模板的距离,来获得最佳的匹配模式。匹配的方法主要有DTW(动态时间规整)、HMM(隐马尔科夫模型)和ANN(人工神经元网络)。由于ANN计算量较大,因此不适合用于车载多媒体系统中,HMM需要繁杂的程序结构,包含众多功能模块,需要大量的计算。因此, DTW模式更适合用于车载多媒体系统中。能够满足车载系统孤立词、小词汇量的语音识别。

为了更好的在车在多媒体系统中的嵌入式平台上实现DTW,对DTW进行进一步的改进:

(1)由于在语音识别汇总,对音头和音尾的判断存在一定的误差,因此,使用传统DTW方法在进行固定端点匹配时会存在一定的误差,从而降低了语音匹配成功率。为此,可以采用放宽端点限制的方法来使用DTW进行语音识别。其主要的思路是取消传统DTW中对音头和音尾严格对其的限制。从而,只要两次语音在开始的W帧内能够匹配成功,同时在结束的W帧内匹配成功,即认为两次语音匹配成功。在降低了对端点检测的精度要求,符合车载系统小词汇量的特点,不会降低车载系统语音识别效率。

(2)在使用DTW进行语音模板匹配时,需要计算两个模板各帧的距离来计算模板之间的距离。加入模板库中的某个模板T有N帧,待识别的语音R有M帧,那么通常需要申请M×N长度的空间,再根据两个模板所有帧间距离计算整体长度。但是在实际的应用中,只需要M长度的空间来存放模板T第n-1帧与模板R中M帧之间的距离,在计算完第n帧与模板R中M帧之间的距离对M长度空间的数据进行替换,从而进行模板T第n+1帧与模板R中M帧之间的距离,从而节省了(N-1)×M的存储空间,这对车载系统有限存储空间的系统中有着非常重要的意义。

4、结语

相比于传统的按钮式、触摸屏式人机交互系统,语音识别对于车载多媒体系统有着非常重要的意义,将是车载多媒体系统重要的发展方向,本文针对车载多媒体系统对低CPU运算时间和地存储空间的特点,对语音识别中的端点检测、语音特征参数提取以及识别模式的实现和优化进行了研究。

参考文献

[1]方敏,浦剑涛,李成荣.嵌入式语音识别系统的研究和实现[J].中国信息学报,2004,(6):73~78.

[2]万春,黄杰圣,曹煦晖.基于DTW的孤立词语音识别研究和算法改进[J].计算机与现代化,2005,(13):4~6.

篇11

1.引言

近年来,家居空调的语音智能控制已经成为一个非常活跃的研究领域,语音识别技术作为一种重要的人机交互手段,辅助甚至取代传统的遥控器,在智能控制领域有着广阔的发展前景。

语音识别是机器通过识别和理解过程把语音信号转变为相应的文件或命令的技术。随着DSP技术的快速发展及性能不断完善,基于DSP的语音识别算法得到了实现,并且在费用、功耗、速度、精确度和体积等方面有着PC机所不具备的优势,具有广阔的应用前景。

2.语音识别的基本原理

语音识别的过程是一个模式匹配的过程。首先根据语音特点建立语音模型,模型通常由声学模型和语言模型两部分组成,分别对应于语音到半音节概率的计算和半音节到字概率的计算。对输入的语音信号进行预处理后提取所需的语音特征,在此基础上建立语音识别所需的模板。在识别过程中,根据语音识别的整体模型,将输入的语音特征与已有的语音模板进行比较,找出最佳匹配对象作为识别结果。一般的语音处理流程如图1所示。

图1 语音识别系统的处理流程图

3.系统的硬件设计

通过对系统功能分析,最终确定系统由语音采集与输出模块、语音处理模块、程序数据存储器FLASH模块、数据存储器SRAM模块、系统时序逻辑控制CPLD模块、JTAG接口模块等组成,设计的框图如图2所示。

图2 语音识别系统的硬件结构框图

(1)语音采集与输出模块。该模块由高性能的立体声音频Codec芯片TLV320AIC23B来完成。模数、数模转换集成在一块芯片内,内置耳机输出放大器,支持MIC和LINE IN两种输入方式,输入和输出增益可编程设置。编程设置内部的11个16位寄存器可得所需的采样频率、输入输出增益和传输数据格式等。

(2)语音处理模块。采用TMS320VC5402 16位微处理器,处理速度快,最快运行速度可达100MIPS,功耗低,是一款理想的DSP处理器。作为系统的整个核心,其主要功能是接收来自A/D的数据,完成语音训练和语音识别。具有丰富的片内外设,主要包括通用I/O引脚、硬件定时器、软件可编程等待状态产生器、可编程块开关模块、增强型并行主机接口、两个多通道缓冲串口、时钟发生器、DMA控制器、JTAG接口,具有管理中断、循环运算和功能调用的控制结构。

(3)FLASH模块。由于TMS320VC5402片上没有FLASH且片内RAM只有16K,因此需要外扩外部存储器使其成为独立系统,这里选用了存储容量为256K的低功耗FLASH芯片SST39VF400B,RAM选用了64K SRAM CY7C1021。

(4)CPLD模块。用来对存储器的扩展实现逻辑译码,CPLD的供电电压和DSP相同为3.3V,并且可在线编程,方便修改译码逻辑。DSP的一些控制信号经过CPLD后输出了RAM和FLASH的片选及读写信号,从而实现DSP对FLASH与SRAM的读写操作。

(5)电源模块。电源设计的好坏直接影响到系统的稳定。这里选用了TI公司的TPS767D318电源方案,该芯片输入电压为+5V,输出3.3V和1.8V两路电压,能够很好的满足DSP系统的要求。

(6)空调控制器模块。该模块同传统的空调控制器,接收TMS320VC5402模块发来的功能控制命令,实现空调功能调整。

(7)电路模块。复位电路、时钟电路、串口电路和音频电路等。

4.系统的软件设计

信号采集为避免信号失真选用优质电容MIC作为输入音源。声音通过麦克风输入到语音信号处理板,通过TLV320AIC23B的A/D转换变成数字信号,经过DSP处理后通过D/A转换输出声音,然后对声音进行监测,并对采集的波形进行反复对比分析,以提取最佳的波形样本。程序设计流程图如图3所示。

图3 系统软件流程图

4.1 端点检测

语音的前端处理主要包括对语音采样、A/D变换、预加重、分帧、加窗和端点检测。端点检测是指从噪声中检测出说话人的语音命令,获得语音开始和结束的时间点。本系统采用短时平均幅度和短时过零率相结合的办法。在判断语音的起始点时,只要短时过零率或短时平均幅度有一个超出判决门限时,便开始保存信号,然后确定随后的几帧数据是否仍满足判决门限,这时才可以确定刚采集进来的数据是有效的,否则认为是噪声引起的,将重新进行起点的判定。语音信号的结束点采取过零率和幅度相结合的办法,如果语音信号的连续几帧的平均能量低于能量门限,那么就认为语音信号结束。

用于空调的常用命令控制词汇有:“开启”、“制冷”、“温度”、“睡眠”、数字“0~9”等,待识别的词汇范围相对较窄,较易识别,采用上述方法对空调命令的起止点判定达到了很好的效果,经多次反复试验,其准确率达98%。

4.2 特征参数提取

语音信号中含有非常丰富的信息,特征提取则可以去除冗余信息,以便用于后端模型的建立和匹配。语音识别中对特征参数的要求是:

(1)具有很好的区分性,能够有效地代表语音特征;

(2)各阶参数之间有良好的独立性;

(3)特征参数要计算方便,保证识别的实时实现。

现在较常用的特征参数有线性预测参数(LPCC)、Mel频率倒谱参数(MFCC)、线谱对(LSP)参数等。本文选择MFCC作为特征参数。它的核心思想是利用人耳的感知特性,在语音的频谱范围内设置若干个带通滤波器,每个滤波器具备三角或正弦滤波特性,计算相应滤波器组的信号能量,再通过DCT计算对应的倒谱系数,符合语音识别中对特征参数的要求。

MFCC求取主要步骤是:

(1)给每一帧语音加窗做FFT,取出幅度;

(2)将幅度和滤波器组中每一个三角滤波器进行Binning运算;

(3)求log,换算成对数率;

(4)从对数率的滤波器组幅度,使用DCT变换求出MFCC系数。

4.3 模板训练和语音识别

在识别系统后端,从已知模式中获取用以表征该模式本质特征的模型参数即形成模式库,再将输入的语音提取特征矢量参数后与已建立的声学模型进行相似度比较,同时根据一定的语法规则和判别规则决策出最终的识别结果。

目前语音识别中使用模板匹配技术比较常见的有隐马尔可夫模型(HMM)、人工神经元网络(ANN)和动态时间规整算法(DTW)。综合考虑到算法的复杂性和计算量的大小、算法在DSP系统实现的难易程度以及所需要的DSP资源,系统采用算法相对简单和计算量相对较小的DTW算法,并针对其存在的运算量大、识别性能严重依赖端点检测的精度、语音信号的时序动态信息没有被充分利用等问题加以改进。

DTW算法是把时间规整和距离测度计算结合起来的一种非线性规整技术,该算法基于动态规划的思想,解决了发音长短不一的模板匹配问题。算法原理是假设待测语音共有N帧矢量,参考模板共有M帧矢量,且N≠M,则动态时间规整就是寻找一个时间规整函数j=w(i),它将测试矢量的时间轴i非线性地映射到模板的时间轴j上,并使该函数w满足第N帧测试矢量和第M帧模板矢量之间的距离测度最小。通常规整函数w(i)被限制在一个平行四边形内,它的一条边的斜率为2,另一条边的斜率为1/2,规整函数的起始点为(1,1),终止点为(N,M)。

为了提高识别效率,本文对DTW算法的搜索宽度限制条件进行了改进。以局部约束路径为例,待测模板每前进一帧,对于点(I,j)只需用到其前一列(i-1,j),(i-1,j-1),(i-1,j-2)三点的累积距离,也就是j-1和j-2两行的累积距离。以此类推,整个过程中每一行的格点可以利用前两行格点的累积距离计算出该点的累积距离。在本系统应用中,DTW算法加入了一些搜索限制条件,实际的搜索范围基本上局限于对角线附近的带状区域。在识别的过程中,系统分配的存储空间是搜索宽度的3倍。

5.系统测试结果及误差分析

空调的语音识别系统在不同的环境中使用具有差异性,为了测试系统在复杂环境下的稳定性及识别率,进行两种测试:一是安静环境下的测试;二是复杂环境下的测试。

在实验室安静的环境下对男女声识别进行了测试。发音内容为常用的空调控制命令,录音时间大约长为1~1.5s,词语发音的时间大约为500~800ms,采样率为24KHz,帧长20ms,帧移10ms,其端点检测基本上能排除前面录音的无声段的噪音,识别率达到了96%以上,原DTW算法的识别时间是6~7s,而采用本文改进算法的识别时间减少到2~5s。因此,本文方法可以实现快速准确的简单语音识别。

当周围环境噪声较大,信噪比SNR<5dB时,识别率会有所下降。但是随着信噪比的不断增加,词汇错误率逐渐降低,并趋于稳定状态,系统的识别率保持在94%以上。实验证明,采用本系统,语音识别率高,且抗噪性能好,对复杂环境的适应性强。

录音过程中,本身含有较大的噪声,DSP程序中没有对语音信号作降噪处理,这是影响识别率的原因;另外,不同的人发同一个音的长度和强弱方面均有差异,这也是影响识别率的原因。

6.结论

该空调语音识别系统以TMS320VC5402DSP为核心处理器,采用Mel频率倒谱参数为语音特征,基于改进的DTW算法进行模式匹配,算法本身计算量小、速度快、识别率高,能够进行实时语音识别。此系统平台具有良好的实用性和稳定性,经实验测试表明,系统的特征数据传送稳定,压缩编码无明显失真,识别率达到94%以上,对特定人其识别率可达97%,达到了识别的要求。为取得更好的识别效果,今后应进一步优化系统算法。由于比传统键盘输入操作具有更多的优势,语音识别技术在未来的家居生活和商业应用会有更广阔的应用前景。

参考文献

[1]于志华.基于FPGA的实时固定语音识别系统研究与实现[D].信息工程大学,2013.

篇12

一、普通话基本音素分析

1.音素的分类。普通话所有的发音,都可以将声母和韵母相拼,再加入声调而成。1958年批准的《汉语拼音方案》将汉语拼音分成21个声母与35个韵母,以及五种音调。但因56个声、韵母中,许多都是由基本音素所构成的复合音,计算机要识别单音特征就显得有一定的难度,为了降低复杂性,先要对普通话的基本音素进行分析和筛选,给从基于音素的语音识别做好铺垫。

2.音素分析。如果从发音特征来考察,普通话的音素包括元音和辅音两大类。元音在发音的过程当中起到主导作用,辅音则辅助发音,汉语拼音的56个声、韵母发音中,有10个汉语元音和22个汉语辅音。所以掌握好了这l0个汉语元音和22个辅音,就能将所有的汉语拼音的发音拼出。元音和辅音分别如下:

元音:a,o,e,i,u,n,仑,i(知),i(资), er;

辅音:b,P,m,f,d,t,n,l,g,k,h,j,q,x, zh,ch,sh,r,z,c,s,ng

需要说明一下的是:元音i(知)为zh、ch、sh发音的尾部部分;i(资)为z、c、s发音的尾部部分。在构成汉语拼音的时候,元音i(知)仅在zhi,chi,shi当中出现,它的作用只是为了延长原有发音的尾音。也就是说,i(知)的发音, zh,ch,sh的发音当中已经包含了。所以,在分析基本因素时,只需做好zh,ch,sh的发音,稍微将其尾部延长便可得到zhi,chi,shi的发音。同理,元音i(资)只使用在汉语拼音zi,ci,si中,而其也包含于辅音z ,s的发音中。另外,因为er的发音可由e和r的发音相拼而成,所以它可不作为一个独立音素。根据上述分析,汉语元音音素的数目可由10个减为7个。

二、元音音素的可变性分析

1.研究音素变化的重要性。音节是普通话语音体系当中最基本的结构单位,而音节又是由音素按照一定的方式组成的,所以普通话里面最小的语音结构单位就是音素。可以这样说,发音器官所产生的每次细微的变化,均可以发出不同的音素。因而,分析和探究这些音素在音节当中产生的相互间的变化和影响,对于准确把握普通话的音节或字音,起着非常重要的作用。

2.音素可变性分析。学习普通话时,准确地发出单元音韵母是学习的基础,但是,这种韵母的发音特点是口形始终保持不变,舌位也不移动,但单元音韵母(元音音素)的变化,就是它们一旦进入复韵母和鼻韵母,或是和声母拼合时,所产生的细微变化会被忽视。对于北方人而言,这种可变性在自然语言环境当中耳濡目染就能学会;但对南方人而言,这种变化是一大难点,所以,准确把握元音音素在音节中的可变性,对于语音识别非常重要。

3.以原音i为例的分析。元音i是一个前元音兼高元音,当i与e组合成ie音节时,i和e彼此影响的结果就是舌位会往两者之间的中部稍有移动,因而元音i的实际舌位就已从高降到了次高;而当i与a组成ia时,因a是一个央元音兼低元音,与i之间的差异较大,融合时的影响也就更大,导致i的舌位从高降到了半高;当i与ou组成iou音节时,因o、u均为后元音,且o为半高元音,故i与ou后,其舌位不仅由前往后稍移,并且从高变成了次高并呈半高的趋向,因为只有这样才能与半高元音o顺畅地进行衔接,于是iou音节既有由前往后的舌位趋向,又表现出高(i)――半高(o)――高(u)的发音曲线;当i与n结合成in时,因为舌尖中音n的舌位也靠前偏高,二者的发音趋向一致,此时只要i的舌尖再往前伸,抵住上齿龈,n的韵尾就形成了,因此鼻辅音n几乎不会影响到元音i;当i与ng组合时,因为鼻辅音ng的舌位靠后并偏低,会对i元音造成一定的影响,在发音时,i元音的舌位会形成由高往低、由前往后的趋向,因此前元音兼高元音i在发音之初就已变为次前元音兼次高元音了;i与ong的组合中, o和ng舌位都靠后,并且o是半高元音,ng舌位偏低,受两者的共同影响,i的舌位明显后缩,并且表现出由高往低的趋向,这使其变成了次前元音兼次高元音。

三、对y、w的音素性质分析

y、w是两个较为特殊的因素,兼具元音和辅音的一些特点,下面将它们单独提出来进行因素性质的分析。

1.从发音部位与方法上进行分析。从语音的发声部位和方法来看,发元音时,气流经声门带动声带的振动,通过咽喉、口腔、鼻腔时,没有阻碍;辅音发声时,呼出的气流定会在经过某个发声器官时受阻碍。发元音的时候,除了声带,其余发音器官均保持紧张,而发辅音时,只有形成阻碍的器官才紧张。例如:辅音[k]在发音时,舌根和软腭会紧张。并且,发元音时呼出的气流没有发辅音时急促。由此可见,y、w的发音既接近元音,但又具有辅音的发声特点。这里将y[j]、w[w]两个音素看做辅音,因为“发声时气流有阻碍”是辅音的重要特征,就算它们发音部位接近元音,但满足了这一条件,就该被看做是辅音。

2.从声带振动特点上进行分析。语音是由声带振动引起空气振动产生音波而形成的,可看做是一种物理现象,所以语音又有乐音和噪音之分。从y、w的发声来看,它们发音时只是引起声带稍微的振动,发出的声音不如元音清晰,从这个角度看,我们可以把它们看做是乐音性的噪音。但在元音的分类中,元音被看做是非常纯粹的乐音,所以,y、w也只能被看做辅音了。

3.从音节结构上进行分析。在原来的汉语拼音方案当中,[w]、[j]被认为是韵头,是[u]、[j]的改写,所以将其看做元音,但这样分类显然混淆了概念。因为从音节结构上来看,非常明显[wA]与[jA]是音节,而[uA]、[iA]是韵母,如果进行改换,是非常不合理的。再从音位的角度来看,[jA]当中的[j]和[iA]当中的[i],[wA]当中的[w]和[uA]当中的[u]是不同的音位,因为[j]和[A]、[w]和[A]可以组成以[j]、[w]做为声母的音节,它们与[i]与[a]、[u]与[a]组成的音节是不同的,只是作为音节的一个部分――韵母。这样来看, [j]、[w]被看做是具有区别意义功能的语音单位,即音位是合理的,此时,y、w就该被归到辅音当中去。

从以上情况的分析来看,y、w应该被看做是辅音而作为声母来使用。

四、结语

汉语普通话当中易混淆的音素很多,要想让语音识别更精准,就要对普通话的音素进行分析和研究,并充分了解音素的可变性,并进行正确的分类,只有在此基础之上,才能提出更先进的识别技术。语

参考文献

[1]王红雨,廖逢钗,卢昌荆等.一种基于语音识别的普通话语音失误判别方法[J].三明学院学报,2007(4):452-455.

[2]徐秉铮,邱伟.汉语普通话声母的分类与识别[C].第五届全国语音图象通讯信号处理学术会议论文集.

友情链接