一种基于语音识别的音字同步方法

文档序号:26057580发布日期:2021-07-27 15:36阅读:249来源:国知局
一种基于语音识别的音字同步方法

本发明属于语音识别技术领域,涉及一种基于语音识别的音字同步方法,具体是一种通过音频分析计算每字起止时间以实现文字显示与声音完全同步的方法。



背景技术:

随着我国智能技术的飞速发展,语音识别技术的提高对于许多技术来说显得尤为重要,语音识别技术也得到了飞速的发展。但是语音识别技术的发展多见于不同语种的识别,不同的识别方式,通过各种方法来达到更好的识别效果与更快的识别速度以及更广的识别范围,但是缺乏一种技术的研究方向是识别的同时给出每一个字在音频中的时间,现有技术中只能给出一段话在音频中的时间。本发明的目的正是为了解决这个问题,以实现识别出的文字显示与说话人吐字同步,同时本技术也可应用到更广泛的领域中。



技术实现要素:

本发明为解决现有技术中存在的问题,在语音识别时得到单个字在音频中的起始时间与结束时间,并实现文字显示与声音同步,借此解决观看视频效果时无法使识别出的文字显示与说话人吐字同步问题。

本发明公开的一种基于语音识别的音字同步方法,包括如下步骤:

步骤1:提取待处理的视频中的音频,并对所提取的音频进行端点检测、降噪,具体为:

步骤1.1:首先将音频按照时长与采样率进行分帧,根据式(1)计算每一帧的时长,最后将每一帧乘上汉明窗;

其中,t表示音频帧时长,n表示一个aac帧对应的采样点个数,v表示采样频率;

步骤1.2:根据式(2)计算每一帧的能量值,

其中,en表示第n帧的能量,xni表示第n帧第i个采样点的频率,n表示每帧采样点的总数;

步骤1.3:根据步骤1.2得到的能量值计算出前10帧的平均能量值ea,若存在某一帧满足它之前连续100帧每帧的能量值小于ea且之后连续100帧每帧能量值大于ea,则将该帧的起始时刻作为前端点,反之将该帧的结束时刻作为后端点,一对前后端点间的时间代表人说这句话的时间,一对前后端点间表示这句话;

步骤1.4:取音频起始处50帧的语音作为背景音,将所取的50帧的语音以每组10帧分为5组,对每组的语音帧进行傅里叶变换,求得每组的频谱,并求5组的频谱平均值,得到10帧长度的频谱作为噪声频谱;对整个音频的全部语音进行傅里叶变换求出频谱,使用噪声频谱进行补偿,即两者相减,再使用傅里叶逆变换得到正常的降噪后的音频,其中噪声频谱图如图1所示,为使图明显,此处噪声频谱图时长为3s;

步骤2:对音频进行特征值提取,具体为:对步骤1)降噪后的音频进行mfcc语音特征提取,通过预加重、分帧、加窗、离散傅里叶变换、应用mel滤波器、对频谱离散余弦变换和动态差分参数提取,得到每一帧音频的特征值c;

步骤3:通过声音模型和语言模型识别音频中的语音,具体为:根据式(3)求出语音对应概率最高的文本段,记录对应于每个字发音的特征值ci;

s*=argmaxp(s|c)(3)

其中,c表示输入的音频的特征值,s表示输入的语音特征c对应的概率,s*表示计算得到的最高的文本段概率;

步骤4:根据特征值得出每个字的起止时间,具体为:根据每个字发音的特征值ci,与步骤2中得到的每一帧音频的特征值c按序进行对比,按序找到每个ci所在位置,得到每个字所占的帧的位置,再根据式(4)和(5)计算第i个字的起始时间和结束时间;

tib=tb+(nib-1)*t(4)

tie=tb+nie*t(5)

其中,tib表示第i个字的起始时间,tb表示前端点对应时间,nib表示第i个字的起始帧为该段语音的第几帧,t表示每一帧对应原音频的长度,tie表示第i个字的结束时间,nie表示第i个字的结束帧为该段语音的第几帧;

步骤5:将文字显示与语音完全同步,具体为:

步骤5.1:在vue框架中通过操作dom的duration函数获得音频的总时长t1,单位为ms,在视频开始播放时,操作dom的oncanplay函数传递t1触发事件a,其中,事件a表示将显示的文本清空;

步骤5.2:将每个字按起始时间进行升序排序,令持续时间t2=结束时间-起始时间,通过currenttime函数获得音频当前播放时间t3;

步骤5.3:设置标识位tn=0,令tn自增,若满足tn=t3且与当前对象的begintime属性相同时,表示当前字的视频与音频同步,开始显示文字,触发vue中通过watch监听的order数值,order表示当前话语的顺序号(即当前视频中的第几句话),order数值发生变化时,将当前这句话赋值给在页面中显示的字符串,通过javascript的settimeout函数将该字显示时间为持续时间t2,单位为毫秒;

步骤5.4:根据步骤1.3得到的该句话的结束时间t4,若tn≠t4则认定这句话未说完,将与下一个字出现的起始时间之间的时间作无效处理,即不采取任何操作;若tn=t4,则将显示文本清空,重复步骤5.4,进行下一句话的显示,从而利用vue的双向绑定完成文字显示与语音的完全同步。

通过采用上述技术,与现有技术相比,本发明的有益效果为:

本发明通过记录语音识别时对应字的特征值,与之前特征值提取时按序对比,得到识别结果中每个字在音频中的起始时间与结束时间,并实现音字同步,可以在语音识别效果检测和视频制作领域起到巨大作用。

附图说明

图1为本发明的噪声频谱图的灰度图;

图2为音字同步后,说话人刚说到“那集合”三字时效果示意图;

图3为图1经过1s左右说话人继续说话后的效果示意图。

具体实施方式

下面结合实施例来详细阐述本发明的音字同步方法的具体实施方式。

如图1-3所示,本发明公开的基于语音识别的音字显示同步方法,首先通过对待处理视频中的音频进行提取,并进行端点检测得到音频中人说话的前后端点,然后对音频进行降噪提取特征值,再通过声音模型和语言模型进行语音识别,然后根据识别出的字的特征值判断该字的起止时间,当音频当前播放时间与起始时间相同时,利用vue的双向绑定机制在屏幕中显示该字,具体包括如下步骤:

步骤1:提取待处理的视频中的音频,并对所提取的音频进行端点检测、降噪,具体为:

步骤1.1:首先将音频按照时长与采样率进行分帧,根据式(1)计算每一帧的时长;最后将每一帧乘上汉明窗;

其中,t为音频帧时长,n为一个aac帧对应的采样点个数,v为采样频率;

步骤1.2:根据式(2)计算每一帧的能量值,

其中,en为第n帧的能量,xni为第n帧第i个采样点的频率;

步骤1.3:根据步骤1.2得到的能量值计算出前10帧的平均能量值ea,若存在某一帧满足它之前连续100帧每帧的能量值小于ea且之后连续100帧每帧能量值大于ea,则将该帧的起始时刻作为前端点,反之将该帧的结束时刻作为后端点,一对前后端点间的时间代表人说这句话的时间,一对前后端点间表示这句话;

步骤1.4:取音频起始处50帧的语音作为背景音,将这50帧的语音以每组10帧分为5组,对每组的语音帧进行傅里叶变换求频谱,并对这些组的频谱求平均,对全部语音进行傅里叶变换求出频谱后使用噪声频谱进行补偿,即两者相减,然后使用傅里叶逆变换即得到正常的降噪后的音频,其中噪声频谱图如图1所示,为使图明显,此处噪声频谱图时长为3s;

步骤2:对音频进行特征值提取,具体为:对于处理过的音频进行mfcc语音特征提取,通过预加重、分帧、加窗、离散傅里叶变换、应用mel滤波器、对频谱离散余弦变换和动态差分参数提取,得到每一帧音频的特征值;

步骤3:通过声音模型和语言模型识别音频中的语音,具体为:根据式(3)求出语音对应概率最高的文本段,记录对应于每个字发音的特征值ci;

s*=argmaxp(s|c)(3)

其中,c表示输入的语音特征,s表示输入的语单特征c对应的概率,s*表示计算得到的最高的文本段概率;

步骤4:根据特征值得出每个字的起止时间,具体为:根据每个字发音的特征值ci,与步骤2中得到的特征值c按序进行对比,按序找到每个ci所在位置得到每个字所占的帧的位置,然后根据式(4)和(5)计算第i个字的起始时间和结束时间;

tib=tb+(nib-1)*t(4)

tie=tb+nie*t(5)

其中,tib表示第i个字的起始时间,tb表示前端点对应时间,nib表示第i个字的起始帧为该段语音的第几帧,t表示每一帧对应原音频的长度,tie表示第i个字的结束时间,nie表示第i个字的结束帧为该段语音的第几帧;

步骤5:将文字显示与语音完全同步,具体为:

步骤5.1:在vue框架中通过操作dom的duration函数获得音频的总时长t1,单位为ms,在视频开始播放时,操作dom的oncanplay函数传递t1触发事件a,其中,事件a表示将显示的文本清空;

步骤5.2:将每个字按起始时间进行升序排序,令持续时间t2=结束时间-起始时间,通过currenttime函数获得音频当前播放时间t3;

步骤5.3:设置标识位tn=0,令tn自增,若满足tn=t3且与当前对象的begintime属性相同时,表示当前字的视频与音频同步,开始显示文字,触发vue中通过watch监听的order数值,order表示当前话语的顺序号(即当前视频中的第几句话),order数值发生变化时,将当前这句话赋值给在页面中显示的字符串,通过javascript的settimeout函数将该字显示时间为持续时间t2,单位为毫秒;

步骤5.4:根据步骤1.3得到的该句话的结束时间t4,若tn≠t4则认定这句话未说完,将与下一个字出现的起始时间之间的时间作无效处理,即不采取任何操作;若tn=t4,则将显示文本清空,重复步骤5.4,进行下一句话的显示,从而利用vue的双向绑定完成文字显示与语音的完全同步;得到的效果示意图如图2、图3所示,两张图对应的视频时间点不同,图2为说话人刚说完文字段“那集合”的显示效果,图3为说话人继续说话1s过程中依次显示的“有什么,集合干什么”。

本说明书实施例所述的内容仅仅是对发明构思的实现形式的列举,本发明的保护范围的不应当被视为仅限于实施例所陈述的具体形式,本发明的保护范围也及于本领域技术人员根据本发明构思所能够想到的等同技术手段。

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