一种口语比对方法与流程

文档序号:12476056阅读:205来源:国知局

本发明涉及语言沟通领域,尤其涉及一种口语比对方法。



背景技术:

语音是语言的声学表现,是人类交流信息的手段。使人们能更加有效地产生、传输、存储和获取语言信息,促进了社会的发展。

随着我国改革开放和对外合作的不断深化,商务往来、文化交流、跨国旅游等活动日益频繁,越来越多的人需要学习一门外语。学习者学习外语存在的问题是发音不准确,学习者无法获悉在同一文本下,自身的发音与标准的发音存在哪些问题,这样给学习者带来了较大的困扰,而且也影响学到外语的效率。



技术实现要素:

为了克服上述现有技术中的不足,本发明的目的在于,提供一种口语比对方法,方法包括:

S1:设置标准文本,获取标准文本的标准语音特征,将标准语音特征储存至数据库中;

S2:通过用户朗读标准文本,获取用户语音数据,提取用户语音数据中的用户语音特征;

S3:将用户语音特征与标准语音特征进行对齐,并将用户语音特征与标准语音特征进行对比;

S4:将用户语音特征及对比结果储存至数据库中。

优选地,步骤S2还包括:

S21将用户语音数据按时间进行分段,分为n段,以20ms为一时间分段,对每一时间段用户语音数据加矩形窗,或汉明窗处理得到分段语音信号Xn,n为分段数;

S22对分段语音信号Xn进行短时傅里叶变换,变换为频域信号,将短时时域信号转化为频域信号Yn,并通过Qn=│Yn2计算其短时能量谱Qn

S23采用先进先出的方式将短时能量谱Qn从矢量空间S移动至带通滤波器进行滤波;由于每一个频带中分量的作用在人耳中是叠加的,因此将每个滤波器频带内的能量进行叠加,这时第k个滤波器输出功率谱x'(k);

S24将每个滤波器的输出取对数,得到相应频带的对数功率谱;并进行反离散余弦变换,得到M个MFCC系数,一般M取13~15个;MFCC系数为:

S25将得到的MFCC特征作为静态特征,再将所述静态特征做一阶和二阶差分,得到相应的动态特征。

优选地,步骤S2还包括:

获取每一语音段频率范围的频谱能量(fk),该语音段内的频率上限值k1,下限值k2,获取语音段内的频谱能量比值PNn

优选地,步骤S3还包括:

若语音段内频谱能量(fk)≥第一阈值,该语音段内频谱能量比值PNn≥第二阈值,则判断此语音段为母音段;第一阈值0.1-0.5,第二阈值取60%-85%;

以具有母音段的频谱能量为基准,判断具有母音段的频谱能量之前的频谱能量的过零率是否大于第三阈值,若大于第三阈值,则断定该频谱能量为母音前的辅音,第三阈值取100;

以具有母音段的频谱能量为基准,判断具有母音段的频谱能量之后的频谱能量的过零率是否大于第三阈值,若大于第三阈值,则判断该频谱能量为母音后的辅音;

若具有母音段的频谱能量之后的频谱能量的过零率大于第三阈值,且该频谱能量为语音段的最后一帧,则判断为鼻尾辅音。

优选地,步骤S1还包括:

将标准语音特征按时间进行分段,分为n段,以20ms为一时间分段;

将每一时间段标准语音特征分为静态特征及动态特征;

将每一时间段标准语音特征的频谱能量进行分解,分解出每一时间段标准语音特征的母音段的频谱能量分布以及辅音段的频谱能量分布;

设置每一时间段内标准语音特征的母音段MFCC特征向量,辅音段MFCC特征向量。

优选地,步骤S3还包括:

设置每一时间段内用户语音特征的母音段MFCC特征向量,辅音段MFCC特征向量;

使用DTW算法,得到一条误差最小的对齐路径以,得到一条误差最小的对齐路径和对应的DTW距离;

基于该对齐路径和对应的DTW距离,将相同时间段内用户语音特征的母音段MFCC特征向量与标准语音特征的母音段MFCC特征向量进行语音比较以及将相同时间段内用户语音特征的辅音段MFCC特征向量与标准语音特征的辅音段MFCC特征向量进行语音比较,得出用户语音特征与标准语音特征之间的发音差别。

优选地,步骤S1还包括:

设置每一时间段内标准语音特征的母音段标准语音特征向量为P1=[p1(1),p1(2),…,p1(R)],一阶差分向量为PΔ1=[pΔ1(1),pΔ1(2),…,pΔ1(R)](R为标准语音特征的母音段语音长度),PΔ1(n)=|p1(n)-p1(n-1)|,n=1,2,…,R,p1(0)=0;

设置每一时间段内标准语音特征的辅音段标准语音特征向量为P’1=[p’1(1),p’1(2),…,p’1(R)],一阶差分向量为P’Δ1=[p’Δ1(1),p’Δ1(2),…,p’Δ1(R)](R为标准语音特征的语音长度),P’Δ1(n)=|p’1(n)-p’1(n-1)|,n=1,2,…,R,p’1(0)=0;

优选地,步骤S3还包括:

设置每一时间段内用户语音特征的母音段特征向量为P2=[p2(1),p2(2),…,p2(T)],其一阶差分向量为PΔ2=[pΔ2(1),pΔ2(2),…,pΔ2(T)](T为待评价语音的长度),PΔ2(n)=|p2(n)-p2(n-1)|,n=1,2,…,T,p2(0)=0;

设置每一时间段内用户语音特征的辅音段特征向量为P’2=[p’2(1),p’2(2),…,p’2(T)],其一阶差分向量为P’Δ2=[p’Δ2(1),p’Δ2(2),…,p’Δ2(T)](T为待评价语音的长度),P’Δ2(n)=|p’2(n)-p’2(n-1)|,n=1,2,…,T,p’2(0)=0;

使用DTW算法,得到一条误差最小的对齐路径以,得到一条误差最小的对齐路径,进行每一时间段内的母音段和辅音段比较;

比较得出母音段的差距dp,以及变化量的差距Δdp,比较得出辅音段的差距d’p,以及变化量的差距Δd’p,来获得用户语音特征与标准语音特征的相似度,即:

dp=|p1(n)-p2(m)|

d’p=|p’1(n)-p’2(m)|

Δdp=|Δp1(n)-Δp2(m)|

Δd’p=|Δp’1(n)-Δp’2(m)|

其中,Δpi(n)=|pi(n)-pi(n-1)|

Δp’i(n)=|p’i(n)-p’i(n-1)|。

从以上技术方案可以看出,本发明具有以下优点:

口语比对方法使得用户与计算机获取同样的一片文本,进行朗读对比,使用户能够获悉到自己的口语与标准的口语有哪些词语发音不准确,还需要在哪些词语进行改进及进一步学习。这样给学习者带来了学习语言的便捷性,提高外语学习的效率,增加用户学习兴趣。

附图说明

图1为口语比对方法的流程图。

具体实施方式

为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将运用具体的实施例及附图,对本发明保护的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本专利中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本专利保护的范围。

本发明提供一种口语比对方法,如图1所示,本方法采用一标准文本,计算机先获取该标准文本的内容,并获取标准文本的标准读音。本发明所涉及的方法是基于计算机硬件配合相应的程序实现。这样用户与计算机获取同样的一片文本,进行朗读对比,使得用户能够获悉到自己的口语与标准的口语有哪些词语发音不准确,还需要在哪些词语进行改进及进一步学习。这样给学习者带来了学习语言的便捷性,提高外语学习的效率,增加用户学习兴趣。

方法包括:

S1:设置标准文本,获取标准文本的标准语音特征,将标准语音特征储存至数据库中;

S2:通过用户朗读标准文本,获取用户语音数据,提取用户语音数据中的用户语音特征;

S3:将用户语音特征与标准语音特征进行对齐,并将用户语音特征与标准语音特征进行对比;

S4:将用户语音特征及对比结果储存至数据库中。

步骤S2还包括:

S21将用户语音数据按时间进行分段,分为n段,以20ms为一时间分段,对每一时间段用户语音数据加矩形窗,或汉明窗处理得到分段语音信号Xn,n为分段数;

S22对分段语音信号Xn进行短时傅里叶变换,变换为频域信号,将短时时域信号转化为频域信号Yn,并通过Qn=│Yn2计算其短时能量谱Qn

S23采用先进先出的方式将短时能量谱Qn从矢量空间S移动至带通滤波器进行滤波;由于每一个频带中分量的作用在人耳中是叠加的,因此将每个滤波器频带内的能量进行叠加,这时第k个滤波器输出功率谱x'(k);

S24将每个滤波器的输出取对数,得到相应频带的对数功率谱;并进行反离散余弦变换,得到M个MFCC系数,一般M取13~15个;MFCC系数为:

S25将得到的MFCC特征作为静态特征,再将所述静态特征做一阶和二阶差分,得到相应的动态特征。

本实施例中,步骤S2还包括:

获取每一语音段频率范围的频谱能量(fk),该语音段内的频率上限值k1,下限值k2,获取语音段内的频谱能量比值PNn

步骤S3还包括:

若语音段内频谱能量(fk)≥第一阈值,该语音段内频谱能量比值PNn≥第二阈值,则判断此语音段为母音段;第一阈值0.1-0.5,第二阈值取60%-85%;

以具有母音段的频谱能量为基准,判断具有母音段的频谱能量之前的频谱能量的过零率是否大于第三阈值,若大于第三阈值,则断定该频谱能量为母音前的辅音,第三阈值取100;

以具有母音段的频谱能量为基准,判断具有母音段的频谱能量之后的频谱能量的过零率是否大于第三阈值,若大于第三阈值,则判断该频谱能量为母音后的辅音;

若具有母音段的频谱能量之后的频谱能量的过零率大于第三阈值,且该频谱能量为语音段的最后一帧,则判断为鼻尾辅音。

将用户的每一语音段进行分解得出母音段,辅音段以及在语音段的最后一帧是否有鼻尾辅音,鼻尾辅音即为鼻音。

在计算机预先设置了标准文本中每一语音段的母音段,辅音段以及在语音段的最后一帧是否有鼻尾辅音,鼻尾辅音即为鼻音。将用户朗读的每一语音段的母音段,辅音段以及在语音段的最后一帧的鼻尾辅音,分别与标准语音特征进行比较。

步骤S1还包括:

将标准语音特征按时间进行分段,分为n段,以20ms为一时间分段;

将每一时间段标准语音特征分为静态特征及动态特征;

将每一时间段标准语音特征的频谱能量进行分解,分解出每一时间段标准语音特征的母音段的频谱能量分布以及辅音段的频谱能量分布;

设置每一时间段内标准语音特征的母音段MFCC特征向量,辅音段MFCC特征向量。

步骤S3还包括:

设置每一时间段内用户语音特征的母音段MFCC特征向量,辅音段MFCC特征向量;

使用DTW算法,得到一条误差最小的对齐路径以,得到一条误差最小的对齐路径和对应的DTW距离;

基于该对齐路径和对应的DTW距离,将相同时间段内用户语音特征的母音段MFCC特征向量与标准语音特征的母音段MFCC特征向量进行语音比较以及将相同时间段内用户语音特征的辅音段MFCC特征向量与标准语音特征的辅音段MFCC特征向量进行语音比较,得出用户语音特征与标准语音特征之间的发音差别。

步骤S1还包括:

设置每一时间段内标准语音特征的母音段标准语音特征向量为P1=[p1(1),p1(2),…,p1(R)],一阶差分向量为PΔ1=[pΔ1(1),pΔ1(2),…,pΔ1(R)](R为标准语音特征的母音段语音长度),PΔ1(n)=|p1(n)-p1(n-1)|,n=1,2,…,R,p1(0)=0;

设置每一时间段内标准语音特征的辅音段标准语音特征向量为P’1=[p’1(1),p’1(2),…,p’1(R)],一阶差分向量为P’Δ1=[p’Δ1(1),p’Δ1(2),…,p’Δ1(R)](R为标准语音特征的语音长度),P’Δ1(n)=|p’1(n)-p’1(n-1)|,n=1,2,…,R,p’1(0)=0;

步骤S3还包括:

设置每一时间段内用户语音特征的母音段特征向量为P2=[p2(1),p2(2),…,p2(T)],其一阶差分向量为PΔ2=[pΔ2(1),pΔ2(2),…,pΔ2(T)](T为待评价语音的长度),PΔ2(n)=|p2(n)-p2(n-1)|,n=1,2,…,T,p2(0)=0;

设置每一时间段内用户语音特征的辅音段特征向量为P’2=[p’2(1),p’2(2),…,p’2(T)],其一阶差分向量为P’Δ2=[p’Δ2(1),p’Δ2(2),…,p’Δ2(T)](T为待评价语音的长度),P’Δ2(n)=|p’2(n)-p’2(n-1)|,n=1,2,…,T,p’2(0)=0;

使用DTW算法,得到一条误差最小的对齐路径以,得到一条误差最小的对齐路径,进行每一时间段内的母音段和辅音段比较;

比较得出母音段的差距dp,以及变化量的差距Δdp,比较得出辅音段的差距d’p,以及变化量的差距Δd’p,来获得用户语音特征与标准语音特征的相似度,即:

dp=|p1(n)-p2(m)|

d’p=|p’1(n)-p’2(m)|

Δdp=|Δp1(n)-Δp2(m)|

Δd’p=|Δp’1(n)-Δp’2(m)|

其中,Δpi(n)=|pi(n)-pi(n-1)|

Δp’i(n)=|p’i(n)-p’i(n-1)|。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1