语音识别算法有哪些_语音识别特征提取方法
语音识别算法有哪些
本文列举了几种不同的语音识别算法。
第一种:基于动态时间规整(Dynamic Time Warping)的算法
在连续语音识别中仍然是主流方法。
该方法的运算量较大,但技术上较简单,识别正确率高。
在小词汇量、孤立字(词)识别系统中,也已有许多改进的DTW算法被提出。例如,利用频率尺度的DTW算法进行孤立字(词)识别的方法。
第二种:基于参数模型的隐马尔可夫模型(HMM)的方法
该算法主要用于大词汇量的语音识别系统,它需要较多的模型训练数据,较长的训练和识别时间,而且还需要较大的内存空间。
一般连续隐马尔可夫模型要比离散隐马尔可夫模型计算量大,但识别率要高。
第三种:基于非参数模型的矢量量化(VQ)的方法
该方法所需的模型训练数据,训练和识别时间,工作存储空间都很小。
但是VQ算法对于大词汇量语音识别的识别性能不如HMM好。
在孤立字(词)语音识别系统中得到了很好的应用。
另外,还有基于人工神经网络(ANN)的算法和混合算法,如ANN/HMM法,FSVQ/HMM法等。
更多语音识别算法如下:
卷积神经网络
深度学习神经网络
BP神经网络
RBF神经网络
模糊聚类神经网络
改进的T-S模糊神经网络
循环神经网络
小波神经网络
混沌神经网络
小波混沌神经网络
神经网络和遗传算法
动态优化神经网络
K均值和神经网络集成
HMM与自组织神经网络的结合
正交基函数对向传播过程神经网络
HMM和新型前馈型神经网络
特征空间随机映射
SVM多类分类算法
特征参数归一化
多频带谱减法
独立感知理论
分段模糊聚类算法VQ-HMM
优化的竞争算法
双高斯GMM特征参数
MFCC和GMM
MFCCs和PNN
SBC和SMM
MEL倒谱系数和矢量量化
DTW
LPCC和MFCC
隐马尔科夫模型HMM
语音识别特征提取方法
语音识别对特征参数有如下要求:
1. 能将语音信号转换为计算机能够处理的语音特征向量
2. 能够符合或类似人耳的听觉感知特性
3. 在一定程度上能够增强语音信号、抑制非语音信号
常用特征提取方法有如下几种:
(1)线性预测分析(LinearPredicTIonCoefficients,LPC)
拟人类的发声原理,通过分析声道短管级联的模型得到的。假设系统的传递函数跟全极点的数字滤波器是相似的,通常用12-16个极点就可以描述语音信号的特征。所以对于n时刻的语音信号,我们可以用之前时刻的信号的线性组合近似的模拟。然后计算语音信号的采样值和线性预测的采样值。并让这两者之间达到均方的误差(MSE)最小,就可以得到LPC。
(2)感知线性预测系数(PerceptualLinearPredicTIve,PLP)
一种基于听觉模型的特征参数。该参数是一种等效于LPC的特征,也是全极点模型预测多项式的一组系数。不同之处是PLP是基于人耳听觉,通过计算应用到频谱分析中,将输入语音信号经过人耳听觉模型处理,替代LPC所用的时域信号,这样的优点是有利于抗噪语音特征的提取。
(3)Tandem特征和Bottleneck特征
这是两种利用神经网络提取的两类特征。Tandem特征是神经网络输出层节点对应类别的后验概率向量降维并与MFCC或者PLP等特征拼接得到。Bottleneck特征是用一种特殊结构的神经网络提取,这种神经网络的其中一个隐含层节点数目比其他隐含层小的多,所以被称之为Bottleneck(瓶颈)层,输出的特征就是Bottleneck特征。
(4)基于滤波器组的Fbank特征(Filterbank)
亦称MFSC,Fbank特征的提取方法就是相当于MFCC去掉最后一步的离散余弦变换,跟MFCC特征相比,Fbank特征保留了更多的原始语音数据。
(5)线性预测倒谱系数(LinearPredicTIveCepstralCoefficient,LPCC)
基于声道模型的重要特征参数。LPCC是丢弃了信号生成过程中的激励信息。之后用十多个倒谱系数可以代表共振峰的特性。所以可以在语音识别中取得很好的性能。
(6)梅尔频率倒谱系数(MelFrequencyCepstrumCoefficient,MFCC)
基于人耳听觉特性,梅尔频率倒谱频带划分是在Mel刻度上等距划分的,频率的尺度值与实际频率的对数分布关系更符合人耳的听觉特性,所以可以使得语音信号有着更好的表示。1980年由Davis和Mermelstein搞出来的。从那时起。在语音识别领域,MFCC可谓是鹤立鸡群,一枝独秀。
Q: MFCC为何一枝独秀
人通过声道产生声音,声道的shape决定了发出怎样的声音。声道的shape包括舌头,牙齿等。如果我们可以准确的知道这个形状,那么我们就可以对产生的音素phoneme进行准确的描述。声道的形状在语音短时功率谱的包络中显示出来。而MFCC就是一种准确描述这个包络的一种特征。
声谱图
处理语音信号,如何去描述它很重要,因为不同的描述方式放映它不同的信息,而声谱图的描述方式是最利于观测和理解的。
由上图可知,这段语音被分为很多帧,每帧语音都对应于一个频谱(通过短时FFT计算),频谱表示频率与能量的关系。在实际使用中,频谱图有三种,即线性振幅谱、对数振幅谱、自功率谱(对数振幅谱中各谱线的振幅都作了对数计算,所以其纵坐标的单位是dB(分贝)。这个变换的目的是使那些振幅较低的成分相对高振幅成分得以拉高,以便观察掩盖在低幅噪声中的周期信号)。
先将其中一帧语音的频谱通过坐标表示出来,如上图(a)。旋转90度,得到图(b)。把这些幅度映射到一个灰度级表示,得到了图(c)。这样操作的原因是为了增加时间维度,,得到一个随着时间变化的频谱图,这个就是描述语音信号的声谱图(spectrogram)。这样就可以显示一段语音而不是一帧语音的频谱,而且可以直观的看到静态和动态的信息。
倒谱分析(CepstrumAnalysis)
下面是一个语音的频谱图。峰值就表示语音的主要频率成分,我们把这些峰值称为共振峰(formants),而共振峰就是携带了声音的辨识属性,用它就可以识别不同的声音。因此,需要把它提取出来。要提取的不仅是共振峰的位置,还得提取它们转变的过程。所以我们提取的是频谱的包络(SpectralEnvelope)。这包络就是一条连接这些共振峰点的平滑曲线。
由上图可以看出,原始的频谱由两部分组成:包络和频谱的细节。因此需要把这两部分分离开,就可以得到包络了。按照下图的方式进行分解,在给定logX[k]的基础上,求得logH[k]和logE[k]满足logX[k]=logH[k]+logE[k]。
由上面这个图我们可以看到,包络主要是低频成分,而高频主要是频谱的细节。把它俩叠加起来就是原来的频谱信号了。即,h[k]是x[k]的低频部分,因此将x[k]通过一个低通滤波器就可以得到h[k]了,也就是频谱的包络。
以上解卷过程的专业术语叫做同态信号处理,(另一种方法为基于线性变换)。语音本身可以看成是声道冲击信息(包括话者个性信息、语义信息,表现为频谱低频成分)经过声门激励的一个响应函数,在时域上表现为卷积形式。为将二者分离开来,求得声道共振特征和基音周期,需要把这种非线性问题转化为线性问题。第一步通过FFT将其变成了乘性信号(时域的卷积相当于频域的乘积);第二步通过取对数将乘性信号转化为加性信号;第三步进行逆变换,使其恢复为卷性信号。此时,虽然前后均是时域序列,但它们所处的离散时域显然不同,所以后者称为倒谱频域。计算过程如下图所示。
更多精彩阅读:
语音识别算法有哪些_语音识别特征提取方法相关推荐
- 语音识别技术是什么_语音识别技术应用领域介绍
语音识别技术,也被称为自动语音识别AutomaTIc Speech RecogniTIon,(ASR),其目标是将人类的语音中的词汇内容转换为计算机可读的输入,例如按键.二进制编码或者字符序列.与说话 ...
- 语音识别中强制对齐_语音识别中的标注问题和嵌入式训练
什么是嵌入式训练(Embedded Training)? 序列的标注问题 机器学习的问题主要分为三类:分类问题,标注问题和回归问题 标注问题的输入是一个观测序列,输出是一个标记序列或者状态序列.标注问 ...
- python音频特征提取_音频特征提取方法和工具汇总
本文首发于:行者AI 绝大多数音频特征起源于语音识别任务,它们可以精简原始的波形采样信号,从而加速机器对音频中语义含义的理解.从20世纪90年代末开始,这些音频特征也被应用于乐器识别等音乐信息检索任务 ...
- 语音识别是什么意思_语音识别的翻译_音标_读音_用法_例句_爱词霸在线词典
全部 Natural spectral peaks of the vocal tract that aid in the recognition of speech sounds. 声道的自然频谱峰值 ...
- 语音识别维特比解码_一种基于维特比算法的花洒语音识别系统及方法与流程
本发明涉及语音识别技术领域,具体涉及一种基于维特比算法的花洒语音识别系统及方法. 背景技术: 随着生活水平的提高和住房条件的改善,很多家庭都安装了沐浴设施,花洒是其中最常见的淋浴装置.目前花洒产品多为 ...
- 语音识别算法研究及实现.doc
您所在位置:网站首页 > 海量文档  > 计算机 > 数据结构与算法 语音识别算法研究及实现.doc6页 本文档一共被 ...
- python 语音特征提取_使用python实现语音文件的特征提取方法
概述 语音识别是当前人工智能的比较热门的方向,技术也比较成熟,各大公司也相继推出了各自的语音助手机器人,如百度的小度机器人.阿里的天猫精灵等.语音识别算法当前主要是由rnn.lstm.dnn-hmm等 ...
- 【语音识别】动态时间规整算法(RTW)语音识别系统【含GUI Matlab源码 341期】
⛄一.动态时间规整算法(RTW)语音识别 软件算法主要分为语音信号滤波去噪.预加重.分帧.端点检测.特征参数提取.模式匹配.算法的关键点和难点是特征参数提取和模式匹配.孤立词的语音识别应用程序也是基于 ...
- 【语音识别】基于matlab GUI动态时间规整算法(RTW)语音识别系统【含Matlab源码 341期】
⛄一.动态时间规整算法(RTW)语音识别 软件算法主要分为语音信号滤波去噪.预加重.分帧.端点检测.特征参数提取.模式匹配.算法的关键点和难点是特征参数提取和模式匹配.孤立词的语音识别应用程序也是基于 ...
- 语音识别中代价函数_语音识别技术简述(概念-原理)
目录 语音识别技术简述(概念->原理) 语音识别概念 语音识别原理 语音识别技术简介 1.动态时间规整(DTW) 2.支持向量机(SVM) 3.矢量量化(VQ) 4.隐马尔科夫模型(HMM) 5 ...
最新文章
- C++和操作系统面试问题分类
- Java工程中使用Log4j小记
- 使用shell脚本实现自动SSH互信功能
- 点云三角化之后还能贴图嘛_雪糕化了之后重新冷冻还能吃吗?宁波这个实验真相了!...
- R语言观察日志(part8)-RMarkdown之其他语言
- Java中数据类型的取值范围
- SpringBoot集成Flowable
- linux命令(实用)
- C语言排序方法-----二分插入排序
- c语言获取pmbus之pec值
- MIT-JOS系列5:用户环境(一)
- 黑苹果hackintosh wifi驱动安装
- 100 句世界哲学语录【句句珠玑细细品味】
- 一个好中医就是一座全科医院
- python图片logo_Python logo
- html页面图片自动缩放比例,html 图片按比例缩放
- 网易云课堂Web安全工程师课程分享——第一章 Web介绍
- linux 汇编 push rbp,无法从汇编(yasm)代码调用64位Linux上的C标准库函数
- Bootstrap实现表格分页
- ps软件哪个好?十年老用户推荐这两个给你