基于matlab的语音识别技术

合集下载

利用Matlab进行语音增强与语音识别的技术解析

利用Matlab进行语音增强与语音识别的技术解析

利用Matlab进行语音增强与语音识别的技术解析语音是人类最基本的交流工具之一,准确的语音信号处理可提升语音信号的质量,从而提高语音识别的准确率。

本文将结合Matlab的语音增强与语音识别技术,详细探讨语音增强与语音识别的原理和实现方法。

一、语音增强技术的原理与实现1.1 语音增强的意义与目标语音增强是指通过信号处理技术对语音信号进行去噪、增强,提升语音信号的清晰度和可听性,以改善语音通信质量。

在实际应用中,语音增强技术有助于提高语音识别的准确率,并且在语音通信、语音录音等领域也得到了广泛的应用。

1.2 语音增强的处理流程语音增强的处理流程通常包括预处理、特征提取和信号恢复三个步骤。

预处理阶段主要是对语音信号进行降噪和去除混响等操作,以减少背景噪音对语音分析的干扰。

特征提取阶段是将处理后的语音信号转换为特征向量,常用的特征提取方法包括短时能量、过零率和MFCC等。

最后一步是信号恢复,将特征向量转换回语音信号。

1.3 MatLab在语音增强中的应用MatLab是一种强大的数据处理和可视化工具,它提供了丰富的信号处理函数和工具箱,非常适合语音增强的实现。

例如,MatLab的Noise Reduction Toolbox提供了多种降噪算法,如噪声门限、频域滤波等,可以有效地降低语音背景噪音。

此外,MatLab还提供了多种滤波算法,如自适应滤波、非线性滤波等,可用于去除混响和残余噪声。

二、语音识别技术的原理与实现2.1 语音识别的意义与应用语音识别是将语音信号转化为文本或命令的过程,可以广泛应用于语音助手、语音导航、智能家居等领域。

准确的语音识别可以提高人机交互的效率和便利性。

2.2 语音识别的基本原理语音识别的基本原理是将语音信号转化为特征向量,并通过分类器将特征向量映射到对应的文本或命令。

常用的特征提取方法包括MFCC、倒谱系数、线性预测编码等。

分类器可以采用隐马尔可夫模型(HMM)、神经网络(NN)等算法,以实现对不同语音的分类和识别。

利用Matlab进行语音合成和语音识别技术实现

利用Matlab进行语音合成和语音识别技术实现

利用Matlab进行语音合成和语音识别技术实现人类的语音交流是一种非常重要的沟通方式。

然而,由于各种原因,有些人可能会失去语音能力,这给他们的生活带来了极大的困扰。

幸运的是,现代技术的快速发展为这些人提供了帮助的可能性。

利用Matlab进行语音合成和语音识别技术的实现,为失去语音能力的人提供了一种有效的解决方案。

语音合成技术是指根据既定的文本或输入内容,生成人工合成语音的过程。

Matlab是一个功能强大的工具,可以用于语音合成的实现。

它具有丰富的信号处理和声音处理函数,可以通过调用这些函数来进行语音合成。

首先,我们需要选择一种合适的语音合成算法。

一个常用的算法是基于傅里叶变换的加法合成算法。

这个算法将输入文本转化为一个频谱图,然后将频谱图转换为时域信号,最后通过声音设备输出。

在Matlab中,我们可以使用fft函数进行频谱分析,并使用ifft函数进行逆傅里叶变换以转换为时域信号。

在进行语音合成之前,我们还需要合适的语音库。

语音库通常包含一系列基本音素以及它们的语音特征。

通过指定一个特定的文本,我们可以根据语音库中的音素选择相应的语音特征,然后使用合成算法生成相应的语音。

除了语音合成,Matlab还可以用于语音识别技术的实现。

语音识别是指将语音信号转化为文本或其他形式的过程。

这在现代通信和人机交互中非常常见,例如,语音助手和电话自动接听系统。

语音识别的实现通常依赖于声学模型和语言模型。

声学模型主要用于建模和识别不同语音特征,在Matlab中可以利用模式识别算法来实现声学模型。

语言模型则主要用于识别和解析语音信号的上下文信息。

在进行语音识别之前,我们需要收集一些训练数据用于模型的训练。

这些训练数据包括多个语音样本以及相应的文本转录。

通过这些数据,我们可以使用Matlab中的机器学习算法进行模型的训练和优化。

常用的机器学习算法包括HMM (隐马尔可夫模型)和DNN(深度神经网络)等。

一旦完成了语音识别模型的训练和优化,我们就可以使用这个模型进行实际的语音识别。

基于MATLAB的语音信号处理与识别系统设计与实现

基于MATLAB的语音信号处理与识别系统设计与实现

基于MATLAB的语音信号处理与识别系统设计与实现一、引言语音信号处理与识别是人工智能领域中的重要研究方向之一,随着深度学习和人工智能技术的不断发展,基于MATLAB的语音信号处理与识别系统设计与实现变得越来越受到关注。

本文将介绍如何利用MATLAB进行语音信号处理与识别系统的设计与实现。

二、MATLAB在语音信号处理中的应用MATLAB作为一种强大的科学计算软件,提供了丰富的工具箱和函数库,可以方便地进行语音信号处理。

在语音信号处理中,MATLAB可以用于语音信号的采集、预处理、特征提取、模型训练等各个环节。

通过MATLAB提供的工具,可以高效地对语音信号进行分析和处理。

三、语音信号处理流程1. 语音信号采集在语音信号处理系统中,首先需要对语音信号进行采集。

通过MATLAB可以实现对声音的录制和采集,获取原始的语音信号数据。

2. 语音信号预处理采集到的语音信号数据通常包含噪声和杂音,需要进行预处理以提高后续处理的准确性。

预处理包括去噪、降噪、滤波等操作,可以有效地净化语音信号数据。

3. 特征提取在语音信号处理中,特征提取是一个关键步骤。

通过MATLAB可以提取出语音信号的频谱特征、时域特征等信息,为后续的模式识别和分类打下基础。

4. 模型训练与识别利用MATLAB可以构建各种机器学习模型和深度学习模型,对提取出的特征进行训练和识别。

通过模型训练,可以实现对不同语音信号的自动识别和分类。

四、基于MATLAB的语音信号处理与识别系统设计1. 系统架构设计基于MATLAB的语音信号处理与识别系统通常包括数据采集模块、预处理模块、特征提取模块、模型训练模块和识别模块。

这些模块相互配合,构成一个完整的系统架构。

2. 界面设计为了方便用户使用,可以在MATLAB中设计用户友好的界面,包括数据输入界面、参数设置界面、结果展示界面等。

良好的界面设计可以提升系统的易用性和用户体验。

五、基于MATLAB的语音信号处理与识别系统实现1. 数据准备首先需要准备好用于训练和测试的语音数据集,包括正样本和负样本。

基于MATLAB的特定人语音识别算法设计毕业设计

基于MATLAB的特定人语音识别算法设计毕业设计

本科毕业设计基于MATLAB的特定人语音识别算法设计摘要语言是人类交换信息最方便、最快捷的一种方式,在高度发达的信息社会中,用数字化的方法进行语音的传送、存储、识别、合成和增强等是整个数字化通信网中最重要、最基本的组成部分之一。

而在随着科技技术的发展的今天,除了人与人之间的自然语言通信之外,人与机或机器与机器之间也开始使用语言。

也就是因为如此,需要涉及到语音识别技术。

为了解决机器能“听懂”人类的语言,在科技如此迅猛发展的今天,语音识别技术一直受到各国科学界的关注,其对计算机发展和社会生活的重要性也日益凸显出来。

在孤立字语音识别中,如语音密码锁,汽车控制等领域,都运用到了特定人语音识别技术,也就是DTW算法,相对于HMM算法,DTW算法具有简单操作。

在相同环境下,两者识别效果相差不大,但是HMM算法要复杂得多,主要体现在HMM算法在训练阶段需要提供大量的语音数据,而DTW算法则不需要额外的计算。

所以在特定人语音识别当中,DTW算法被广泛使用。

在本次设计中,将运用到MATLAB平台来对语音信号进行处理及识别。

相对于C语言而言,MATLAB平台更能给用户提供一个简单易懂的代码分析窗口。

而且在个性化设计中,MATLAB可以为用户提供一个人性化界面--GUI。

所以,此次设计,通过MATLAB 平台建立一个GUI界面,接着对一组语音信号的输入进行预处理及端点检测,提取特征参数(MFCC),形成参考模块。

然后再对一组相同的语音信号输入进行同样的操作作为测试模块,与参考模块进行DTW算法进行匹配,输出匹配后的识别结果。

关键词:MATLAB GUI 端点检测MFCC DTWDesign of Speech Recognition Algorithm Based on Specific MATLABCai Jingzuo(College of Engineering, South China Agricultural University, Guangzhou 510642, China) Abstract:Language is a way of human exchange of information the most convenient, quick, highly developed in the information society, for voice transmission, by using the digital method of storage, recognition, synthesis and enhancement is one of the most important parts of the whole, the most basic digital communication network. While with the development of science and technology today, in addition to natural language communication between people, between people and machine or machine and machine are also starting to use the language. It is because of this, need to involve the speech recognition technology. In order to solve the machine can "hear" the human language, the technology is so rapid development today, the speech recognition technology has been the subject of scientific attention of all countries, the importance of computer development and social life is increasingly prominent.In the isolated word speech recognition, such as voice password lock, auto control field, are applied to the speech recognition technology, which is relative to the DTW algorithm, HMM algorithm, DTW algorithm has the advantages of simple operation. In the same environment, both the recognition effect is similar, but HMM algorithm is much more complex, mainly reflected in the HMM algorithm need to provide a large amount of speech data in the training phase, while the DTW algorithm does not need the extra computation. So in the speaker-independent recognition, DTW algorithm is widely used.In this design, will apply to the MATLAB platform to carry on the processing and recognition of speech signal. Compared with the C language, MATLAB platform can provide users with a simple code analysis window. But in the personalized design, MATLAB can provide a human user interface --GUI. So, the design, the establishment of a GUI interface through the MATLAB platform, and then a set of the input speech signal pretreatment, endpoint detection, feature parameter extraction (MFCC), the formation of the reference module. Then a group of the same speech signal input to the same operation as a test module, matching with reference to DTW algorithm module, output matching recognition results.Key words:DTW GUI Endpoint detection MFCC DTW目录1 前言 (1)1.1语音识别的历史背景 (1)1.1.1国外研究历史及现状 (2)1.1.2 国内研究历史及现状 (3)1.2 语音识别技术的应用及研究方向 (4)1.3语音识别系统的基本构成 (5)2 语音信号的数字模型及采集 (6)2.1概述 (6)2.2 语音的发音原理 (6)2.2.1 人的发声器官 (6)2.2.2 语音生成 (8)2.3 语音的听觉机理 (9)2.3.1 听觉器官 (9)2.3.2 耳蜗的信号处理原理 (10)2.4 MATLAB中的语音信号模型 (12)2.4.1 wavrecord函数 (12)2.4.2 wavplay函数 (13)3 语音信号的端点检测 (13)3.1 概述 (13)3.2 MATLAB的语音端点检测算法 (16)3.2.1 短时能量的计算 (16)3.2.2 过零率的计算 (17)3.2.3 端点检测的流程 (19)4语音信号非线性预测分析 (20)4.1 概述 (20)4.2 MFCC的基本原理 (20)4.3 实验结果 (21)5特定人语音识别算法-DTW算法 (22)5.1 DTW算法原理 (22)5.2 DTW算法流程及实验结果 (24)5.2.1 算法流程 (24)5.2.2实验结果 (25)6GUI设计 (26)6.1概述 (26)6.2 GUI界面的打开 (27)6.3作品演示 (29)7结论 (31)参考文献 (31)附录 (32)附录A语音识别主函数 (32)致谢 (38)本科生毕业设计成绩评定表1前言语言是人类交换信息最方便、最快捷的一种方式,在高度发达的信息社会中,用数字化的方法进行语音的传送、存储、识别、合成和增强等是整个数字化通信网中最重要、最基本的组成部分之一。

基于Matlab的语音识别系统的设计

基于Matlab的语音识别系统的设计

摘要语音识别主要是让机器听懂人说的话,即在各种情况下,准确地识别出语音的内容,从而根据其信息执行人的各种意图。

语音识别技术既是国际竞争的一项重要技术,也是每一个国家经济发展不可缺少的重要技术支撑。

本文基于语音信号产生的数学模型,从时域、频域出发对语音信号进行分析,论述了语音识别的基本理论。

在此基础上讨论了语音识别的五种算法:动态时间伸缩算法(Dynamic Time Warping,DTW)、基于规则的人工智能方法、人工神经网络(Artificial Neural Network,ANN)方法、隐马尔可夫(Hidden Markov Model,HMM)方法、HMM和ANN的混合模型。

重点是从理论上研究隐马尔可夫(HMM)模型算法,对经典的HMM模型算法进行改进。

语音识别算法有多种实现方案,本文采取的方法是利用Matlab强大的数学运算能力,实现孤立语音信号的识别。

Matlab 是一款功能强大的数学软件,它附带大量的信号处理工具箱为信号分析研究,特别是文中主要探讨的声波分析研究带来极大便利。

本文应用隐马尔科夫模型(HMM) 为识别算法,采用MFCC(MEL频率倒谱系数)为主要语音特征参数,建立了一个汉语数字语音识别系统,其中包括语音信号的预处理、特征参数的提取、识别模板的训练、识别匹配算法;同时,提出利用Matlab图形用户界面开发环境设计语音识别系统界面,设计简单,使用方便,系统界面友好。

经过统计,识别效果明显达到了预期目标。

关键词:语音识别算法;HMM模型;Matlab;GUIABSTRACTSpeech Recognition is designed to allow machines to understand what people say,and accurately identify the contents of voice to execute the intent of people.Speech recognition technology is not only an important internationally competed technology,but also an indispensable foundational technology for the national economic development.Based on the mathematical model from the speech signal,this paper analyze audio signal from the time domain,frequency domain proceeding,and discussed the basic theory of speech recognition technology.Five algorithm are discussed:Dynamic Time Warping(DTW)、Rule-based Artificial Intelligence,Artificial Neural Network(ANN),Hidden Markov Model(HMM),HMM combined with ANN.The focus is put in the theoretical studies of Hidden Markov(HMM) model algorithm,and the classical HMM algorithm is improved.Speech recognition algorithm is realized in various programs,this article taking the method is to use Matlab powerful mathematical operation ability to realize the recognition of speech signal isolation. Matlab is a powerful mathematic software with a mass of toolboxes dealing with signal processing. It gives a terrific shortcut to the research of signal processing,especially the wave analysis. We can characterize the sound with key parameters such as intensity, frequency etc. In this paper, hidden Markov model (HMM) recognition algorithm using MFCC (MELfrequency cepstral coefficients) as the main voice characteristic parameters, the establishment of a Chinese digital speech recognition system, including the preprocessing of the speech signal,the extraction of characteristic parameters the training of the recognition template,identifying matching algorithm;the same time,the use of Matlab graphical user interface development environment designed speech recognition system interface,is designed to be simple,easy to use,friendly interface. Besides,to have a simple exploration of the voice recognition is another target.After statistics,recognition result obviously is made out as the expected goal.Key words:Speech recognition algorithm;HMM model;Matlab;GUI目录一、前言 (1)1.1语音识别的发展历史 (1)1.2语音识别研究现状 (1)1.3语音识别系统的分类 (2)1.4语音识别系统的基本构成 (3)1.5语音识别技术难点 (3)1.6语音识别发展前景 (4)二、语音信号分析 (4)2.1语音学知识 (4)2.1.1音素和音节 (5)2.1.2汉语的声调 (5)2.1.3语音信号产生模型 (6)2.2语音信号数字化和预处理 (7)2.2.1数字化 (7)2.2.2预加重处理 (7)2.2.3防混叠滤波 (8)2.2.4加窗处理 (8)2.3语音信号的时域分析 (9)2.3.1短时能量分析 (9)2.3.2短时平均过零率 (11)2.3.3短时自相关函数和短时平均幅度差函数 (12)2.3.4语音端点检测 (13)2.4语音信号的频域分析 (14)2.4.1滤波器组法 (14)2.4.2傅立叶频谱分析 (14)2.5特征参数提取 (15)2.5.1 LPCC倒谱系数 (15)2.5.2 Mel频率倒谱系数 (16)三、语音识别主要算法 (17)3.1动态时间伸缩算法 (17)3.2基于规则的人工智能方法 (18)3.3人工神经网络方法 (19)3.4隐马尔可夫方法 (20)3.5 HMM和ANN的混合模型 (21)四、隐含马尔可夫模型算法 (23)4.1 HMM的基本理论和数学描述 (23)4.2 HMM的三个基本问题及解决算法 (24)4.3 HMM算法的改进 (31)4.4 HMM的结构和类型 (33)4.5 HMM算法实现的问题 (34)五、基于Matlab环境下的语音识别算法实现 (35)5.1识别系统平台介绍 (35)5.2在Matlab中HMM算法的实现 (36)5.2.1端点检测 (36)5.2.2特征参数提取 (36)5.2.3训练和识别 (37)5.3实验结论分析 (38)六、结束语 (39)6.1回顾 (39)6.2展望 (39)七、致谢 (40)参考文献 (40)一、前言1.1语音识别的发展历史作为智能计算机研究的主导方向和人机语音通信的关键技术,语音识别技术一直受到各国科学界的广泛关注。

基于MATLAB的信号处理算法在语音识别中的应用研究

基于MATLAB的信号处理算法在语音识别中的应用研究

基于MATLAB的信号处理算法在语音识别中的应用研究一、引言语音识别技术是近年来人工智能领域备受关注的研究方向之一,其在智能语音助手、语音识别系统、智能交互等领域有着广泛的应用。

而信号处理算法作为语音识别技术的核心之一,对于提高语音识别系统的准确性和稳定性起着至关重要的作用。

本文将探讨基于MATLAB的信号处理算法在语音识别中的应用研究。

二、MATLAB在信号处理中的优势MATLAB作为一种强大的科学计算软件,提供了丰富的信号处理工具箱,包括数字信号处理、滤波器设计、频谱分析等功能模块,为研究人员提供了便利的开发环境。

其优势主要体现在以下几个方面:1. 强大的算法库MATLAB拥有丰富的信号处理算法库,包括快速傅里叶变换(FFT)、数字滤波器设计、自相关函数计算等功能,可以满足不同场景下信号处理的需求。

2. 友好的编程环境MATLAB提供了直观、易学的编程接口,支持脚本编程和函数式编程,使得信号处理算法的实现更加高效和便捷。

3. 可视化分析工具MATLAB强大的可视化功能可以帮助研究人员直观地展示信号处理结果,有利于分析和调试算法,提高开发效率。

三、基于MATLAB的信号处理算法在语音识别中的应用语音信号是一种典型的时域信号,在进行语音识别前需要对其进行预处理和特征提取。

基于MATLAB的信号处理算法在语音识别中有着广泛的应用,主要包括以下几个方面:1. 语音信号预处理在语音信号预处理阶段,通常需要进行去噪、降采样、分帧等操作。

MATLAB提供了丰富的滤波器设计和降噪算法,可以有效地去除噪声干扰,提高语音信号的质量。

2. 特征提取特征提取是语音识别中至关重要的一步,常用的特征包括梅尔频率倒谱系数(MFCC)、线性预测编码(LPC)等。

MATLAB提供了相应的函数库,可以方便地计算这些特征参数。

3. 模式匹配在语音识别系统中,通常采用模式匹配方法对输入语音进行识别。

基于MATLAB的模式匹配算法包括动态时间规整(DTW)、隐马尔可夫模型(HMM)等,在实现上具有较高的灵活性和可扩展性。

Matlab在语音识别中的应用示例

Matlab在语音识别中的应用示例

Matlab在语音识别中的应用示例1. 引言语音识别是一项广泛应用于人机交互中的技术,其应用范围从智能助理到语音控制等众多领域。

而Matlab作为一种强大的数学建模与仿真工具,也在语音识别领域扮演着重要的角色。

本文将通过几个具体的应用示例,探讨Matlab在语音识别中的应用。

2. 语音信号的预处理语音信号的预处理对于后续的语音识别至关重要。

在Matlab中,我们可以使用数字滤波器对语音信号进行去噪和增强。

通过使用滤波器设计工具箱,我们可以根据语音信号的频谱特性,设计合适的数字滤波器。

另外,还可以利用Matlab中的时频分析工具对语音信号进行频谱分析,以了解信号的时域和频域特性。

3. 基于模板匹配的语音识别模板匹配是一种常见的语音识别方法,其基本思想是通过比较未知语音信号与预先录制的模板信号的相似度来进行识别。

在Matlab中,我们可以使用相关性分析函数corrcoef来计算两个语音信号的相关系数。

首先,我们需要将语音信号转化为MFCC(Mel频率倒谱系数),然后将其与预先录制的模板信号进行相关性分析。

通过设置阈值,我们可以判断未知语音信号是否匹配某个模板信号,从而进行语音识别。

4. 基于隐马尔可夫模型的语音识别隐马尔可夫模型(Hidden Markov Model, HMM)是一种常用的语音识别技术。

在Matlab中,我们可以使用HMM工具箱对语音信号进行建模和识别。

首先,我们需要根据不同的语音类别,建立对应的HMM模型。

然后,通过计算待识别语音信号与不同HMM模型的概率,选取概率最大的模型进行识别。

通过调整模型参数和训练样本,我们可以提高语音识别的准确率。

5. 基于深度学习的语音识别近年来,深度学习在语音识别领域取得了重大突破。

在Matlab中,我们可以使用深度学习工具箱进行语音信号的处理和特征提取。

深度学习网络(如卷积神经网络和循环神经网络)可以有效地学习语音信号的特征表示,提高语音识别的准确性。

Matlab在语音识别中的应用技巧

Matlab在语音识别中的应用技巧

Matlab在语音识别中的应用技巧一、引言语音识别是人工智能领域中的重要研究方向之一。

它的目标是使计算机能够听懂人类的语音并进行相应的处理。

如今,语音识别已广泛应用于语音助手、智能客服、语音翻译等领域,给人们的生活带来了很大的便利。

在语音识别的研究中,Matlab作为一种强大的计算工具,发挥着重要的作用。

本文将介绍一些Matlab在语音识别中的应用技巧。

二、语音信号的预处理在进行语音识别之前,首先需要对语音信号进行预处理。

预处理的目标是提取语音特征,并减少噪声的干扰。

Matlab提供了许多函数和工具箱来实现这些功能。

以下是一些常用的预处理技巧:1. 语音信号的分帧和加窗语音信号通常是一个连续的信号,在进行处理之前需要将其分成若干个帧,并对每个帧应用一个窗函数。

这样可以使语音信号在时间上局部化,并减少频谱泄漏。

2. 预加重预加重是对分帧后的每个帧进行加权处理,目的是强调高频部分,减少低频部分的能量。

这样可以提高语音信号的辨识度。

3. 噪声抑制在语音信号中常常存在各种噪声,如环境噪声、机器噪声等。

为提高语音识别的准确性,需要对噪声进行抑制处理。

Matlab提供了一些强大的降噪算法,如Spectral Subtraction、Wiener Filtering等。

三、语音特征提取语音特征提取是语音识别的核心步骤之一。

它的目标是从语音信号中提取能够区分不同语音的特征。

以下是一些常用的语音特征提取技巧:1. 短时能量短时能量是指语音信号每个帧的能量大小。

它可以用来检测语音的起止位置,并判断是否为有声音的帧。

2. 短时过零率短时过零率是指语音信号每个帧中过零点的个数。

它可以用来检测语音的浊音与清音,以及语音的发音速度。

3. 倒谱系数(MFCC)MFCC是一种非常常用的语音特征提取方法。

它通过对语音信号的梅尔频谱进行离散余弦变换得到,具有较好的鲁棒性和可区分性。

四、语音识别算法语音识别算法是进行语音识别的核心部分。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

项目题目:基于Matlab的语音识别
一、引言
语音识别技术是让计算机识别一些语音信号,并把语音信号转换成相应的文本或者命令的一种高科技技术。

语音识别技术所涉及的领域非常广泛,包括信号处理、模式识别、人工智能等技术。

近年来已经从实验室开始走向市场,渗透到家电、通信、医疗、消费电子产品等各个领域,让人们的生活更加方便。

语音识别系统的分类有三种依据:词汇量大小,对说话人说话方式的要求和对说话人的依赖程度。

(1)根据词汇量大小,可以分为小词汇量、中等词汇量、大词汇量及无限词汇量识别系统。

(2)根据对说话人说话方式的要求,可以分为孤立字(词)语音识别系统、连接字语音识别系统及连续语音识别系统。

(3)根据对说话人的依赖程度可以分为特定人和非特定人语音识别系统。

二、语音识别系统框架设计
2.1语音识别系统的基本结构
语音识别系统本质上是一种模式识别系统,其基本结构原理框图如图l所示,主要包括语音信号预处理、特征提取、特征建模(建立参考模式库)、相似性度量(模式匹配)和后处理等几个功能模块,其中后处理模块为可选部分。

三、语音识别设计步骤
3.1语音信号的特征及其端点检测
图2 数字‘7’开始部分波形
图2是数字”7”的波形进行局部放大后的情况,可以看到,在6800之前的部分信号幅度很低,明显属于静音。

而在6800以后,信号幅度开始增强,并呈现明显的周期性。

在波形的上半部分可以观察到有规律的尖峰,两个尖峰之间的距离就是所谓的基音周期,实际上也就是说话人的声带振动的周期。

这样可以很直观的用信号的幅度作为特征,区分静音和语音。

只要设定一个门限,当信号的幅度超过该门限的时候,就认为语音开始,当幅度降低到门限以下就认为语音结束。

3.2 语音识别系统
3.2.1语音识别系统的分类
语音识别按说话人的讲话方式可分为3类:(1)即孤立词识别(isolated word recognition),孤立词识别的任务是识别事先已知的孤立的词,如“开机”、“关机”等。

(3)连续语音识别,连续语音识别的任务则是识别任意的连续语音,如一个句子或一段话。

从识别对象的类型来看,语音识别可以分为特定人语音识别和非特定人语音识别,特定人是指针对一个用户的语音识别,非特定人则可用于不同的用户。

显然,非特定人语音识别系统更符合实际需要,但它要比针对特定人的识别困难得多。

3.2.2语音识别系统的基本构成
语音识别系统的实现方案如图3所示。

输入的模拟语音信号首先要进行处理,包括预滤波,采样和量化,加窗,端点检测,预加重等。

语音信号经处理后,接下来很重要的一环就是特征参数提取。

图3 语音识别系统
在训练阶段,将特征参数进行一定的处理之后,为每个词条得到一个模型,保存为模版库。

在识别阶段,语音信号经过相同的通道得到语音参数,生成测试模版,与参考模板进行匹配,将匹配分数最高的参考模型作为识别结果。

3. 2.3 语音识别系统的特征参数提取
特征提取是对语音信号进行分析处理,去除对语音识别无关紧要的冗余信息,获得影响语音识别的重要信息。

语音信号是一种典型的时变信号,然而如果把观察时间缩短到十毫秒至几十毫秒,则可以得到一系列近似稳定的信号。

人的发音器官可以用若干段前后连接的声管进行模拟,这就是所谓的声管模型。

全极点线性预测参数 (LPC: Liner Prediction Coeffieient)可以对声管模型进行很好的描述,LPC参数是模拟人的发声器官的,是一种基于语音合成的参数模型。

在语音识别中,很少用LPC系数,而是用LPC倒谱参数 (LPCC: Liner Prediction Cepstral Coefficient)。

LPCC参数的优点是计算量小,对元音有较好的描述能力,其缺点在于对辅音的描述能力较差,抗噪声性能较差。

然而,人的听觉系统是一个特殊的非线性系统,它响应不同频率信号的灵敏度是不同的,基本上是一个对数关系。

近年来,一种能够比较充分利用人耳这种特殊的感知特性的参数得到了广泛的应用,这就是Mel倒谱参数(MFCC:Mel一Frequency CePstral Coeffieient)。

MFCC参数能够比LPCC参数更好地提高系统的识别性能。

3.2.4 特定人语音识别算法—DTW算法
在孤立词语音识别中,最为简单有效的方法是采用DTW(Dynamic Time Warping,动态时间归整)算法,该算法基于动态规划(DP)的思想,解决了发音长短不一的模板匹配问题,是语音识别中出现较早、较为经典的一种算法,用于孤立词识别。

HMM算法在训练阶段需要提供大量的语音数据,通过反复计算
才能得到模型参数,而DTW算法的训练中几乎不需要额外的计算。

所以在孤立词语音识别中,DTW算法仍然得到广泛的应用。

无论在训练和建立模板阶段还是在识别阶段,都先采用端点算法确定语音的起点和终点。

已存入模板库的各个词条称为参考模板,一个参考模板可表示为R={R(1),R(2),……,R(m),……,R(M)},m为训练语音帧的时序标号,m=1为起点语音帧,m=M为终点语音帧,因此M为该模板所包含的语音帧总数,R(m)为第m帧的语音特征矢量。

所要识别的一个输入词条语音称为测试模板,可表示为T={T(1),T(2),……,T(n),……,T(N)},n 为测试语音帧的时序标号,n=1为起点语音帧,n=N为终点语音帧,因此N为该模板所包含的语音帧总数,T(n)为第n帧的语音特征矢量。

参考模板与测试模板一般采用相同类型的特征矢量(如MFCC,LPC系数)、相同的帧长、相同的窗函数和相同的帧移。

四、基于Matlab的语音识别系统仿真
4.1 语音模板的获取
运用系统的采集模块录制一个普通男声声音,录制0~9十个语音为实验对象分别命名为0a.wav,1a.wav,2a.wav,3a.wav,4a.wav,5a.wav,6a.wav,7a.wav,8a.wav,9a.wav分析处理后提取特征参数,经过模板训练,为十个语音分别选取最合适的语音作为模板,存入数据库建立参考模型库。

4.2 语音训练
类似,录制一组普通男声的声音,同样为0~9十个语音,作为十个待测语音信号。

图4 数字‘0’的训练波形及系数
4.3 语音识别
训练结束后,用录音设备录入0~9中的数字,经过波形及系数匹配识别出录入数字,并正确显示识别结果。

图4 数字‘0’的识别结果
五总结
通过这次二级项目,更深入的了解的Matlab软件强大的功能,了解了利用Matlab软件进行界面设计等。

学习到语音识别技术仿真中各函数的运用。

在不断地改进和完善中,这次二级项目终于顺利完成。

参考文献
1.何强、何英. MATLAB扩展编程.北京:清华大学出版社, 2002.6 2.江官星王建英.一种改进的检测语音端点的方法.微计算机信息 2006 3.陈勇屈志毅刘莹等.语音特征参数MFCC的提取及其应用.湖南农业大学学报自然科学版 2009
4. 王炳锡等,实用语音识别基础,北京,国防工业出版社,2005年
5. 韩纪庆张磊郑铁然.语音信号处理.北京:清华大学出版社 2004。

相关文档
最新文档