CN102820031A - 一种利用切割—分层构筑法的语音识别方法 - Google Patents

一种利用切割—分层构筑法的语音识别方法 Download PDF

Info

Publication number
CN102820031A
CN102820031A CN2012102845605A CN201210284560A CN102820031A CN 102820031 A CN102820031 A CN 102820031A CN 2012102845605 A CN2012102845605 A CN 2012102845605A CN 201210284560 A CN201210284560 A CN 201210284560A CN 102820031 A CN102820031 A CN 102820031A
Authority
CN
China
Prior art keywords
voice
frame
state
normalization
zcr
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2012102845605A
Other languages
English (en)
Other versions
CN102820031B (zh
Inventor
董月汉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Northwestern Polytechnical University
Original Assignee
Northwestern Polytechnical University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Northwestern Polytechnical University filed Critical Northwestern Polytechnical University
Priority to CN201210284560.5A priority Critical patent/CN102820031B/zh
Publication of CN102820031A publication Critical patent/CN102820031A/zh
Application granted granted Critical
Publication of CN102820031B publication Critical patent/CN102820031B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Telephonic Communication Services (AREA)

Abstract

本发明提供了一种利用切割—分层构筑法的语音识别方法,采集语音信号后对语音信号进行分帧,然后提取语音特征参数,计算每帧语音的归一化复杂度能量和归一化过零率,然后对语音进行切割,切割后每段语音只有单字或双字,最后对切割好的各段语音分别进行识别。本发明降低了识别效果对切割精度的依赖性,当两个字的发音连续难以切割时就采用两层分层构筑法对其进行识别,而两层分层构筑法的计算量可以接受,能够实时完成,这样就同时保证了识别效果和识别耗时。

Description

一种利用切割—分层构筑法的语音识别方法
技术领域
本发明涉及语音识别领域,尤其是连续语音识别技术。
背景技术
在连续语音识别技术中,通常采用两种方法,即通盘采用分层构筑法,或是先将语音信号进行切割成孤立字,再进行匹配得到结果。但是这两种方法各有利弊,若通盘采用分层构筑法,虽然识别率较高,但是计算量过大,难以实时完成,若采用切割方法,虽然计算量较小,但是识别效果严重依赖于切割精度,而在连续汉语语音中,有时难以准确地判断出字与字之间的界限,这样就会对识别效果造成影响。
发明内容
为了克服现有技术的不足,本发明提供一种利用切割—分层构筑法的语音识别方法,将分层构筑法和切割法结合,降低识别效果对切割精度的依赖程度,同时保证识别能够实时完成。
本发明解决其技术问题所采用的技术方案包括以下步骤:
步骤一:采集语音信号,采样频率f为8000Hz到12000Hz;
步骤二:依据采样频率f确定帧长len和帧移inc,对语音信号进行分帧,将语音信号分成每20~30毫秒一段,相邻两帧起始点之间的间隔为10毫秒,即两帧之间有10~20毫秒的交叠;
步骤三:提取语音特征参数,以MFCC参数为基础构建特征参数;
步骤四:计算每帧语音的归一化C0复杂度能量C0E0和归一化过零率ZCR0,计算方法如下:
1)归一化C0复杂度能量C0E0
(1)计算每帧语音的归一化短时能量e0(i)=e(i)/max(e),其中,
Figure BDA00001976201400011
xi(n)表示第i帧第n个语音数据;
(2)对每帧序列s(n)进行离散FFT变化转换到频域,得到幅度谱S(n);
(3)计算该帧幅度谱的平均值其中N为帧长;
(4)大于S0的频率部分属于规则部分,小于或等于S0的部分属于随机部分,在此只取规则部分成分,公式如下:
S ′ ( k ) = S ( k ) , S ( k ) > S 0 0 , S ( k ) ≤ S 0
(5)对规则部分成分的幅度谱S′(k)转化到频域并作IFFT变换,所得的s1(n)即为规则部分时间序列;
(6)求出总运动测度
Figure BDA00001976201400022
和随机运动测度
Figure BDA00001976201400023
即可求得每帧的C0复杂度
(7)令C*(n)=1-C(n),C0(n)=C*(n)/max(C*);
(8)令C0E(n)=C0(n)*e0(n),即可得到归一化的C0复杂度能量C0E0(n)=C0E(n)/max(C0E);
2)归一化过零率ZCR0
设定一个门限Δ1,当前后两个采样的符号不同,而且差值大于Δ1的时候,就将过零率的数值加1,这样即可得到过零率ZCR,再得到归一化过零率ZCR0(n)=ZCR(n)/max(ZCR);
步骤五:用下述方法对语音进行切割,切割后每段语音只有单字或双字;
(1)定义语音信号的四个状态,每帧语音只能处于其中之一,如表1说明;
表1语音信号状态说明
  状态号(Status)   状态说明
  0   语音前静音
  1   语音段
  2   语音中静音
  3   语音后静音
(2)确定状态转移条件,如表2说明:
表2状态转移条件
Figure BDA00001976201400031
表2中,silence为静音段已经持续的帧数,而Zcr1、Zcr2、Zcr3、C0E1、C0E2、minlen、maxsilence为由实验得到的门限值,con为当前语音段已经持续的帧数,silence为当前静音状态已经持续的帧数,Zcr0(n)为第n帧的归一化过零率,C0E0(n)为第n帧的归一化C0复杂度能量;
(3)开始切割:令状态号status的初始值为0,然后依据状态转移条件依次对每帧信号进行判断,若发生了状态0到状态1和状态2到状态1,则标记当前帧数为某一语音的起始点,若发生了状态1到状态2,则标记当前帧数为某一语音的结束点,当状态转移到3时,则标记当前帧数减去silence值为最后一个数字语音的结束点,并结束切割算法;
步骤六:对切割好的各段语音分别进行识别,若某段语音长度大于经验门限maxlen,则定义为双字部分,用两层分层构筑法对其进行识别,否则定义为单字部分,用孤立字的识别方法进行识别,在隐马尔科夫模型HMM下,用Viterbi算法进行识别。
本发明的有益效果是:降低了识别效果对切割精度的依赖性,当两个字的发音连续难以切割时就采用两层分层构筑法对其进行识别,而两层分层构筑法的计算量可以接受,能够实时完成,这样就同时保证了识别效果和识别耗时。
下面结合附图和实施例对本发明进一步说明。
附图说明
图1是连续语音信号“5678”的第一次切割示意图;
图2是连续语音信号“5678”的第二次切割结果示意图;
图3是本发明方法流程图。
具体实施方式
本发明包括以下步骤:
步骤一:采集语音信号,采样频率f在8000Hz到12000Hz范围中选择;
步骤二:依据采样频率f,确定帧长len和帧移inc,对语音信号进行分帧,将语音信号分成每20~30毫秒一段,相邻两帧起始点之间的间隔为10毫秒,即两帧之间有10~20毫秒的交叠;
步骤三:提取语音特征参数,以MFCC参数为基础构建特征参数;
步骤四:计算每帧语音的归一化C0复杂度能量(C0E0)和归一化过零率(ZCR0),计算方法如下:
1.归一化C0复杂度能量(C0E0):
(1)计算每帧语音的归一化短时能量(e0(i)),公式如下:
e ( i ) = Σ n = 1 N | x i ( n ) |
e0(i)=e(i)/max(e)
其中xi(n)表示第i帧第n个语音数据。
(2)对每帧序列s(n)进行离散FFT变化转换到频域,得到幅度谱S(n)。
(3)计算该帧幅度谱的平均值S0,公式为:
S 0 = 1 N Σ k = 1 N S ( k ) , 1 ≤ k ≤ N
其中N为帧长。
(4)大于S0的频率部分属于规则部分,小于或等于S0的部分属于随机部分,在此只取规则部分成分,公式如下:
S ′ ( k ) = S ( k ) , S ( k ) > S 0 0 , S ( k ) ≤ S 0
(5)对规则部分成分的幅度谱S′(k)转化到频域并作逆傅立叶(IFFT)变换,所得的s1(n)即为规则部分时间序列。
(6)利用公式:
A 0 = Σ t N | s ( t ) |
A 1 = Σ t N | s ( t ) - s 1 ( t ) |
求出总运动测度A0和随机运动测度A1,代入如下公式:
C = A 1 A 0
即可求得每帧的C0复杂度(C(n))。
(7)令:
C*(n)=1-C(n)
C0(n)=C*(n)/max(C*)
(8)令:
C0E(n)=C0(n)*e0(n)
C0E0(n)=C0E(n)/max(C0E)
即可得到归一化的C0复杂度能量(C0E0)。
2.归一化过零率(ZCR0):
过零率即为一帧信号中波形穿越零电平的次数。实际应用中,为避免静音段的随机噪音产生过高的过零率,通常都先设定一个由经验确定的门限Δ1,当前后两个采样的符号不同,而且差值大于Δ1的时候,就将过零率的数值加1,这样即可得到过零率ZCR,再令:
ZCR0(n)=ZCR(n)/max(ZCR)
得到归一化过零率ZCR0
步骤五:用下述方法对语音进行切割,切割后每段语音只有单字或双字。
(2)定义语音信号的四个状态,每帧语音只能处于其中之一,如表1说明;
表1语音信号状态说明
  状态号(Status)   状态说明
  0   语音前静音
  1   语音段
  2   语音中静音
  3   语音后静音
(2)确定状态转移条件,如表2说明:
表2状态转移条件
表2中,silence为静音段已经持续的帧数,而Zcr1、Zcr2、Zcr3、C0E1、C0E2、minlen、maxsilence为由实验得到的门限值,con为当前语音段已经持续的帧数,silence为当前静音状态已经持续的帧数,Zcr0(n)为第n帧的归一化过零率,C0E0(n)为第n帧的归一化C0复杂度能量,这两组数据已经在步骤三中求得。
(3)开始切割:令状态号(status)的初始值为0,然后依据状态转移条件依次对每帧信号进行判断,若发生了从静音状态到语音状态的转移(包括状态0到状态1和状态2到状态1),则标记当前帧数为某一语音的起始点,若发生了从语音状态到静音状态的转移(状态1到状态2)则标记当前帧数为某一语音的结束点,当状态转移到3时,则标记当前帧数减去silence值为最后一个数字语音的结束点,并结束切割算法。这样就得到相同个数的起始点和结束点,且对应起始点和结束点之间即为切割后得到的各个语音段。经过上述切割,可以得到只有单字或双字的语音段。
步骤六:对切割好的各段语音分别进行识别,若某段语音长度大于经验门限maxlen,则定义为双字部分,用两层分层构筑法对其进行识别,否则定义为单字部分,用孤立字的识别方法进行识别,在隐马尔科夫模型(HMM)下,用Viterbi算法进行识别。
两层分层构筑法是在已知一段语音只包含两个字时的识别方法,其核心思想是对该段语音进行遍历,寻找最佳切割点,使得前后两段语音各自与模板的匹配分数之和最佳。下面给出在隐马尔科夫模型下的两层分层构筑法:
(1)初始化:
P ′ ( m , b , e ) = max 1 ≤ v ≤ V P ( v , m , b , e )
p ‾ 1 ( e ) = - ∞ , 1 ≤ e ≤ length ( m )
p ‾ 2 ( e ) = - ∞ , 1 ≤ e ≤ length ( m )
(2)对e从2到length(m)-1循环:
p ‾ 1 ( e ) = P ′ ( m , 1 , e )
p ‾ 2 ( e ) = P ′ ( m , e + 1 , length ( m ) )
N 1 ( e ) = arg max 1 ≤ v ≤ V P ′ ( m , 1 , e )
N 2 ( e ) = arg max 1 ≤ v ≤ V P ′ ( m , e + 1 , length ( m ) )
(3)确定识别结果:
P 0 = P ‾ 1 ( e ) + p ‾ 2 ( e )
n 0 = arg max 1 ≤ e ≤ length ( m ) P 0 ( e )
则待识别的两个字的序号为N1(n0)和N2(n0)。
其中,P(v,m,b,e)表示语音参数m的第b帧与第e帧之间的部分与语音模板v匹配的概率,在计算时取对数。
在进行两层分层构筑法时,为了减小识别效果对切割精度或说话方式依赖程度,需对切割后两段语音的长度进行限制,即切割后前后两段语音的帧数必须都大于α×L(α为一经验系数,L为需用两层分层构筑法进行识别的语音段的帧数),才将这两段语音各自的匹配结果一起输出,否则只将长度较长的一段语音的匹配结果输出。
实施案例
实施条件:算法所需的参数如表3所示
表3参数说明
  参数符号   参数说明   参数值
  f   采样频率   8000
  len   帧长   256
inc   帧移   80
  Δ1   门限   0.02
  α   门限   0.2
  Zcr1   门限   0.05
  Zcr2   门限   0.15
  Zcr3   门限   0.5
  C0E1   门限   0.05
  C0E2   门限   0.15
  minlen   门限   15
  maxsilence   门限   15
  maxlen   门限   35
另外,每帧语音的特帧参数由12维的MFCC参数和12维的MFCC差分参数共12维数据构成,语音模型为4状态从左到右无跳转的隐马尔科夫模型。
实施结果:图1为语音信号“5678”的第一次切割结果,图2为同一语音信号经过两层分层构筑法后得到的切割结果。

Claims (1)

1.一种利用切割—分层构筑法的语音识别方法,其特征在于包括下述步骤:
步骤一:采集语音信号,采样频率f为8000Hz到12000Hz;
步骤二:依据采样频率f确定帧长len和帧移inc,对语音信号进行分帧,将语音信号分成每20~30毫秒一段,相邻两帧起始点之间的间隔为10毫秒,即两帧之间有10~20毫秒的交叠;
步骤三:提取语音特征参数,以MFCC参数为基础构建特征参数;
步骤四:计算每帧语音的归一化C0复杂度能量C0E0和归一化过零率ZCR0,计算方法如下:
1)归一化C0复杂度能量C0E0
(1)计算每帧语音的归一化短时能量e0(i)=e(i)/max(e),其中,
Figure FDA00001976201300011
xi(n)表示第i帧第n个语音数据;
(2)对每帧序列s(n)进行离散FFT变化转换到频域,得到幅度谱S(n);
(3)计算该帧幅度谱的平均值
Figure FDA00001976201300012
其中N为帧长;
(4)大于S0的频率部分属于规则部分,小于或等于S0的部分属于随机部分,在此只取规则部分成分,公式如下:
S ′ ( k ) = S ( k ) , S ( k ) > S 0 0 , S ( k ) ≤ S 0
(5)对规则部分成分的幅度谱S′(k)转化到频域并作IFFT变换,所得的s1(n)即为规则部分时间序列;
(6)求出总运动测度
Figure FDA00001976201300014
和随机运动测度
Figure FDA00001976201300015
即可求得每帧的C0复杂度
(7)令C*(n)=1-C(n),C0(n)=C*(n)/max(C*);
(8)令C0E(n)=C0(n)*e0(n),即可得到归一化的C0复杂度能量C0E0(n)=C0E(n)/max(C0E);
2)归一化过零率ZCR0
设定一个门限Δ1,当前后两个采样的符号不同,而且差值大于Δ1的时候,就将过零率的数值加1,这样即可得到过零率ZCR,再得到归一化过零率ZCR0(n)=ZCR(n)/max(ZCR);
步骤五:用下述方法对语音进行切割,切割后每段语音只有单字或双字;
(1)定义语音信号的四个状态,每帧语音只能处于其中之一,如表1说明;
表1语音信号状态说明
  状态号(Status)   状态说明   0   语音前静音   1   语音段   2   语音中静音   3   语音后静音
(2)确定状态转移条件,如表2说明:
表2状态转移条件
Figure FDA00001976201300021
表2中,silence为静音段已经持续的帧数,而Zcr1、Zcr2、Zcr3、C0E1、C0E2、minlen、maxsilence为由实验得到的门限值,con为当前语音段已经持续的帧数,silence为当前静音状态已经持续的帧数,Zcr0(n)为第n帧的归一化过零率,C0E0(n)为第n帧的归一化C0复杂度能量;
(3)开始切割:令状态号status的初始值为0,然后依据状态转移条件依次对每帧信号进行判断,若发生了状态0到状态1和状态2到状态1,则标记当前帧数为某一语音的起始点,若发生了状态1到状态2,则标记当前帧数为某一语音的结束点,当状态转移到3时,则标记当前帧数减去silence值为最后一个数字语音的结束点,并结束切割算法;
步骤六:对切割好的各段语音分别进行识别,若某段语音长度大于经验门限maxlen,则定义为双字部分,用两层分层构筑法对其进行识别,否则定义为单字部分,用孤立字的识别方法进行识别,在隐马尔科夫模型HMM下,用Viterbi算法进行识别。
CN201210284560.5A 2012-08-06 2012-08-06 一种利用切割—分层构筑法的语音识别方法 Expired - Fee Related CN102820031B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210284560.5A CN102820031B (zh) 2012-08-06 2012-08-06 一种利用切割—分层构筑法的语音识别方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210284560.5A CN102820031B (zh) 2012-08-06 2012-08-06 一种利用切割—分层构筑法的语音识别方法

Publications (2)

Publication Number Publication Date
CN102820031A true CN102820031A (zh) 2012-12-12
CN102820031B CN102820031B (zh) 2014-06-11

Family

ID=47304116

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210284560.5A Expired - Fee Related CN102820031B (zh) 2012-08-06 2012-08-06 一种利用切割—分层构筑法的语音识别方法

Country Status (1)

Country Link
CN (1) CN102820031B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107346659A (zh) * 2017-06-05 2017-11-14 百度在线网络技术(北京)有限公司 基于人工智能的语音识别方法、装置及终端
CN111883169A (zh) * 2019-12-12 2020-11-03 马上消费金融股份有限公司 一种音频文件切割位置处理方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06324696A (ja) * 1993-05-17 1994-11-25 Casio Comput Co Ltd 音声認識装置及び方法
US20040002863A1 (en) * 2002-06-27 2004-01-01 Intel Corporation Embedded coupled hidden markov model
CN101149922A (zh) * 2006-09-21 2008-03-26 株式会社东芝 语音识别装置和语音识别方法
CN101158967A (zh) * 2007-11-16 2008-04-09 北京交通大学 一种基于分层匹配的快速音频广告识别方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06324696A (ja) * 1993-05-17 1994-11-25 Casio Comput Co Ltd 音声認識装置及び方法
US20040002863A1 (en) * 2002-06-27 2004-01-01 Intel Corporation Embedded coupled hidden markov model
CN101149922A (zh) * 2006-09-21 2008-03-26 株式会社东芝 语音识别装置和语音识别方法
CN101158967A (zh) * 2007-11-16 2008-04-09 北京交通大学 一种基于分层匹配的快速音频广告识别方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107346659A (zh) * 2017-06-05 2017-11-14 百度在线网络技术(北京)有限公司 基于人工智能的语音识别方法、装置及终端
CN107346659B (zh) * 2017-06-05 2020-06-23 百度在线网络技术(北京)有限公司 基于人工智能的语音识别方法、装置及终端
CN111883169A (zh) * 2019-12-12 2020-11-03 马上消费金融股份有限公司 一种音频文件切割位置处理方法及装置
CN111883169B (zh) * 2019-12-12 2021-11-23 马上消费金融股份有限公司 一种音频文件切割位置处理方法及装置

Also Published As

Publication number Publication date
CN102820031B (zh) 2014-06-11

Similar Documents

Publication Publication Date Title
CN105118502B (zh) 语音识别***的端点检测方法及***
CN103886871B (zh) 语音端点的检测方法和装置
CN105529028B (zh) 语音解析方法和装置
CN101625858B (zh) 语音端点检测中短时能频值的提取方法
CN104200804A (zh) 一种面向人机交互的多类信息耦合的情感识别方法
CN101625862B (zh) 自动字幕生成***中语音区间的检测方法
CN101226743A (zh) 基于中性和情感声纹模型转换的说话人识别方法
CN106297776A (zh) 一种基于音频模板的语音关键词检索方法
CN101625857A (zh) 一种自适应的语音端点检测方法
CN105374352A (zh) 一种语音激活方法及***
CN102800314A (zh) 具有反馈指导的英语句子识别与评价***及其方法
CN103077728B (zh) 一种病人虚弱语音端点检测方法
CN104078039A (zh) 基于隐马尔科夫模型的家用服务机器人语音识别***
CN110060665A (zh) 语速检测方法及装置、可读存储介质
CN104732969A (zh) 语音处理***及语音处理方法
CN106531157A (zh) 语音识别中的正则化口音自适应方法
CN103440863A (zh) 一种基于流形的语音情感识别方法
CN101290766A (zh) 安多藏语语音音节切分的方法
CN102789779A (zh) 一种语音识别***及其识别方法
Adami et al. A new speaker change detection method for two-speaker segmentation
CN105469807A (zh) 一种多基频提取方法及装置
CN106782508A (zh) 语音音频的切分方法和语音音频的切分装置
CN105280181A (zh) 一种语种识别模型的训练方法及语种识别方法
CN112002347B (zh) 语音检测方法、装置和电子设备
CN111883181A (zh) 音频检测方法、装置、存储介质及电子装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140611

Termination date: 20150806

EXPY Termination of patent right or utility model