自适应阈值的语音端点检测方法及系统与流程
- 国知局
- 2024-06-21 11:48:11
本发明涉及语音识别,尤其涉及自适应阈值的语音端点检测方法及系统。
背景技术:
1、科技产品的进步,便利了人们的生活,很多文字交流的场景已经被语音替代。通过语音就可以控制机器。在识别语音的过程中,如果噪音严重,就会有很大的困难;解决的方式就是进行语音端点分析。语音端点分析是指从带有噪声的语音中准确地定位出语音的开始点和结束点,去掉静音的部分,去掉噪声的部分,找到一段语音真正有效的内容。在语音识别中,这是一项重要的技术,它为后续的语音处理提供了准确的起点和终点。
2、目前语音端点检测方法主要有两种:一种是以算法为主的模型类方法:模型类方法需要多维特征参数和大量数据训练,这使得该方法在实现上比较困难,成本高,且识别结果与训练数据的耦合太紧密,无法高准确率地完成对训练数据外的语音端点检测任务;另一种是,以语音特征指标判断的阈值类方法:是指选定判断指标,比如能熵比,以当前帧或者变换过的指标值与阈值对比,得到语音的判定结果。该方法的一个问题是:阈值不能根据环境变化更新,因此难以高准确率地完成预期环境之外的语音端点检测任务。综上所述,现有的语音端点检测技术因适应性不足导致准确率不稳定。
技术实现思路
1、本发明的目的在于针对现有技术的不足提供自适应阈值的语音端点检测方法,旨在解决现有的语音端点检测技术因适应性不足导致准确率不稳定的问题。
2、本发明通过以下技术方案来实现上述目的:
3、一种自适应阈值的语音端点检测方法,包括:
4、设置步骤:设定初始的短时能量阈值和初始的过零率阈值,设置一个缓存已解析语音数据帧的解析空间l和一个初始值为0的静音帧计数器n;
5、解析步骤:将当前语音数据帧存入所述解析空间,根据短时能量阈值和过零率阈值解析当前语音数据帧得到数据帧类型,根据所述数据帧类型处理所述静音帧计数器;
6、处理步骤:若所述数据帧类型是静音帧,则依次进行第一处理分支和第二分处理分支,
7、所述第一处理分支包括:判断所述静音帧计数器是否达到预定的端点阈值,若是,则将所述当前语音数据帧判定为语音端点,并进行第一处理分支子分支,所述第一处理分支子分支包括:判断所述解析空间中的已解析语音数据帧的帧数是否等于端点阈值,若是,则将所述解析空间清空,否则,将所述解析空间中的已解析语音数据帧另存为独立语音文件,再将所述解析空间清空,
8、所述第二处理分支包括:判断所述静音帧计数器是否达到预定的调整阈值,若是,则根据所述解析空间中的已解析语音数据帧更新所述短时能量阈值和所述过零率阈值。
9、进一步的,所述设置步骤包括:
10、类型判断子步骤:若待解析的语音数据是现存语音数据,则进行第一设置阈值子步骤,若待解析的语音数据是实时语音数据,则进行第二设置阈值子步骤;
11、第一设置阈值子步骤:根据语音数据的场景设置初始的短时能量阈值和过零率阈值;
12、第二设置阈值子步骤:计算语音数据前预定数量的语音数据帧的短时能量值平均值和过零率值平均值,分别作为初始的短时能量阈值和过零率阈值。
13、进一步的,所述解析步骤包括:
14、计算子步骤:计算所述当前语音数据帧f的短时能量值e和过零率值z;
15、处理子步骤:根据所述短时能量值e与短时能量阈值e之间的关系,及过零率值z与过零率阈值z之间的关系确定所述当前语音数据帧的类型,过程为:
16、
17、其中,k、m是系数,f.class表示当前语音数据帧的类型,v表示语音帧,q表示静音帧。
18、进一步的,所述处理步骤的所述第二处理分支中,调整短时能量阈值和过零率阈值的过程包括:
19、判断子步骤:判断静音帧计数器是否达到调整阈值,若是,则开始调整步骤;
20、调整子步骤:根据所述解析空间中的语音数据帧计算出新的短时能量阈值和新的过零率阈值。
21、进一步的,所述调整子步骤中,计算所述新的短时能量阈值和新的过零率阈值的过程包括:
22、排序孙步骤:计算所述解析空间中的每一帧语音数据帧的短时能量值和过零率值,并根据计算结果分别进行排序得到短时能量值列表和过零率值列表,所述短时能量值列表为:
23、le=[e1,e2,e3,...,en],其中,le是短时能量值列表,en是所述短时能量值列表中第n个语音数据帧的短时能量值;
24、所述过零率值列表为:
25、lz=[z1,z2,z3,...,zn],其中,lz是过零率值列表,zn是所述过零率值列表中第n个语音数据帧的过零率值;
26、构造差分数列孙步骤:构造所述短时能量值列表对应的差分数列得到第一差分数列,所述第一差分数列为:
27、de=[de1,de2,de3,...,den-1],其中,de是所述第一差分数列,den-1是所述短时能量值列表中第n个与第n-1个语音数据帧的短时能量值的差值;
28、构造所述过零率值列表对应的第二差分数列,所述第二差分数列为:
29、dz=[dz1,dz2,dz3,...,dzn-1],其中,dz是所述第二差分数列,dzn-1是所述过零率值列表中第n个与第n-1个语音数据帧的过零率值的差值;
30、获取异常差值孙步骤:根据所述第一差分数列和第二差分数列绘制箱线图得到第一箱线图和第二箱线图,从所述第一箱线图中获取第一异常差值列表,从所述第二箱线图中获取第二异常差值列表;
31、最终计算孙步骤:创建递归计数器,初始值设为第一预定值,将de作为目标列表、所述第一异常差值作为分割值,实行最长稳定子列表计算法得到新的短时能量阈值,将dz作为目标列表、所述第二异常差值作为分割值,实行最长稳定子列表计算法得到新的过零率阈值;
32、所述最长稳定子列表计算法包括:从目标列表中获取分割值对应的第一个顺序下标k,若k不存在,则对所述目标列表实行四分位计算法,若存在k,且成立,计算所述目标列表中第一个至第k个的平均值作为结果并将所述递归计数器重置为第一预定值,若存在k,且不成立,判断所述递归计数器的值是否为第一预定值,若是,则将第k+1个至第n个作为新的目标列表,对新的目标列表递归执行所述最长稳定子列表计算法并将所述递归计数器的值设为第二预定值,否则,计算所述目标列表第k+1个到第n个的平均值作为结果,并将所述递归计数器重置为第一预定值;
33、所述四分位计算法包括:计算箱线图的上下四分位的平均值作为结果,并将所述递归计数器的值设为第一预定值。
34、一种自适应阈值的语音端点检测系统,应用上述的自适应阈值的语音端点检测方法,包括:
35、设置模块:设定初始的短时能量阈值和初始的过零率阈值,设置一个缓存已解析语音数据帧的解析空间l和一个初始值为0的静音帧计数器n;
36、解析模块:将当前语音数据帧存入所述解析空间,根据短时能量阈值和过零率阈值解析当前语音数据帧得到数据帧类型,根据所述数据帧类型处理所述静音帧计数器;
37、处理模块:若所述数据帧类型是静音帧,则依次进行第一处理分支和第二分处理分支,
38、所述第一处理分支包括:判断所述静音帧计数器是否达到预定的端点阈值,若是,则将所述当前语音数据帧判定为语音端点,并进行第一处理分支子分支,所述第一处理分支子分支包括:判断所述解析空间中的已解析语音数据帧的帧数是否等于端点阈值,若是,则将所述解析空间清空,否则,将所述解析空间中的已解析语音数据帧另存为独立语音文件,再将所述解析空间清空,
39、所述第二处理分支包括:判断所述静音帧计数器是否达到预定的调整阈值,若是,则根据所述解析空间中的已解析语音数据帧更新所述短时能量阈值和所述过零率阈值。
40、进一步的,所述设置模块包括:
41、类型判断子模块:若待解析的语音数据是现存语音数据,则进行第一设置阈值子模块,若待解析的语音数据是实时语音数据,则进行第二设置阈值子模块;
42、第一设置阈值子模块:根据语音数据的场景设置初始的短时能量阈值和过零率阈值;
43、第二设置阈值子模块:计算语音数据前预定数量的语音数据帧的短时能量值平均值和过零率值平均值,分别作为初始的短时能量阈值和过零率阈值。
44、进一步的,所述解析模块包括:
45、计算子模块:计算所述当前语音数据帧f的短时能量值e和过零率值z;
46、处理子模块:根据所述短时能量值e与短时能量阈值e之间的关系,及过零率值z与过零率阈值z之间的关系确定所述当前语音数据帧的类型,过程为:
47、
48、其中,k、m是系数,f.class表示当前语音数据帧的类型,v表示语音帧,q表示静音帧。
49、进一步的,所述处理模块的所述第二处理分支中,调整短时能量阈值和过零率阈值的过程包括:
50、判断子模块:判断静音帧计数器是否达到调整阈值,若是,则开始调整模块;
51、调整子模块:根据所述解析空间中的语音数据帧计算出新的短时能量阈值和新的过零率阈值。
52、进一步的,所述调整子模块中,计算所述新的短时能量阈值和新的过零率阈值的过程包括:
53、排序孙模块:计算所述解析空间中的每一帧语音数据帧的短时能量值和过零率值,并根据计算结果分别进行排序得到短时能量值列表和过零率值列表,所述短时能量值列表为:
54、le=[e1,e2,e3,...,en],其中,le是短时能量值列表,en是所述短时能量值列表中第n个语音数据帧的短时能量值;
55、所述过零率值列表为:
56、lz=[z1,z2,z3,...,zn],其中,lz是过零率值列表,zn是所述过零率值列表中第n个语音数据帧的过零率值;
57、构造差分数列孙模块:构造所述短时能量值列表对应的差分数列得到第一差分数列,所述第一差分数列为:
58、de=[de1,de2,de3,...,den-1],其中,de是所述第一差分数列,den-1是所述短时能量值列表中第n个与第n-1个语音数据帧的短时能量值的差值;
59、构造所述过零率值列表对应的第二差分数列,所述第二差分数列为:
60、dz=[dz1,dz2,dz3,...,dzn-1],其中,dz是所述第二差分数列,dzn-1是所述过零率值列表中第n个与第n-1个语音数据帧的过零率值的差值;
61、获取异常差值孙模块:根据所述第一差分数列和第二差分数列绘制箱线图得到第一箱线图和第二箱线图,从所述第一箱线图中获取第一异常差值列表,从所述第二箱线图中获取第二异常差值列表;
62、最终计算孙模块:创建递归计数器,初始值设为第一预定值,将de作为目标列表、所述第一异常差值作为分割值,实行最长稳定子列表计算法得到新的短时能量阈值,将dz作为目标列表、所述第二异常差值作为分割值,实行最长稳定子列表计算法得到新的过零率阈值;
63、所述最长稳定子列表计算法包括:从目标列表中获取分割值对应的第一个顺序下标k,若k不存在,则对所述目标列表实行四分位计算法,若存在k,且成立,计算所述目标列表中第一个至第k个的平均值作为结果并将所述递归计数器重置为第一预定值,若存在k,且不成立,判断所述递归计数器的值是否为第一预定值,若是,则将第k+1个至第n个作为新的目标列表,对新的目标列表递归执行所述最长稳定子列表计算法并将所述递归计数器的值设为第二预定值,否则,计算所述目标列表第k+1个到第n个的平均值作为结果,并将所述递归计数器重置为第一预定值;
64、所述四分位计算法包括:计算箱线图的上下四分位的平均值作为结果,并将所述递归计数器的值设为第一预定值。
65、本发明的有益效果是:本发明首先根据待解析的语音是来自语音文件还是从麦克风实时收录的语音数据,分别按照不同的规则设置不同的阈值,然后对语音进行解析,进而实现了适应多种场景的技术效果;然后根据连续的静音帧的数量来判定语音端点,进而实现了从语音数据中将静音帧部分大量去除以方便语音识别的技术效果;当连续的静音帧的数量达到了预定数量,则说明检测端点的检测阈值需要调整,根据连续的静音帧的短时能量值和过零率值设置新的阈值指标,进而实现了检测阈值根据场景自适应而提高检测准确率的技术效果。
本文地址:https://www.jishuxx.com/zhuanli/20240618/23652.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表