语音识别算法
‘壹’ 语音识别:如图的噪音音频能够用什么算法识别出来
能详细描述出来你想达到什么效果么?如果是问什么软件,只是看音频的噪声,你图里的软件就可以,没记错的话应该是Audacity,也可以用cooledit。
‘贰’ 用C语言进行语音识别
普通要做语音的FFT分析,然后根据一些模型做分析,可以分别找出某些频谱特征语音的成分,从而判断是否有某种声音(比如某人的说话声);
但要做到把多个不同的声音分开,设计这样的滤波器比较困难
做到将说话声识别成文字就更难了,要用到市场上成熟的算法(有可能不是免费的),而且识别率比较低。
‘叁’ 关于语音识别特征提取该如何入门
1. Take the Fourier transform of (a windowed excerpt of) a signal.这一步其实说了两件事:一是把语音信号分帧,二是对每帧做傅里叶变换。要分帧是因为语音信号是快速变化的,而傅里叶变换适用于分析平稳的信号。在语音识别中,一般把帧长取为20~50ms,这样一帧内既有足够多的周期,又不会变化太剧烈。每帧信号通常要与一个平滑的窗函数相乘,让帧两端平滑地衰减到零,这样可以降低傅里叶变换后旁瓣的强度,取得更高质量的频谱。帧和帧之间的时间差(称为“帧移”)常常取为10ms,这样帧与帧之间会有重叠,否则,由于帧与帧连接处的信号会因为加窗而被弱化,这部分的信息就丢失了。傅里叶变换是逐帧进行的,为的是取得每一帧的频谱。一般只保留幅度谱,丢弃相位谱。
2. Map the powers of the spectrum obtained above onto the mel scale, using triangular overlapping windows.这一步做的事情,是把频谱与下图中每个三角形相乘并积分,求出频谱在每一个三角形下的能量:这一步有如下几个效果:
1) 傅里叶变换得到的序列很长(一般为几百到几千个点),把它变换成每个三角形下的能量,可以减少数据量(一般取40个三角形);
2) 频谱有包络和精细结构,分别对应音色与音高。对于语音识别来讲,音色是主要的有用信息,音高一般没有用。在每个三角形内积分,就可以消除精细结构,只保留音色的信息。当然,对于有声调的语言来说,音高也是有用的,所以在MFCC特征之外,还会使用其它特征刻画音高。
3) 三角形是低频密、高频疏的,这可以模仿人耳在低频处分辨率高的特性。
3. Take the logs of the powers at each of the mel frequencies.这一步就是取上一步结果的对数。简单点理解,它是对纵轴的放缩,可以放大低能量处的能量差异;更深层次地,这是在模仿倒谱(cepstrum)的计算步骤。倒谱又是另一个话题,此处不展开讲了。
4. Take the discrete cosine transform of the list of mel log powers, as if it were a signal.求倒谱时这一步仍然用的是傅里叶变换。计算MFCC时使用的离散余弦变换(discrete cosine transform,DCT)是傅里叶变换的一个变种,好处是结果是实数,没有虚部。DCT还有一个特点是,对于一般的语音信号,这一步的结果的前几个系数特别大,后面的系数比较小,可以忽略。上面说了一般取40个三角形,所以DCT的结果也是40个点;实际中,一般仅保留前12~20个,这就进一步压缩了数据。上面整个过程的结果,就把一帧语音信号用一个12~20维向量简洁地表示了出来;一整段语音信号,就被表示为这种向量的一个序列。语音识别中下面要做的事情,就是对这些向量及它们的序列进行建模了。
‘肆’ 谁知道语音识别这方面的知识!!!
高性能汉语数码语音识别算法
李虎生 刘加 刘润生
摘 要: 提出了一个高性能的汉语数码语音识别(MDSR)系统。 MDSR系统使用Mel频标倒谱系数(MFCC)作为主要的语音特征参数,同时提取共振峰轨迹和鼻音特征以区分一些易混语音对,并提出一个基于语音特征的实时端点检测算法,以减少系统资源需求,提高抗干扰能力。采用了两级识别框架来提高语音的区分能力,其中第一级识别用于确定识别候选结果,第二级识别用于区分易混语音对。由于采用了以上改进, MDSR系统识别率达到了98.8%.
关键词:汉语; 数码语音识别
分类号:TN 912.34 文献标识码:A
文章编号:1000-0054(2000)01-0032-03
High performance digit mandarin
speech recognition
LI Husheng LIU Jia LIU Runsheng
(Department of Electronic Engineering,Tsinghua University, Beijing 100084, China)
Abstract:High-performance mandarin digit speech recognition (MDSR) system is developed using MFCC (mel frequency cepstrum coefficient) as the main parameter identifying the speech patterns. The formant trajectory and the nasal feature are extracted to identify confused words. A feature-based, real-time endpoint detection algorithm is proposed to rece the system resource requirements and to improve the disturbance-proof ability. A two-stage recognition frame enhances discrimination by identifying candidate words in the first stage and confused word pairs in the second stage. These improvements result in a correct recognition rate of 98.8%.
Key words:mandarin;digit speech recognition▲
汉语数码语音识别 (mandarin digit speech recognition, MDSR) 是语音识别领域中一个具有广泛应用背景的分支,它的任务是识别“0”到“9”等10个非特定人汉语数码语音,在电话语音拨号、工业监控、家电遥控等领域有着极大的应用价值〔1〕。但与英语数码语音识别相比, MDSR的性能尚未达到成熟应用水平,这是因为 1) 汉语数码语音的混淆程度较高; 2) 汉语是一个多方言语种,说话人会带有或多或少的地方口音; 3) 在许多应用背景中,MDSR需要在运算和存储资源都较为紧张的数字信号处理器(digital signal processor, DSP)系统上实现,这为MDSR算法的设计带来了很大的限制。由于以上原因,MDSR是一项相当困难的任务。
针对汉语数码语音识别提出了一系列高性能的算法,使MDSR识别率达到了98.8%。由这些算法构成的识别系统框图如图1所示。
MDSR系统〔1〕提取的语音特征参数包括用于识别的参数和用于端点检测的参数。
图1 MDSR系统框图
1 语音前端处理
语音前端处理包括语音特征提取和端点检测两部分。
1.1 语音特征提取
1.1.1 基本识别参数
目前常用的语音识别参数有基于线性预测编码(LPC)的线性预测倒谱系数(LPCC)和基于Mel频标的倒谱系数(MFCC)〔2〕。实验证明,采用MFCC参数时系统识别率高于采用LPCC参数。因此本文的基本识别参数采用MFCC参数及一阶差分MFCC参数。
1.1.2 共振峰轨迹
在MDSR中,易混淆语音“2”和“8”可以由其第2,3共振峰的变化趋势区分开〔3〕。因此可将共振峰轨迹作为识别参数之一,并选用峰值选取算法来提取共振峰轨迹〔3〕。
1.1.3 鼻音特征参数
汉语数码语音中,“0”的元音具有鼻音的特征,而“0”容易与具有非鼻化元音的“6”混淆,因此鼻音特征可用于提高“0”的识别率。鼻音的特征包括〔4〕:
1) 鼻音在频谱低端(约0.25kHz左右)有1个较强的共振峰。
2) 鼻音在中频段(约0.8~2.3kHz)的能量分布较为均匀,没有明显的峰或谷。
采用以下2个参数表征鼻音的特征:
1) 低频能量比:
(1)
其中fn为鼻音低频共振峰频率, B为鼻音低频共振峰带宽。Fk为对语音作快速Fourior变换(FFT)后第k个频率点的能量, 〔f1,f2〕则为语音“6”能量集中的频带。
2) 频谱质心:
(2)
其中〔fL,fH〕为0.8~2.3kHz的中频段。由于MDSR系统采用的基本识别参数为MFCC参数,其计算过程中需要作FFT,所以低频能量比和频谱质心两个参数可以顺带算出,不会影响特征提取的实时完成。
1.2 端点检测
本文提出了基于语音特征的实时端点检测算法(feature-based real-time endpoint detection, FRED),充分利用汉语数码语音的特点,在实时提取特征参数后完成端点检测,检测到的端点只精确到帧的量级。
根据语音学知识〔4〕, MDSR中各类语音的频谱特点如表1
表1 汉语数码语音频谱特点
频 谱 特 征
浊 音 元 音 低频(0.1至0.4kHz间)能量较高; 中频(0.64至2.8kHz)能量较高
浊辅音 低频(0.1至0.4kHz间)能量较高; 中频(0.64至2.8kHz)能量较低
清辅音 高频(3.5kHz以上)能量较高
采用3个频谱能量分布参数{R1,R2,R3}分别反应频谱高频、低频和中频的分布特征。其定义如下:
(3)
(4)
其中: i表示第i帧, N为语音帧长,也即FFT点数, Fk为对语音帧作FFT后各频率点能量, T为语音的总帧数,式(3),(4) 中求和号的上下限由表1中相应频率范围确定,当N为256,采样频率为实验所用语音库的11kHz时, f0=81, f1=9, f2 =2, f3=65, f4=15.由于进行了能量归一化,所以上述特征与语音的强度是无关的。由于计算MFCC参数时需要作FFT,因此频谱能量分布参数可以顺带算出。此外,用于端点检测的参数还包括短时能量参数E0(i)〔5〕.
由以上参数, FRED算法过程为:
1) 根据采入信号首尾两帧确定能量阈值;
2) 根据参数R2确定语音浊音段;
3) 根据参数R1与E0向浊音段两端扩展式搜索语音起始帧;
4) 根据参数R3确定元音段。
FRED算法的特点是:
1) 利用了语音的本质特征进行端点检测,能够很好地适应环境的变化和干扰,实验证明FRED算法可以有效地提高识别率; 2) 将语音端点定在帧的量级上,保证了特征参数在采样时实时提取,节省了系统运行时间,大大减少了系统所需的存储量; 3) 能够准确地确定语音的元音段,从而将辅音与元音分割开,有利于对语音局部特征的辨识。
2 识别算法
实验表明, MDSR的识别错误集中在少数几对易混语音中〔1〕,因此本文采用了两极识别框架,即第一级完成对识别结果的初步确定,第二级完成对易混淆语音的进一步辨识。
2.1 第一级识别
在第一级识别中采用的基本方法为离散隐含Malkov模型(DHMM)算法〔5〕,用Viterbi算法〔5〕计算各个数码语音模型产生采入语音的概率Pr。
由于HMM是一个有人为假设的模型,所以有不可避免的缺陷。其中一个缺陷是在HMM中各状态的持续时间呈几何分布,即
P(Li=n)=anii(1-aii), (5)
其中: Li为状态i的持续时间, aii为状态i跳转回自身的概率。按照式(5),状态持续时间越长,其概率越小,这是不符合实际情况的。用Γ分布来描述状态持续时间〔5〕,即
(6)
其中αi和βi为Γ分布的参数, Fi为归一化因子参数,以上各参数在训练时由训练语音样本估计出。在识别时,用Viterbi算法获得的最佳状态路径中各状态持续时间的概率对Pr作修正:
(7)
其中: λ为加权系数, S为状态数。识别结果则由修正后的概率P�′r获得。实验证明,用状态持续时间分布对Pr进行修正所得的识别性能有明显的提高。
2.2 第二级识别
对第一级识别的错误作分析,我们发现大部分错误都集中在少数几对易混语音中。表2列出了识别错误最多的6对语音(其中“1”念为〔yao〕)占所有错误的百分比及其区分特征。可见这6对语音占所有错误的91%,所以如果能够在第二级识别中对这几对语音作进一步的辩识,整个MDSR系统的性能会有很大的提高。
表2 易混语音错误百分比及其区分特征
易混语音 占识别错误百分比/% 区分特征
“2”“8” 45 共振峰轨迹变化趋势
“1”“9” 12 不同的辅音
“1”“6” 11 不同的辅音
“0”“6” 11 鼻音特征的有无
“3”“4” 8 不同的元音
“6”“9” 4 辅音的清浊性
由表2可见,易混语音“2”“8”, “0”“6”, “6”“9”可以用表征其区分特征的参数,根据一定的规则进行判决,而“1”“9”, “1”“6”, “3”“4”则可以利用端点检测中元、辅音分割的结果,训练元音部分和辅音部分的HMM参数,在识别时针对相应部分再作一次局部HMM识别。表3列出了各对易混语音第二级识别的方法。
表3 第二级识别方法
易混语音 第二级识别方法 规则判决的特征参数或
局部HMM的辨识部位
“2”“8” 规则判决 共振峰轨迹
“1”“9” 局部HMM辨识 辅音
“1”“6” 局部HMM辨识 辅音
“0”“6” 规则判决 鼻音特征
“3”“4” 局部HMM辨识 元音
“6”“9” 规则判决 频谱分布参数R1
3 实验结果
实验使用了一个包含160人从“0”到“9”的各一遍发音的语音库来测试系统的性能,库中语音采样率为11kHz,量化精度为16bit线性量化,录音背景为普通办公室环境。
首先测试了特征参数采用LPCC参数,端点检测采用快速端点检测算法〔6〕,只用Viterbi算法进行一级识别时的基本结果,然后测试了逐个加入本文所提出的各种方法后的识别率,结果如表4。可见,所采用的每一种方法都使系统性能较之于基本系统有了显着的提高,最后达到98.8%的识别率。
表4 算法性能比较
采用的算法 识别率/%
基本结果 91.1
采用MFCC参数 92.9
FRED算法 95.4
状态持续时间分布 96.0
第二级识别 98.8
4 结 论
采用了一系列算法,有效地提高了MDSR系统的识别率,实现了一个高性能的MDSR系统,其特点为:
1) 采用了两极识别框架,增强了对易混语音的区分能力。
2) 充分利用针对汉语数码语音的语音学知识,提高了端点检测的抗干扰能力,提取了用于区分易混语音的共振峰轨迹、鼻音特征等声学特征,进一步提高了系统识别率。
3) 各算法所需的运算量和存储量都较小,有利于MDSR在DSP系统上的实现。■
基金项目:国家自然科学基金项目(69772020)和国家“八六三”高技术项目(863-512-9805-10)
作者简介:李虎生 (1975-), 男(汉), 四川, 硕士研究生
作者单位:李虎生(清华大学,电子工程系,北京,100084)
刘加(清华大学,电子工程系,北京,100084)
刘润生(清华大学,电子工程系,北京,100084)
参考文献:
〔1〕顾良, 刘润生. 汉语数码语音识别: 困难分析与方法比较 〔J〕. 电路与系统学报, 1997, 2 (4): 32-39.
Gu Liang, Liu Runsheng. Mandarin digit speech recognition: state of the art, difficult points analysis and methods comparison 〔J〕. J of Circuits and Systems, 1997, 2(4): 32-39. (in Chinese)
〔2〕Davis S B, Mermelstein P. Comparison of parametric representations for monosyllabic word recognition in continuously spoken sentences 〔J〕. IEEE Trans, on Speech and Audio Signal Processing, 1980, 28 (4): 357-366.
〔3〕李虎生, 杨明杰, 刘润生. 用共振峰轨迹提高汉语数码语音识别性能 〔J〕. 清华大学学报, 1999, 39(9).
Li Husheng, Yang Mingjie, Liu Runsheng. Use formant trajectory to improve the performance of mandarin digit speech recognition 〔J〕. J of Tsinghua University, 1999, 39(9): 69-71. (in Chinese)
〔4〕吴宗济, 林茂灿. 实验语音学教程 〔M〕. 北京: 高等教育出版社, 1989.
Wu Zongji, Lin Maocan. Tutorial on Experimental Phonetics 〔M〕. Beijing: Higher Ecation Press, 1989. (in Chinese)
〔5〕杨行峻, 迟惠生. 语音信号数字处理 〔M〕. 北京: 电子工业出版社, 1995.
Yang Xingjun, Chi Huisheng. Digit Speech Signal Processing 〔M〕. Beijing: Publishing House of Electronic Instry, 1995. (in Chinese)
〔6〕顾良. 汉语数码语音识别方法研究及DSP系统设计 〔D〕. 北京: 清华大学, 1997.
Gu Liang. Research on Methodologies for Mandarin Digit Speech Recognition and Design of its DSP System 〔D〕. Beijing: Tsinghua University, 1997. (in Chinese)
http://www.oxbad.com/DSP/maindoc/audio/PAGE/5.HTM
‘伍’ 语音识别的原理是什么
语音识别的原理可以从两方面理解,分别是数据库、算法与自学习。
1、数据库,其实语音识别的原理是非常好理解的,它是和指纹识别定位原理一样的,设备会把目标语音收集起来,接着对这些收集来的语音实施处理,然后会得到目标语音的一些信息,下面就会把这些特征信息和数据库中已经存在的数据进行相似度的搜索对比,当评分最高的信息出现,那就是识别结果,会经由其他系统的接入把没有完成的设备语音识别功能。
在实际的操作中,语音识别是非常复杂的,毕竟语音本身就较为复杂,它和指纹识别最大的区别就是,指纹识别只需要把指纹录入然后由数据库进行对比识别,可是语音识别就不能如此简单。
由于语音的复杂性,所以语音的数据库是非常庞大的,并且这种数据库还不能放到移动端,这也是使用手机语音助手就必须要进行联网的最大原因。语音识别自出现以来发展到现在,也是有出现过可以离线使用的,但是经过实际的使用后发现,离线版的无法保证准确率,一个可能会出错的识别功能自然无法使用。
2、算法和自学习,语音识别会对收集到的目标进行预处理,其中包括语音信号采样、反混叠带通滤波、去除个体发音差异和设备、环境引起的噪声影响等等,总之是非常复杂的,所以之后对于需要处理的语言都会进行特征的提取。
声音是具有震动性的,主要的形状为波形,语言识别也就是对这种波形进行分帧,多个帧构成一个状态,三个状态构成一个音素。英语常用音素集是卡内基梅隆大学的一套由39个音素构成的音素集,汉语一般直接用全部声母和韵母作为音素集,另外汉语识别还分有调音调。然后经由音素系统吧这些合成单词或者是汉字,下面经过相应的算法处理即可。
自学习系统主要是针对数据库的,吧语言变为文字的语言识别系统必须拥有两个数据库,一个用来提取声音进行匹配,一个是能够与之匹配的文本语言数据库。这两个数据库都需要提前对数据机型进行训练分析,简单地理解为自学习系统。
‘陆’ 图像识别比语音识别算法的复杂度高多少倍
图象识别容易,因为图象可以在一个时间点成像。而语音没有可能在一个时间点的采样有用,语音多出来一个时间轴。 而这个时间轴引入的难题就是:换个时间,换个人,换个背景噪音,都变得没法子识别了。目前,主流的大词汇量语音识别系统多采用统计模式识别技术。典型的基于统计模式识别方法的 语音识别系统由以下几个基本模块所构成信号处理及特征提取模块。该模块的主要任务是从输入信号中提取特征,供声学模型处理。同时,它一般也包括了一些信号处理技术,以尽可能降低环境噪声、信道、说话人等因素对特征造成的影响。 统计声学模型。典型系统多采用基于一阶隐马尔科夫模型进行建模。 发音词典。发音词典包含系统所能处理的词汇集及其发音。发音词典实际提供了声学模型建模单元与语言模型建模单元间的映射。 语言模型。语言模型对系统所针对的语言进行建模。理论上,包括正则语言,上下文无关文法在内的各种语言模型都可以作为语言模型,但目前各种系统普遍采用的还是基于统计的N元文法及其变体。 解码器。解码器是语音识别系统的核心之一,其任务是对输入的信号,根据声学、语言模型及词典,寻找能够以最大概率输出该信号的词串。 从数学角度可以更加清楚的了解上述模块之间的关系。首先,统计语音识别的最基本问题是,给定输入信号或特征序列,符号集(词典),求解符号串使得:图像识别比语音识别算法的复杂度高多少倍
‘柒’ 求语音识别解决方案。
用IBM滴好,支持系统全局语音化
IBM ViaVoice
‘捌’ 语音识别算法有哪些
DTW 特定人识别
HMM 非特定人识别
GMM
神经网络
‘玖’ 国产语音识别算法取得了重大突破吗
据报道,近日中国人工智能产业发展联盟组建成立,联盟将快速推动人工智能技术在生产制造、健康医疗、生活服务、城市治理等场景的应用,据了解目前国产语音识别算法已经取得了重大突破。
数据显示,2016年中国数据总量占全球数据总量的14%。据预测,到2020年,中国的数据总量将占全球数据总量的20%,届时中国将成为世界第一数据资源大国和全球的数据中心,此外,许多传统行业的数据积累在规范程度和流转效率上还远未达到可充分发挥人工智能技术潜能的程度。
中国的大技术公司通过它们专有的平台收集数据,但中国在创建数据友好的生态系统方面落后于美国,缺少统一的标准和跨平台的共享。从世界有关国家看,开放政府数据有助于私营部门的创新,但中国公共部门开放的数据相对较少。
希望中国人工智能技术可以早日实现弯道超车!
‘拾’ 语音识别技术的基本方法
朋友进行语音识别,你可以试试ocr文字识别软件,现在科技发达,软件可以解决你的问题,下面来说说我的方法吧:
第一步:首先,打开ocr文字识别软件,点击上面【语音识别】功能按钮。
第二步:接着,点击左上角的【添加文件】,把需要识别的语音文件添加进去。
第三步:然后,点击右边开始识别。
第四步:最后,点击右下角【保存为TXT】文档。
朋友你试试我的方法可以不。