语音识别论文
人工智能语音识别技术的理论与实践

人工智能语音识别技术的理论与实践近年来,随着人工智能技术的不断发展,语音识别技术作为其中的一个重要组成部分,也得到了广泛的关注和应用。
语音识别技术的出现使得人们不再需要通过键盘、鼠标等传统输入方式来与计算机进行交互,只需借助语音就能够完成一系列的操作,从而极大地提高了人机交互的便捷性和效率。
本文将从语音识别技术的理论与实践两方面进行探讨,以期更深入地了解这一技术的原理和应用。
一、语音识别技术的理论基础语音识别技术是基于模式识别和信号处理等学科的理论基础之上发展起来的。
其核心目标是将语音信号转换成机器可识别的文本形式。
在实现这一目标的过程中,主要涉及到以下几个关键技术。
首先,语音特征提取是语音识别技术中不可或缺的一环。
由于语音信号的波形复杂多变,为了使计算机更好地理解和处理这些信号,需要通过一系列算法将其转化为计算机所能处理的特征向量。
常见的语音特征提取算法包括短时能量、过零率、线性预测系数等。
其次,语音识别技术还需要建立一个合理的语音模型。
这个模型包括语音信号的统计模型和语音词典等。
通过对语音信号进行建模分析,可以更好地表示语音的特征和规律,从而提高识别的准确性。
最后,语音识别技术还需要借助机器学习和人工智能等领域相关的算法进行训练和优化。
通过对大量的语音数据进行训练,并利用机器学习算法不断调整模型参数,可以使得语音识别系统不断提升性能,更好地适应不同的环境和语音变化。
二、语音识别技术的实践应用语音识别技术在实践应用中表现出了广泛的适用性和潜力。
下面将从不同领域的具体应用角度,分别探讨一些典型的实际案例。
首先,语音识别技术在智能家居领域中得到了广泛的应用。
通过将语音识别系统与智能家居设备相结合,人们可以通过简单的语音命令来控制家中的各种设备,如智能照明、家电控制等。
这种方式不仅方便快捷,还提高了生活的便利性和舒适度。
其次,语音识别技术在车载系统中具有重要应用价值。
借助语音识别技术,驾驶人员可以通过语音命令来控制车内导航、多媒体等功能,从而减少驾驶中的分心和操作负担,提高行车的安全性。
语音识别 毕业设计

语音识别毕业设计语音识别毕业设计一、引言语音识别技术是当今信息领域的热门研究方向之一。
随着人工智能技术的迅猛发展,语音识别系统已经逐渐走入我们的生活,为我们提供了更加便捷和智能的交互方式。
在这个背景下,我选择了语音识别作为我的毕业设计课题,希望能够深入研究这一领域,探索其在实际应用中的潜力和挑战。
二、语音识别的基本原理语音识别是一种将人类语音转化为文字的技术。
其基本原理是通过采集和分析人类语音信号,提取其中的特征信息,然后利用机器学习算法进行模式匹配,最终将语音转化为文本。
语音识别系统的核心是语音信号的特征提取和模式匹配算法。
三、语音识别的应用领域语音识别技术在很多领域都有广泛的应用。
其中最为常见的是语音助手,如苹果的Siri、亚马逊的Alexa等。
这些语音助手能够根据用户的语音指令执行相应的操作,如播放音乐、查询天气等。
此外,语音识别还被应用于语音翻译、语音搜索、语音识别助听器等领域。
四、语音识别的挑战和难点尽管语音识别技术已经取得了很大的进展,但仍然存在一些挑战和难点。
首先,语音信号受到环境噪声的干扰,容易导致识别错误。
其次,不同人的发音习惯和口音差异也会对语音识别的准确性造成影响。
此外,语音识别系统对于长句子的处理和语义理解仍然存在一定的困难。
五、毕业设计的目标和内容在我的毕业设计中,我将致力于设计和实现一个基于深度学习的语音识别系统。
该系统将采用卷积神经网络(CNN)和长短时记忆网络(LSTM)等深度学习算法,以提高语音识别的准确性和鲁棒性。
同时,我还将研究如何解决语音信号的噪声干扰和口音差异等问题,以进一步提升系统的性能。
六、设计方案和实施步骤在设计方案上,我计划采用开源的语音数据集进行训练和测试。
首先,我将对语音信号进行预处理,包括去除噪声、归一化等操作。
然后,我将设计和训练深度学习模型,通过大量的语音数据进行迭代训练,以提高模型的准确性。
最后,我将评估系统的性能,并进行性能优化和调整。
智能语音聊天毕业论文

智能语音聊天毕业论文智能语音聊天毕业论文摘要随着人工智能技术的快速发展,语音识别和语音合成技术早已成为人工智能领域的重要研究方向。
智能语音聊天作为人工智能技术的一种重要应用之一,具有较高的研究和应用价值。
本文首先介绍了智能语音聊天的研究意义和应用价值,然后对语音识别和语音合成技术的相关研究进行了概述。
接着,本文重点分析了现有智能语音聊天系统的设计与实现,讨论了其存在的问题和局限性,并提出了优化建议和改进方案。
最后,我们对智能语音聊天的发展趋势进行了展望。
关键词:智能语音聊天,语音识别,语音合成,设计与实现,改进方案AbstractWith the rapid development of artificial intelligence technology, voice recognition and synthesis have become an important research direction in the field of artificial intelligence. Intelligent voice chatting, as an important application of artificial intelligence technology, has high research and application value. This paper first introduces the research significance and application value of intelligent voice chatting, and then gives an overview ofthe relevant research on speech recognition and synthesis technology. Next, this paper focuses on the design and implementation of existing intelligent voice chatting systems, discusses their existing problems and limitations, and proposes optimization suggestions and improvement schemes. Finally, we look forward to the development trend of intelligent voice chatting.Keywords: intelligent voice chatting, speech recognition, speech synthesis, design and implementation, improvement scheme一、研究背景和意义随着社交媒体和移动互联网的普及,人们对于语音聊天的需求越来越大。
语音信号的提取与识别技术(说话人识别系统)的研究

语音信号的提取与识别技术摘要语音识别(Speech Recognition)是让机器通过识别和理解过程把语音信号转变为相应的文本或命令的技术.说话人识别是语音识别的一种特殊方式.本论文中,将主要介绍说话人识别系统.说话人识别是指通过说话人的语音来自动识别说话人的身份,它在许多领域内有良好的应用前景。
本文通过分析语音特征参数的特点和说话人识别的基本方法,提出了以美尔倒谱差分和线性预测差分为特征,通过动态时间归整算法来识别的文本相关说话人辨认系统。
关键词: 语音识别, 说话人识别, 线性预测倒谱,美尔倒谱系数,动态时间归整The pick-up of speech signal and speech recognitionAbstractSpeech Recognition is a kind of technology that is using computer to transfer the voice signal to an associated text or command by identification and understand. Speaker recognition is a kind of special way of V oice-identifications. The paper is going to introduce speaker recognition. Speaker recognition is the process of automatically recognizing who is speaking on the basis of individual information include in speech signals. It has well application prospects in many fields. By analyzing speech characteristic parameters and the basis methods of speaker recognition, we choose MFCC and LPCC's difference to be the speech characteristic parameters. Using DTW to recognize text-dependent speech, we have developed a speaker identification system in this paper.Key words:V oice-Identification, Speaker-identification LPCC,MFCC, Dynamic Time Warping目录1引言 (1)2 语音识别技术的基础 (2)2.1 语音识别发展简史 (2)2.2 语音识别技术的应用 (3)3 说话人识别技术的国内外研究现状 (5)3.1 国内外发展水平 (5)3.2主要应用领域 (5)3.3 技术难点 (6)4 说话人识别技术基础 (8)4.1 说话人识别的基本原理 (8)4.2说话人识别系统中常用的特征 (9)4.3 说话人识别的分类 (10)4.4 说话人识别的主要方法 (11)4.5 说话人识别系统的性能评价 (13)5 语音信号分析与预处理 (16)5.1 语音产生机理 (16)5.2 语音信号的数字化和采集 (17)5.3 语音信号的数字模型 (18)5.3.1激励模型 (18)5.3.2 声道模型 (18)5.3.3辐射模型 (20)5.4语音信号的预加重处理 (20)5.5语音信号的短时参数特征 (21)5.5.1短时频谱 (22)5.5.2短时自相关函数 (22)5.5.3短时能量和短时平均幅度 (22)5.5.4短时过零分析 (23)5.5.5倒谱 (24)5.5.6线性预测编码(LPC)参数 (24)5.5.7短时基音周期估计 (25)5.6语音信号端点检测 (27)5.6.1双门限端点检测算法 (28)5.6.2 LPC美尔倒谱特征端点检测方法 (28)6说话人特征提取 (32)6.1线性预测系数LPC (32)6.1.1线性预测的基本原理 (33)6.2.2线性预测系数的求取 (35)6.2线性预测倒谱系数LPCC (36)6.2.1同态处理基本原理 (36)6.2.2线性预测倒谱 (37)6.2.3线性预测差分倒谱 (38)6.3美尔倒谱系数MFCC (39)6.3.1 MFCC系数的提取 (39)6.3.2美尔差分倒谱参数 (40)6.4特征参数的实际提取 (41)6.4.1 LPCC参数计算流程 (41)6.4.2 MFCC的计算 (43)7.说话人识别系统实现 (46)7.1文本相关说话人辨认系统的实现 (46)7.2线性预测倒谱参数的提取实现 (47)7.3美尔倒谱系数及其差分的提取实现 (48)7.4MFCC参数文本相关系统实现 (51)8结论 (54)致谢 (55)参考文献 (56)1引言语言是人类交流信息的基本手段,在人们日益扩大的交流中占据着重要的地位.在如今高度发达的信息社会中用数字化的方法进行语音的传送、储存、识别、合成、增强等是整个数字化通信网中最重要、最基本的组成部分之一。
人机论文

目录摘要 (1)正文 (1)1、语音识别技术概述 (1)2、发展历史 (1)3、语音识别原理 (2)4、语音识别系统简介 (3)5、语音识别的系统类型 (4)5.1、限制用户的说话方式 (4)5.2、限制用户的用词范围 (5)5.3、限制系统的用户对象 (5)6、语音识别的几种主要研究方法 (5)6.1、动态时间规整(DTW) (5)6.2、矢量量化(VQ) (5)6.3、隐马尔可夫模型(HMM) (6)6.5、支持向量机(SVM) (6)7、语音识别的发展趋势 (6)7.1、提高可靠性。
(7)7.2、增加词汇量。
(7)7.3、应用拓展。
(8)7.4、降低成本减小体积。
(8)8、语音识别所面临的问题 (9)9、值得研究方向 (9)10、语音识别技术的前景展望 (10)参考文献 (11)浅谈语音识别技术摘要:语音识别是一门交叉学科。
近二十年来,语音识别技术取得显著进步,开始从实验室走向市场。
人们预计,未来10年内,语音识别技术将进入工业、家电、通信、汽车电子、医疗、家庭服务、消费电子产品等各个领域。
语音识别听写机在一些领域的应用被美国新闻界评为1997年计算机发展十件大事之一。
很多专家都认为语音识别技术是2000年至2010年间信息技术领域十大重要的科技发展技术之一。
语音识别技术所涉及的领域包括:信号处理、模式识别、概率论和信息论、发声机理和听觉机理、人工智能等等。
关键词:语音识别,矢量化,人工神经元网络,动态时间规整正文1、语音识别技术概述语音识别是解决机器“听懂”人类语言的一项技术。
作为智能计算机研究的主导方向和人机语音通信的关键技术,语音识别技术一直受到各国科学界的广泛关注。
如今,随着语音识别技术研究的突破,其对计算机发展和社会生活的重要性日益凸现出来。
以语音识别技术开发出的产品应用领域非常广泛,如声控电话交换、信息网络查询、家庭服务、宾馆服务、医疗服务、银行服务、工业控制、语音通信系统等,几乎深入到社会的每个行业和每个方面。
浅谈语音识别技术论文

浅谈语音识别技术论文语音识别技术研究让人更加方便地享受到更多的社会信息资源和现代化服务,对任何事都能够通过语音交互的方式。
小编整理了浅谈语音识别技术论文,欢迎阅读!浅谈语音识别技术论文篇一语音识别技术概述作者:刘钰马艳丽董蓓蓓摘要:本文简要介绍了语音识别技术理论基础及分类方式,所采用的关键技术以及所面临的困难与挑战,最后讨论了语音识别技术的发展前景和应用。
关键词:语音识别;特征提取;模式匹配;模型训练Abstract:This text briefly introduces the theoretical basis of the speech-identification technology,its mode of classification,the adopted key technique and the difficulties and challenges it have to face.Then,the developing prospect ion and application of the speech-identification technology are discussed in the last part.Keywords:Speech identification;Character Pick-up;Mode matching;Model training一、语音识别技术的理论基础语音识别技术:是让机器通过识别和理解过程把语音信号转变为相应的文本或命令的高级技术。
语音识别以语音为研究对象,它是语音信号处理的一个重要研究方向,是模式识别的一个分支,涉及到生理学、心理学、语言学、计算机科学以及信号处理等诸多领域,甚至还涉及到人的体态语言(如人在说话时的表情、手势等行为动作可帮助对方理解),其最终目标是实现人与机器进行自然语言通信。
不同的语音识别系统,虽然具体实现细节有所不同,但所采用的基本技术相似,一个典型语音识别系统主要包括特征提取技术、模式匹配准则及模型训练技术三个方面。
语音识别参考文献

语音识别参考文献语音识别是一项广泛应用于人机交互、语音翻译、智能助手等领域的技术。
它的目标是将人的语音输入转化为可理解和处理的文本数据。
随着人工智能和机器学习的发展,语音识别技术也得到了极大的提升和应用。
在语音识别领域,有许多经典的参考文献和研究成果。
以下是一些值得参考和研究的文献:1. Xiong, W., Droppo, J., Huang, X., Seide, F., Seltzer, M., Stolcke, A., & Yu, D. (2016). Achieving human parity in conversational speech recognition. arXiv preprintarXiv:1610.05256.这篇文章介绍了微软团队在语音识别方面的研究成果,实现了与人类口语识别准确率相媲美的结果。
2. Hinton, G., Deng, L., Yu, D., Dahl, G. E., Mohamed, A. R., Jaitly, N., ... & Kingsbury, B. (2012). Deep neural networks for acoustic modeling in speech recognition: The shared views of four research groups. IEEE Signal processing magazine, 29(6), 82-97.这篇文章介绍了深度神经网络在语音识别中的应用和研究进展,对于理解当前主流的语音识别技术有很大的帮助。
3. Hinton, G., Deng, L., Li, D., & Dahl, G. E. (2012). Deep neural networks for speech recognition. IEEE Signal Processing Magazine, 29(6), 82-97.这篇文章是语音识别中的经典之作,介绍了深度神经网络在语音识别中的应用和优势。
基于单片机的智能语音识别系统设计毕业设计论文

基于单片机的智能语音识别系统设计(硬件部分)系别:专业班:姓名:学号:指导教师:基于单片机的智能语音识别系统设计(硬件部分)The Design of Intelligent SpeechRecognition System Based onSingle-chip Computer(HardWare)摘要本文设计一个让机器通过识别和理解过程把语音信号转变为相应的文本或命令的高技术的语音识别系统。
本语音识别系统以LD3320语音识别芯片为核心部件,主控MCU选用STC10L08XE。
主控MCU通过控制LD3320内部寄存器以及SPI flash实现语音识别和对话。
通过麦克风将声音信息输入LD3320进行频谱分析,分析后将提取到的语音特征和关键词语列表中的关键词语进行对比匹配,找出得分最高的关键词语作为识别结果输出给MCU,MCU针对不同的语音输入情况通过继电器对语音命令所对应的电器实现控制。
同时也可以通过对寄存器中语音片段的调用,实现人机对话。
设计中,电源模块采用3.3V供电,主要控制及识别部分采用LM1117-3.3稳压芯片,语音播放及继电器部分采用7812为其提供稳定的电流电压。
寄存器采用一片华邦SPI flash芯片W25Q40AVSNIG,大小为512Kbyte。
系统声音接收模块采用的传感器为一小型麦克风——驻极体话筒,在它接收到声音信号后会产生微弱的电压信号并送给MCU。
另外系统还采用单片机产生不同的频率信号驱动蜂鸣器来完成声音提示,此方案能完成声音提示功能,给人以提示的可懂性不高,但在一定程度上能满足要求,而且易于实现,成本也不高。
关键词:语音识别 LD3320 STC10L08XE单片机频谱分析AbstractThis paper designs a hi-tech speech recognition system which enables machines to transfer speech signals into corresponding texts or orders by recognizing and comprehending. The centerpiece of the speech recognition system is LD3320 voice recognition chip,its master MCU is STC10L08XE. Master MCU achieve voice conversation by controlling the internal registers and SPI flash LD3320.The sound information is inputted into LD3320 by microphone to do spectrum analysis. After analyzing the voice characteristics extracted are compared and matched with the key words in the list of key words.Then the highest scores of key words found would be output to MCU as recognition results. MCU can control the corresponding electrical real of speech recognition for different voice input through the relays and can also achieve voice conversation through a call to voice clips in register.In the design,power module uses 3.3V.The main control and identification part adopt LM1117-3.3 voltage regulator chip,and 7812 is used to provide stable current and voltage for the part of voice broadcast and relay.Register uses chip SPI flash W25Q40A VSNIG which is 512Kbyte. The sensor used in the speech reception module of the design is microphone,namely electrit microphone.After receiveing the sound signal,it can produce a weak voltage signal which will be sent to MCU. In addition,the system also adopts a different frequency signals generated by microcontroller to drive the buzzer to complete the voice prompt, and this program can complete the voice prompt.The program gives a relatively poor intelligibility Tips.However, to some extent,it can meet the requirements and is easy to implement and the cost is not high.Key words:Speech Recognition LD3320 STC10L08XE Single-chip computer Spectrum Analysis目录摘要 (I)Abstract (II)绪论 (1)1设计方案 (5)1.1 系统设计要求 (5)1.2总体方案设计 (5)2 系统硬件电路设计 (6)2.1电源模块 (6)2.2 寄存器模块 (6)2.3 控制单元模块 (7)2.3.1 STC10L08XE单片机简介 (8)2.3.2 STC11/10xx系列单片机的内部结构 (10)2.4 声音接收器模块 (10)2.5 声光指示模块 (11)2.6 语音识别模块 (11)2.6.1 LD3320芯片简介 (11)2.6.2 功能介绍 (12)2.6.3 应用场景 (13)2.6.4 芯片模式选择 (15)2.6.5 吸收错误识别 (16)2.6.6 口令触发模式 (17)2.6.7 关键词的ID及其设置 (18)2.6.8 反应时间 (18)3 系统软件设计 (20)3.1 系统程序流程图 (20)3.2 系统各模块程序设计 (20)3.2.1 主程序 (20)3.2.2 芯片复位程序 (27)3.2.3 语音识别程序 (28)3.2.4 声音播放程序 (37)4 系统调试 (44)4.1 软件调试 (44)4.1.1 上电调试 (44)4.1.2 读写寄存器调试 (44)4.1.3 检查寄存器初始值 (44)4.2 硬件电路调试 (45)4.2.1 硬件检查 (45)4.2.2 硬件功能检查 (45)4.3 综合调试 (46)结论 (47)致谢 (48)参考文献 (49)附录1实物图片 (50)附录2系统电路图 (51)绪论课题背景及意义让机器听懂人类的语音,这是人们长期以来梦寐以求的事情。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
语音信号的分析与处理摘要:本文针对语音信号时域、频域参数进行了系统详尽的分析,并在MATLAB环境下实现了基于DTW算法的特定人孤立词语音信号的识别。
关键词:语音信号;短时傅里叶;MFCC;动态时间规整引言语音信号参数分析是语音信号处理的前提和基础。
语音信号处理包括语音通信、语音增强、语音合成、语音识别和说话人识别等方面。
只有通过语音信号的分析才能获得语音本质特性的参数,才能利用这些参数进行高效的语音通信,才能建立语音合成的语音库,也才可能建立用于语音识别的模板和知识库。
此外,语音合成音质的好坏、语音识别率的高低,都取决于语音信号参数分析的准确性和精度。
因此,语音信号参数分析是语音信号处理研究中一项非常有意义的工作[1]。
近年来,语音识别已经成为一个非常活跃的研究领域。
在不远的将来,语音识别技术有可能作为一种重要的人机交互手段,辅助甚至取代传统的键盘、鼠标等输入设备,在个人计算机上进行文字录入和操作控制。
而在手持式PDA、智能家电、工业现场控制等应用场合,语音识别技术则有更为广阔的发展前景[2]。
在特定人孤立词语音识别中,最为简单有效的方法是采用DTW(Dynamic Time Warping,动态时间规整)算法,该算法基于动态规划(DP)的思想,解决了发音长短不一的模板匹配问题,是语音识别中出现最早、较为经典的一种算法[3]。
MATLAB是一种功能强大、效率高、交互性好的数值计算和可视化计算机高级语言,它将数值分析、信号处理和图形显示有机地融合为一体,形成了一个极其方便、用户界面友好的操作环境。
本文就是在MA TLAB基础上来进行语音信号参数的分析与语音信号的识别的。
一、语音信号的分析1参数分析语音信号是一种典型的非平稳信号。
但是,由于语音的形成过程是与发音器官的运动密切相关的,这种物理运动比起声音振动速度来讲要缓慢得多,因此语音信号常常可被假定为短时平稳的,即在10一20ms这样的时间段内,其频谱特性和某些物理特征参量可被近似地看作不变。
这样,我们就可以采用平稳过程的分析处理方法来处理,一般而言语音信号处理的方法都是基于这种短时平稳的假设的。
根据语音信号所分析参数的不同,语音信号参数分析可以分为时域、频域、倒谱域分析等[4]。
本文仅涉及时域及频域参数分析。
2时域分析进行语音信号最为直观的分析方法就是时域分析。
语音信号本身就是时域信号,因而时域分析是最早使用,也是应用最广泛的一种方法,这种方法直接利用语音信号的时域波形。
时域分析通常用于最基本的参数分析以及语音的分割、预处理和大分类等。
时域分析方法的特点是:第一,表示语音信号比较直观,物理意义明确;第二,实现起来比较简单,运算量少;第三,可以得到语音的一些重要参数;第四,采用示波器等通用设备,使用简单[5]。
2.1短时能量分析短时能量分析用途:第一,可以区分清音段和浊音段,因为浊音时的短时平均能量值比清音时大得多;第二,可以用来区分声母与韵母的分界、无声与有声的分界、连字的分界等。
如对于高信噪比的语音信号,短时平均能量用来区分有无语音。
无语音信号噪声的短时平均能量很小,而有语音信号的能量则显著增大到某一个数值,由此可以区分语音信号的开始点或者终止点。
3频域分析短时傅立叶分析在运用离散时间傅立叶变换分析语音信号的变化时,会遇到这样的问题,即单一的傅立叶变换并不能反映时间变化的频谱信息,诸如时变共振峰和谐波。
具体而言,通常将信号的每一时刻与其相邻时刻信号的傅立叶变换相联系,这样就可以及时跟踪信号的频谱变化。
语音信号的短时傅立叶变换见程序所述。
可以验证,在短时傅立叶分析中对于同一种窗函数而言,其通带宽度与窗长成反比。
如果希望频率分辨率高,则窗长应尽量取长一些;如果希望时间分辨率高,则窗长尽量取短一些。
由此可见,傅立叶分析的时间分辨率和频率分辨率是相互矛盾的,这是短时傅立叶本身所固有的弱点。
短时傅立叶分析一般采用汉明窗作为分析窗[6]。
通过基于MATLAB和短时频域分析,能够得出[7]:第一,长窗具有较高的频率分辨率,但具有较低的时间分辨率。
从一个周期到另一个周期,共振峰是要发生变化的,这一点即使从语音波形上也能够看出来。
然而,如果采用较长的窗,这种变化就模糊了,因为长窗起到了时间上的平均作用。
第二,短窗的频率分辨率低,但具有较高的时间分辨率。
采用短窗时,能够从短时频谱中提取出共振峰从一个周期到另一个周期所发生的变化。
当然,激励源的谐波结构也从短时频谱上消失了。
第三,在对语音信号进行短时傅里叶分析时,窗长需要折衷考虑。
一方面,短窗具有较好的时间分辨率因而能够提取出语音信号中的短时变化;但另一方面,损失了频率分辨率。
第四,汉明窗都具有低通的性质,且在截止频率处比较尖锐,当其通带较窄时(窗越宽,通带越窄),加窗后的频谱更能够较好反映短时语音信号的频谱,窗越宽这种逼近越好。
二、语音信号的处理1特定人孤立词语音识别系统分析一个完整特定人孤立词语音识别系统通常包括语音的输入,语音信号的预处理,特征提取,训练与识别等几个环节,基本构成如图1所示:图1孤立词语音识别系统框图语音识别的过程可以被看作模式匹配的过程,模式匹配是指根据一定的准则,使未知模式与模型库中的某一个模型获得最佳匹配的过程。
模式匹配中需要用到的参考模板通过模板训练获得。
在训练阶段,将特征参数进行一定的处理后,为每个词条建立一个模型,保存为模板库。
在识别阶段,语音信号经过相同的通道得到语音特征参数,生成测试模板,与参考模板进行匹配,将匹配分数最高的参考模板作为识别结果。
同时,还可以在一些先验知识的帮助下,提高识别的准确率。
2语音识别算法———高效的DTW算法动态时间规整(Dynamic Time Warping,DTW)是把时间规整和距离测度计算结合起来的一种非线性规整技术,解决了测试模板与参考模板语音时间长度不等的问题。
图2匹配路径约束示意图通常,规整函数被限制在一个平行四边形的网格内,如图2所示。
它的一条边斜率为2,另一条边斜率为1/2。
规整函数的起点是(1, 1),终点为(N,M)。
DTW算法的目的是在此平行四边形内由起点到终点寻找一个规整函数,使其具有最小的代价函数,保证了测试模板与参考模板之间具有最大的声学相似特性[8]。
由于在模板匹配过程中限定了弯折的斜率,因此平行四边形之外的格点对应的帧匹配距离是不需要计算的。
另外,因为每一列各格点上的匹配计算只用到了前一列的3个网格,所以没有必要保存所有的帧匹配距离矩阵和累积距离矩阵。
充分利用这两个特点可以减少计算量和存储空间的需求,形成一种高效的DTW算法,如图2所示。
图2中,把实际的动态弯折分为三段,(1,xa),(xa+1,xb),(xb+1,N),其中:xa= (2M-N)/3,xb=2(2N-M)/3xa和xb都取最相近的整数,由此可得出对M和N长度的限制条件:2M-N≥3,2N-M≥2当不满足以上条件时,认为两者差别太大,则无法进行动态弯折匹配。
在x轴上的每一帧不再需要与y轴上的每一帧进行比较,而只是与y轴上[ymin,ymax]间的帧进行比较,ymin和ymax的计算公式为:ymin=x/2,0≤x≤xb,2x+(M-2N),xb< x≤Nymax=2x,0≤x≤xa,x/2+(M-N/2),xa< x≤N如果出现xa> xb的情况,则弯折匹配的三段为(1,xb),(xb+1,xa),(xa+1,N)。
对于x轴上每前进一帧,虽然所要比较的y轴上的帧数不同,但弯折特性是一样的,累积距离的更新都是用下式实现的:D(x,y) = d(x,y)+min[D(x-1,y),D(x-1,y-1),D(x-1,y-2)]3.MA TLAB仿真验证3.1语音信号预处理语音信号的预处理包括预滤波、采样和量化、加窗、预加重、端点检测等过程[9]。
所选用的实验语音数据,是在实验室条件下利用PC机录制。
采用8 000kHz采样频率、16bit量化、单声道的PCM录音格式。
由于语音信号在帧长为10ms~30ms之内是相对平稳的,同时为了便于计算FFT,本系统选取帧长N为256个语音点,帧移M为128点。
汉明窗与矩形窗和汉宁窗相比具有最低旁瓣,可以有效地克服泄漏现象,具有更平滑的低通特性,故本文采用汉名窗对语音信号进行分帧处理,如下式:ω(n) =0.54-0.46cos(2πn/(N-1)),0≤n≤N-1预加重用具有6dB/倍频程的提升高频特性的一阶数字滤波器实现:H(z) =1-0.937 5/z端点检测采用基于短时能量和短时平均过零率法[10],利用已知为“静态”的最初十帧信号为短时能量设置2个门限ampl和amph,以及过零率阀值zcr。
语音起始点从第11帧开始检测,其流程图如图3。
语音结束点的检测方法与检测起点相似,但此时从后向前搜索。
图3 语音起点检测流程图3.2特征参数提取及语音识别研究表明,倒谱特征参数所含的信息量比其他参数多,能较好地表现语音信号。
本文选取能够反映人对语音的感知特性的Mel频率倒谱系数(MFCC)作为特征参数,阶数为12。
经过MFCC特征参数提取后,各帧语音信号就形成了一个个特征矢量。
识别时,将待测语音与模板库中的每一个模板进行模式匹配,找到距离最小的模板作为输出结果。
经测试,程序等到了较好的语音识别效果。
三、总结上述语音识别系统详细地分析了语音信号的时域、频域等特性,并实现了对孤立数字0到9的准确识别,通过本次详细系统的语音识别系统的设计,我对数字信号处理的流程有了深刻的认识,对Matlab软件编程也有了一定的理解,为将来从事这方面的课题打下了坚实的基础。
参考文献:[1]王炳锡.语音编码[M].西安:西安电子科技大学出版社,2002.[2]何强,何英.MA TLAB扩展编程[M].北京:清华大学出版社,2002.[3]王炳锡,屈丹,彭煊.实用语音识别基础[M].北京:国防工业出版社,2005.[4]易克初,等.语音信号处理[M].北京:国防工业出版社,2006,6.[5]胡航.语音信号处理[M].哈尔滨:哈尔滨工业大学出版社,2000,5.[6]胡广书.数字信号处理理论、算法与实现[M].北京:清华大学出版社,1997.[7]王炳锡,等.实用语音识别基础[M].北京:国防工业出版社,2005.[8]林波,吕明.基于DTW改进算法的弧立词识别系统的仿真与分析[J].信息技术,2006,30(4):56-59.[9]韩纪庆,张磊,郑铁然.语音信号处理[M].北京:清华大学出版社,2004[10]李晋.语音信号端点检测算法研究[D].长沙:湖南师范大学,2006.程序:主程序:yuyinshibie.mdisp('正在计算参考模板的参数...')for i=1:10fname=sprintf('%da.wav',i-1);x=wavread(fname);[x1 x2]=vad(x);m=mfcc(x);m=m(x1-2:x2-4,:);ref(i).mfcc=m;enddisp('正在分析语音信号...')for i=1:10fname=sprintf('%da.wav',i-1);[x,fs,bit]=wavread(fname,[2000,2512]); %采样% %sound(x,fs); %播放语音信号figure(i);subplot(3,3,1);plot(x(1:256)); %原始语音信号的时域图形% title('原始信号')subplot(3,3,2)[h,w]=freqz(x) %原始语音信号的频率响应图hr=abs(h);plot(w,hr);title('频率响应图');xlabel('Frequency in rad/sample')ylabel('Magnitude in dB')subplot(3,3,3)hphase=angle(h);hphase=unwrap(hphase); %求系统相频响应plot(w,hphase);title('频率响应图');xlabel('Frequency in rad/sample')ylabel('Phase in degrees')y=fft(x,512); %傅立叶变换%mag=abs(y);mag1=10*log10(mag);f=fs*(0:255)/512;subplot(3,3,4)plot(f,mag(1:256)); %FFT频谱图%title('fft变换后信号')iff=ifft(y,512); %反傅立叶变换%ifm=abs(iff);subplot(3,3,5)plot(f,ifm(1:256))title('ifft后信号')% 短时傅里叶变换Ts=1/fs;%N=T/Ts;N=512;Nw=20; %窗函数长L=Nw/2; %窗函数每次移动的样点数Tn=(N-Nw)/L+1; %计算把数据x共分成多少段nfft=32; %FFT的长度TF=zeros(Tn,nfft); %将存放三维谱图,先清零for i=1:Tnxw=x((i-1)*10+1:i*10+10); %取一段数据temp=fft(xw,nfft); %FFT变换temp=fftshift(temp); %频谱以0频为中心for j=1:nfft;TF(i,j)=temp(j); %把谱图存放在TF中endendsubplot(3,3,6)fnew=((1:nfft)-nfft/2)*fs/nfft;tnew=(1:Tn)*L*Ts;[F,T]=meshgrid(fnew,tnew);mesh(F,T,abs(TF))title('短时傅立叶变换时频图')subplot(3,3,7)contour(F,T,abs(TF))title('等高线表示')enddisp('正在计算测试模板的参数...')for i=1:10fname=sprintf('%db.wav',i-1);x=wavread(fname);[x1 x2]=vad(x);m=mfcc(x);m=m(x1-2:x2-4,:);test(i).mfcc=m;enddisp('正在进行模板匹配...')dist=zeros(10,10);for i=1:10for j=1:10dist(i,j)=dtw(test(i).mfcc,ref(j).mfcc);endenddisp('正在计算匹配结果...')for i=1:10[d,j]=min(dist(i,:));fprintf('测试模板%d的识别结果为:%d\n',i-1,j-1); end各子程序模块:dtw.mfunction dist=dtw(t,r)n=size(t,1);m=size(r,1);%帧匹配距离矩阵d=zeros(n,m);for i=1:nfor j=1:md(i,j)=sum((t(i,:)-r(j,:)).^2);endend%累积距离矩阵D=ones(n,m)*realmax;D(1,1)=d(1,1);%动态规划for i=2:nfor j=1:mD1=D(i-1,j);if j>1D2=D(i-1,j-1);elseD2=realmax;endif j>2D3=D(i-1,j-2);elseD3=realmax;endD(i,j)=d(i,j)+min([D1,D2,D3]);endenddist=D(n,m);enframe.mfunction f=enframe(x,win,inc)nx=length(x(:));nwin=length(win);if (nwin == 1)len = win;elselen = nwin;endif (nargin < 3)inc = len;endnf = fix((nx-len+inc)/inc);f=zeros(nf,len);indf= inc*(0:(nf-1)).';inds = (1:len);f(:) = x(indf(:,ones(1,len))+inds(ones(nf,1),:));if (nwin > 1)w = win(:)';f = f .* w(ones(nf,1),:);endmelbankm.mfunction [x,mn,mx]=melbankm(p,n,fs,fl,fh,w)if nargin < 6w='tz';if nargin < 5fh=0.5;if nargin < 4fl=0;endendendf0=700/fs;fn2=floor(n/2);lr=log((f0+fh)/(f0+fl))/(p+1);% convert to fft bin numbers with 0 for DC termbl=n*((f0+fl)*exp([0 1 p p+1]*lr)-f0);b2=ceil(bl(2));b3=floor(bl(3));if any(w=='y')pf=log((f0+(b2:b3)/n)/(f0+fl))/lr;fp=floor(pf);r=[ones(1,b2) fp fp+1 p*ones(1,fn2-b3)];c=[1:b3+1 b2+1:fn2+1];v=2*[0.5 ones(1,b2-1) 1-pf+fp pf-fp ones(1,fn2-b3-1) 0.5];mn=1;mx=fn2+1;elseb1=floor(bl(1))+1;b4=min(fn2,ceil(bl(4)))-1;pf=log((f0+(b1:b4)/n)/(f0+fl))/lr;fp=floor(pf);pm=pf-fp;k2=b2-b1+1;k3=b3-b1+1;k4=b4-b1+1;r=[fp(k2:k4) 1+fp(1:k3)];c=[k2:k4 1:k3];v=2*[1-pm(k2:k4) pm(1:k3)];mn=b1+1;mx=b4+1;endif any(w=='n')v=1-cos(v*pi/2);elseif any(w=='m')v=1-0.92/1.08*cos(v*pi/2);endif nargout > 1x=sparse(r,c,v);elsex=sparse(r,c+mn-1,v,p,1+fn2);endmfcc.mfunction ccc=mfcc(x)%归一化mel滤波器组系数bank=melbankm(24,256,8000,0,0.5,'m'); bank=full(bank);bank=bank/max(bank(:));%DTC系数,12*24for k=1:12n=0:23;dctcoef(k,:)=cos((2*n+1)*k*pi/(2*24)); end%归一化倒谱提升窗口w=1+6*sin(pi*[1:12]./12);w=w/max(w);%预加重滤波器xx=double(x);xx=filter([1 -0.9375],1,xx);%语音信号分帧xx=enframe(xx,256,80);%计算每帧的MFCC参数for i=1:size(xx,1)y=xx(i,:);s=y'.*hamming(256);t=abs(fft(s));t=t.^2;c1=dctcoef*log(bank*t(1:129));c2=c1.*w';m(i,:)=c2';end%差分参数dtm=zeros(size(m));for i=3:size(m,1)-2dtm(i,:)=-2*m(i-2,:)-m(i-1,:)+m(i+1,:)+2*m(i+2,:); enddtm=dtm/3;%合并mfcc参数和一阶差分mfcc参数ccc=[m dtm];%去除首尾两帧,因为这两帧的一阶差分参数为0 ccc=ccc(3:size(m,1)-2,:);vad.mfunction [x1,x2]=vad(x)%幅度归一化到[-1,1]x=double(x);x=x/max(abs(x));%常数设置FrameLen=240;FrameInc=80;amp1=10;amp2=2;zcr1=10;zcr2=5;maxsilence=3; %3*10ms=30msminlen=15; %15*10ms=150msstatus=0;count=0;silence=0;%计算过零率tmp1=enframe(x(1:length(x)-1),FrameLen,FrameInc); tmp2=enframe(x(2:length(x)),FrameLen,FrameInc); signs=(tmp1.*tmp2)<0;diffs=(tmp1-tmp2)>0.02;zcr=sum(signs.*diffs,2);%计算短时能量amp=sum(abs(enframe(filter([1 -0.9375],1,x),FrameLen,FrameInc)),2);%调整能量门限amp1=min(amp1,max(amp)/4);amp2=min(amp2,max(amp)/8);%开始端点检测x1=0;x2=0;for n=1:length(zcr)goto=0;switch statuscase{0,1} %0=静音,1=可能开始if amp(n)>amp1 %确信进入语音段x1=max(n-count-1,1);status=2;silence=0;count=count+1;elseif amp(n)>amp2 zcr(n)>zcr(2) %可能处于语音段status=1;count=count+1;else %静音状态status=0;count=0;endcase 2, %2=语音段if amp(n)>amp(2) zcr(n)>zcr(2) %保持在语音段count=count+1;else %语音将结束silence=silence+1;if silence<maxsilence %静音还不够长,尚未结束count=count+1;elseif count<minlen %语音长度太短,认为是噪声status=0;silence=0;count=0;else %语音结束status=3;endendcase 3,break;endendcount=count-silence/2;x2=x1+count-1;图:数字“8”的时频域特性:其他数字的时频域特性:略。