通话语音的识别方法、装置、设备及存储介质与流程

文档序号:24974583发布日期:2021-05-07 22:46阅读:273来源:国知局

本发明涉及语音识别领域,尤其涉及一种通话语音的识别方法、装置、设备及存储介质。



背景技术:

现代通信技术最开端是通过将声音信号转化为电信号,然后再将电信号转换为电信号,这使得声音的处理和转换是整个通信技术研究的一个重点。随着人工智能的快速发展,通信领域传统的语音识别又进一步的发展,人工智能与语音识别的结合一下成为一个研究的大领域。

随着,语音识别准确率不断提高,人们越来越广泛应用语音识别技术。在各类社交软件中,具有语音识别的模块,帮助人们在不方便听取语音内容时,将语音内容转换为文字内容,帮助人们提高交流的效率。但是,目前的语音识别的速度还是需要人们等待,需要一种更快的通信的语音识别技术。



技术实现要素:

本发明的主要目的在于解决当前语音识别速度不足的技术问题。

本发明第一方面提供了一种通话语音的识别方法,所述通话语音的识别方法包括:

获取待识别的通话语音;

根据预置转化算法,对所述通话语音进行格式标准化处理,得到标准化语音;

根据预置语音切割算法,对所述标准化语音进行静音切割处理,得到响应语音;

基于预置kaldi识别算法,对所述响应语音识别处理,得到识别字段,以及将所述识别字段发送至预置客户端ip地址。

可选的,在本发明第一方面的第一种实现方式中,所述根据预置语音切割算法,对所述标准化语音进行静音切割处理,得到响应语音包括:

根据预置并行线程,对所述标准化语音进行切割处理,得到切割语音集,其中,所述并行线程包括:并行序号、单线程处理排序号;

对所述切割语音集中的每个切割语音进行静音片段的识别标记处理,得到每个所述切割语音对应静音标记片段;

对每个所述切割语音中对应的静音标记片段进行剔除处理,得到基础响应语音集;

根据所述并行序号和所述单线程处理排序号,对所述基础响应语音集进行组合拼接处理,得到响应语音。

可选的,在本发明第一方面的第二种实现方式中,所述对所述切割语音集中的每个切割语音进行静音片段的识别标记处理,得到每个所述切割语音对应静音标记片段包括:

读取所述切割语音集中每个切割语音的短时平均能量分布;

逐帧判断所述短时平均能量分布是否大于预置动态阈值;

若不大于,则将所述短时平均能量分布中对应音频帧确定为静音帧,以及对所述短时平均能量分布中所有的静音帧进行组合过滤处理,生成静音标记片段。

可选的,在本发明第一方面的第三种实现方式中,在所述对所述切割语音集中的每个切割语音进行静音片段的识别标记处理,得到每个切割语音对应静音标记片段之后,在所述对每个所述切割语音中对应的静音标记片段进行剔除处理,得到基础响应语音集之前,还包括:

读取每个静音标记片段两端音频帧的过零率;

判断所述过零率是否超过预置过零率阈值;

若超过,则将所述过零率对应的音频帧移出静音标记片段。

可选的,在本发明第一方面的第四种实现方式中,所述逐帧判断所述短时平均能量分布是否大于预置动态阈值包括:

读取所述短时平均能量中每帧的短时平均能量eq;

根据动态阈值算法计算出每帧对应的动态阈值r(eq),其中,r0、r1、e0、e1为算法参数,e为短时平均能量代入值;

判断所述短时平均能量eq是否大于所述动态阈值r(eq)。

可选的,在本发明第一方面的第五种实现方式中,所述将对所述短时平均能量分布中所有的静音帧进行组合过滤处理,生成静音标记片段包括:

将所述短时平均能量分布中所有相邻的静音帧组合,生成所述短时平均能量分布对应的静音片段;

判断所述静音片段的时间是否大于预置停顿时间阈值;

若大于,则将所述静音片段确定为静音标记片段。

可选的,在本发明第一方面的第六种实现方式中,所述根据预置转化算法,对所述通话语音进行格式标准化处理,得到标准化语音包括:

判断所述通话语音是否为wave格式;

若是wave格式,则将所述通话语音确定为标准化语音;

若不是wave格式,则根据预置转化算法,将所述通话语音转化为wave格式,得到标准化语音。

本发明第二方面提供了一种通话语音的识别装置,所述通话语音的识别装置包括:

获取模块,用于获取待识别的通话语音;

转化模块,用于根据预置转化算法,对所述通话语音进行格式标准化处理,得到标准化语音;

语音切割模块,用于根据预置语音切割算法,对所述标准化语音进行静音切割处理,得到响应语音;

识别模块,用于基于预置kaldi识别算法,对所述响应语音识别处理,得到识别字段,以及将所述识别字段发送至预置客户端ip地址。

本发明第三方面提供了一种通话语音的识别设备,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;所述至少一个处理器调用所述存储器中的所述指令,以使得所述通话语音的识别设备执行上述的通话语音的识别方法。

本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的通话语音的识别方法。

获取待识别的通话语音;根据预置转化算法,对所述通话语音进行格式标准化处理,得到标准化语音;根据预置语音切割算法,对所述标准化语音进行静音切割处理,得到响应语音;基于预置kaldi识别算法,对所述响应语音识别处理,得到识别字段,以及将所述识别字段发送至预置客户端ip地址,通过语音静音处理得到更快的语音识别速度。

本发明通过对语音中的静音判断和剔除,将通信语音中无效片段减少,使得现有的kaldi-gmm模型在识别过程的数据量减少,提高了语音识别的速度,使得客户提高了使用体验。

附图说明

图1为本发明实施例中通话语音的识别方法的第一个实施例示意图;

图2为本发明实施例中通话语音的识别方法的第二个实施例示意图;

图3为本发明实施例中通话语音的识别方法的第三个实施例示意图;

图4为本发明实施例中通话语音的识别方法的第四个实施例示意图;

图5为本发明实施例中通话语音的识别装置的一个实施例示意图;

图6为本发明实施例中通话语音的识别装置的另一个实施例示意图;

图7为本发明实施例中通话语音的识别设备的一个实施例示意图。

具体实施方式

本发明实施例提供了一种通话语音的识别方法、装置、设备及存储介质。

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中通话语音的识别方法的第一个实施例包括:

101、获取待识别的通话语音;

在本实施例中,获取通话语音可以通过各类协议进行无线传输实现,也通过有线数据线进行传输。接入网关根据当前所有节点加载的识别模型id和各自的任务平均负载情况,智能地将客户端的识别请求转到合适的识别节点,任务管理模块分配一个空闲线程,从公有云对象存储池下载待识别的音频数据。

102、根据预置转化算法,对通话语音进行格式标准化处理,得到标准化语音;

在本实施例中,将音频数据转换为合适的非压缩编码格式(如wave格式),这里需要对音频数据进行判断,是否为wave格式,若不为wave格式,则进行转换,若是wave格式,则无需进行转换。

103、根据预置语音切割算法,对标准化语音进行静音切割处理,得到响应语音;

在本实施例中,标准化语音的切割,是由多个线程同时进行提高效率,1-10个线程根据线程的编号的进行切割,读取和静音处理,每个线程处理完成后又会进行第二次切割,因此会形成编排顺序(1,1),(1,2),(1,3),(2,1),(2,2)…,在编排顺序上,(1,1)是1号线程第一次读取,(1,2)是1号线程第二次读取,(1,3)是1号线程第三次读取,(2,1)是2号线程第1次读取,(2,2)是2号线程第2次读取,以此类推。

在进行提取切割后的非静音音频分片构建成若干个子任务,并将所有子任务加入子任务队列,子任务由多个空闲线程并发执行后,得到的识别结果存放在识别结果队列里,轮询查询识别结果队列,如果发现队列不为空,将队列内的识别结果取出来,推送给语音识别接入网关,用统一的能量阈值来检测静音有很大的局限性,因为各种环境下的音频能量相差很大,但语音和静音之间能量大小的相对关系是不变的,所以可以计算自适应阈值:将能量r=f(e),将能量最小记作e0和能量最大记作e1,对应的阈值为r0,r1则可以得到如下自适应阈值帧能量的平均值。

动态阈值计算公式计算出每帧对应的动态阈值r(eq),其中,r0、r1、e0、e1为算法参数,e为短时平均能量。并且使用平滑策略更新阈值r1=ar1+(1-a)r2,其中r1为旧的动态阈值,r2为新的动态阈值。将每个音频数据帧(一般20ms)的能量值与能量阈值r1比较,低于阈值r1的帧为静音帧。连续的静音帧组成一个静音段。将切割后的每个静音段的首位两端进行检查各帧的过零率,如果高于过零率阈值,则视为音节起始或结束时的清音,将其移出静音段,将低于100毫秒的静音段被视为连续语音间的短时停顿而舍去。最后根据编排顺序将去除静音的语音组成拼接,生成响应语音。

104、基于预置kaldi识别算法,对响应语音识别处理,得到识别字段,以及将识别字段发送至预置客户端ip地址。

在本实施例中,基于现有的kaldi-gmm模型,对响应语音进行识别,扣除静音后,kaldi-gmm模型对语音识别更快速。将生成的字段基于tcp/ip协议传输至预置的ip地址中,完成识别过程。

本发明实施例中,通过对语音中的静音判断和剔除,将通信语音中无效片段减少,使得现有的kaldi-gmm模型在识别过程的数据量减少,提高了语音识别的速度,使得客户提高了使用体验。

请参阅图2,本发明实施例中通话语音的识别方法的第二个实施例包括:

201、获取待识别的通话语音;

202、判断通话语音是否为wave格式;

在本实施例中,读取通话语音的文件后缀字符,使用正则法则判断是否为“wave”。

203、若是wave格式,则将通话语音确定为标准化语音;

在本实施例中,将通话语音设立“标准化”的标签。

204、若不是wave格式,则根据预置转化算法,将通话语音转化为wave格式,得到标准化语音;

本实施例中,将不是wave格式的通话语音的格式转化为wave格式,将转换后的音频设置“标准化”标签。

205、根据预置转化算法,对所述通话语音进行格式标准化处理,得到标准化语音;

206、根据预置语音切割算法,对所述标准化语音进行静音切割处理,得到响应语音;

207、基于预置kaldi识别算法,对所述响应语音识别处理,得到识别字段,以及将所述识别字段发送至预置客户端ip地址。

205-207实施例,参考第一个实施例,在此不做赘述。

本发明实施例中,通过对语音中的静音判断和剔除,对格式进行分析判断,能更快的处理通信音频。将通信语音中无效片段减少,使得现有的kaldi-gmm模型在识别过程的数据量减少,提高了语音识别的速度,使得客户提高了使用体验。

请参阅图3,本发明实施例中通话语音的识别方法的第三个实施例包括:

301、获取待识别的通话语音;

302、根据预置转化算法,对所述通话语音进行格式标准化处理,得到标准化语音;

301-302实施例可以参照第一个实施例,在此不做赘述。

303、根据预置并行线程,对所述标准化语音进行切割处理,得到切割语音集,其中,所述并行线程包括:并行序号、单线程处理排序号;

在本实施例中,准化语音的切割,是由多个线程同时进行提高效率,1-10个线程根据线程的编号的进行切割,读取和静音处理,每个线程处理完成后又会进行第二次切割,因此会形成编排顺序(1,1),(1,2),(1,3),(2,1),(2,2)…,在编排顺序上,(1,1)是1号线程第一次读取,(1,2)是1号线程第二次读取,(1,3)是1号线程第三次读取,(2,1)是2号线程第1次读取,(2,2)是2号线程第2次读取,以此类推。

304、读取所述切割语音集中每个切割语音的短时平均能量分布;

在本实施例中,平均能量分布是基于音频的电流大小和音频时间确定,在每个时间段都有对应的短时平均能量,则读取对应的切割语音的短时平均能量分布。

305、逐帧判断所述短时平均能量分布是否大于预置动态阈值;

在本实施例中,根据每个帧数对应的平均能量数值,逐步分析动态阈值与平均能量的之间的大小。

306、若不大于,则将所述短时平均能量分布中对应音频帧确定为静音帧,以及对所述短时平均能量分布中所有的静音帧进行组合过滤处理,生成静音标记片段;

在本实施例中,静音帧是不断读取合并、组合,最终获得静音帧的组合生成静音标记片段,片段是大于100毫秒的音频。

307、对每个所述切割语音中对应的静音标记片段进行剔除处理,得到基础响应语音集;

308、根据所述并行序号和所述单线程处理排序号,对所述基础响应语音集进行组合拼接处理,得到响应语音;

309、基于预置kaldi识别算法,对所述响应语音识别处理,得到识别字段,以及将所述识别字段发送至预置客户端ip地址。

307-309实施例,参考第一个实施例,在此不做赘述。

本发明实施例中,通过并行对语音中的静音判断和剔除,更快的提高了语音识别速度,多个线程处理后拼接,减少预处理的速度。使得现有的kaldi-gmm模型在识别过程的数据量减少,提高了语音识别的速度,使得客户提高了使用体验。

请参阅图4,本发明实施例中通话语音的识别方法的第四个实施例包括:

401、获取待识别的通话语音;

402、根据预置转化算法,对所述通话语音进行格式标准化处理,得到标准化语音;

403、根据预置并行线程,对所述标准化语音进行切割处理,得到切割语音集,其中,所述并行线程包括:并行序号、单线程处理排序号;

404、读取所述切割语音集中每个切割语音的短时平均能量分布;

401-404参考第三个实施例,在此不做赘述。

405、读取所述短时平均能量中每帧的短时平均能量eq;

406、根据动态阈值算法计算出每帧对应的动态阈值r(eq),其中,r0、r1、e0、e1为算法参数,e为短时平均能量代入值;

407、判断短时平均能量eq是否大于动态阈值r(eq)

405-407实施例中,先读取切割语音集中的切割语音平均能量分布,逐帧读取语音平均能量分布中每帧读取,计算每帧的短时平均能量eq,将短时平均能量eq加入到得到动态阈值r(eq),然后将r(eq)与短时平均能量eq进行比较。

408、若不大于,则将所述短时平均能量分布中所有相邻的静音帧组合,生成所述短时平均能量分布对应的静音片段;

在本实例中,将每个小于动态阈值r(eq)的音频帧根据在音频中顺序排布进行组合,将每个短时平均能量分布的静音片段都找出。

409、判断所述静音片段的时间是否大于预置停顿时间阈值;

410、若大于,则将所述静音片段确定为静音标记片段;

409-410实施例中,将低于100毫秒的静音段被视为连续语音间的短时停顿而舍去。由于时间过短,不会影响识别效率。

411、读取每个静音标记片段两端音频帧的过零率;

412、判断所述过零率是否超过预置过零率阈值;

413、若超过,则将所述过零率对应的音频帧移出静音标记片段

411-413实施例中,过零率计算如下:其中,zcr是自适应过零率阈值,是静音顿的过零率平均值。其中s是一个具有长度t的信号,函数∏{a}在参数a为真时为1,否则为0。将切割后的每个静音段的首位两端进行检查各帧的过零率,如果高于过零率阈值,则视为音节起始或结束时的清音,将其移出静音段。

414、对每个所述切割语音中对应的静音标记片段进行剔除处理,得到基础响应语音集;

415、根据所述并行序号和所述单线程处理排序号,对所述基础响应语音集进行组合拼接处理,得到响应语音;

414-415实施例中,根据并行序号和单线程处理排序号的编排顺序(1,1),(1,2),(1,3),(2,1),(2,2)…,在编排顺序上,(1,1)是1号线程第一次读取,(1,2)是1号线程第二次读取,(1,3)是1号线程第三次读取,(2,1)是2号线程第1次读取,(2,2)是2号线程第2次读取,依次将基础响应语音集中的基础响应语音组合,得到响应语音。

416、基于预置kaldi识别算法,对所述响应语音识别处理,得到识别字段,以及将所述识别字段发送至预置客户端ip地址。

本实施例类似于第一个实施例,请参照第一个实施例,在此不做赘述

本发明实施例中,通过对语音中的静音判断和剔除,将通信语音中无效片段减少,使得现有的kaldi-gmm模型在识别过程的数据量减少,提高了语音识别的速度,使得客户提高了使用体验。

上面对本发明实施例中通话语音的识别方法进行了描述,下面对本发明实施例中通话语音的识别装置进行描述,请参阅图5,本发明实施例中通话语音的识别装置一个实施例包括:

获取模块501,用于获取待识别的通话语音;

转化模块502,用于根据预置转化算法,对所述通话语音进行格式标准化处理,得到标准化语音;

语音切割模块503,用于根据预置语音切割算法,对所述标准化语音进行静音切割处理,得到响应语音;

识别模块504,用于基于预置kaldi识别算法,对所述响应语音识别处理,得到识别字段,以及将所述识别字段发送至预置客户端ip地址。

本发明实施例中,通过对语音中的静音判断和剔除,将通信语音中无效片段减少,使得现有的kaldi-gmm模型在识别过程的数据量减少,提高了语音识别的速度,使得客户提高了使用体验。

请参阅图6,本发明实施例中通话语音的识别装置的另一个实施例包括:

获取模块501,用于获取待识别的通话语音;

转化模块502,用于根据预置转化算法,对所述通话语音进行格式标准化处理,得到标准化语音;

语音切割模块503,用于根据预置语音切割算法,对所述标准化语音进行静音切割处理,得到响应语音;

识别模块504,用于基于预置kaldi识别算法,对所述响应语音识别处理,得到识别字段,以及将所述识别字段发送至预置客户端ip地址。

其中,所述转化模块502具体用于:

判断所述通话语音是否为wave格式;

若是wave格式,则将所述通话语音确定为标准化语音;

若不是wave格式,则根据预置转化算法,将所述通话语音转化为wave格式,得到标准化语音。

其中,所述语音切割模块503包括:

切割单元5031,用于据预置并行线程,对所述标准化语音进行切割处理,得到切割语音集,其中,所述并行线程包括:并行序号、单线程处理排序号;

标记单元5032,用于对所述切割语音集中的每个切割语音进行静音片段的识别标记处理,得到每个所述切割语音对应静音标记片段;

剔除单元5033,用于对每个所述切割语音中对应的静音标记片段进行剔除处理,得到基础响应语音集;

组合拼接单元5034,用于根据所述并行序号和所述单线程处理排序号,对所述基础响应语音集进行组合拼接处理,得到响应语音。

其中,所述标记单元5032具体用于:

读取所述切割语音集中每个切割语音的短时平均能量分布;

逐帧判断所述短时平均能量分布是否大于预置动态阈值;

若不大于,则将所述短时平均能量分布中对应音频帧确定为静音帧,以及对所述短时平均能量分布中所有的静音帧进行组合过滤处理,生成静音标记片段。

其中,所述标记单元5032还具体用于:

读取所述短时平均能量中每帧的短时平均能量eq;

根据动态阈值算法计算出每帧对应的动态阈值r(eq),其中,r0、r1、e0、e1为算法参数,e为短时平均能量代入值;

判断所述短时平均能量eq是否大于所述动态阈值r(eq)。

其中,所述标记单元5032还具体用于:

将所述短时平均能量分布中所有相邻的静音帧组合,生成所述短时平均能量分布对应的静音片段;

判断所述静音片段的时间是否大于预置停顿时间阈值;

若大于,则将所述静音片段确定为静音标记片段。

其中,所述通话语音的识别装置还包括扫描模块505,所述扫描模块505具体用于:

读取每个静音标记片段两端音频帧的过零率;

判断所述过零率是否超过预置过零率阈值;

若超过,则将所述过零率对应的音频帧移出静音标记片段。

本发明实施例中,通过对语音中的静音判断和剔除,将通信语音中无效片段减少,使得现有的kaldi-gmm模型在识别过程的数据量减少,提高了语音识别的速度,使得客户提高了使用体验。

上面图5和图6从模块化功能实体的角度对本发明实施例中的通话语音的识别装置进行详细描述,下面从硬件处理的角度对本发明实施例中通话语音的识别设备进行详细描述。

图7是本发明实施例提供的一种通话语音的识别设备的结构示意图,该通话语音的识别设备700可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessingunits,cpu)710(例如,一个或一个以上处理器)和存储器720,一个或一个以上存储应用程序733或数据732的存储介质730(例如一个或一个以上海量存储设备)。其中,存储器720和存储介质730可以是短暂存储或持久存储。存储在存储介质730的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对通话语音的识别设备700中的一系列指令操作。更进一步地,处理器710可以设置为与存储介质730通信,在通话语音的识别设备700上执行存储介质730中的一系列指令操作。

基于通话语音的识别设备700还可以包括一个或一个以上电源740,一个或一个以上有线或无线网络接口750,一个或一个以上输入输出接口760,和/或,一个或一个以上操作系统731,例如windowsserve,macosx,unix,linux,freebsd等等。本领域技术人员可以理解,图7示出的通话语音的识别设备结构并不构成对基于通话语音的识别设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述通话语音的识别方法的步骤。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统或装置、单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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