语音识别方法、装置、计算机设备及可读存储介质与流程

文档序号:14348823阅读:204来源:国知局
语音识别方法、装置、计算机设备及可读存储介质与流程

本发明涉及语音识别技术领域,特别涉及一种语音识别方法、装置、计算机设备及可读存储介质。



背景技术:

随着语音识别技术的成熟,很多情况下需要用到多个人进行语音识别的情况,比如,法庭庭审的场景下,原告和原告律师,以及被告和被告律师,在类似场景下的语音识别会遇到串音的问题。如图1所示,一个话筒组包括话筒1、2、3……n,当用户对着一个话筒2说话时,相邻的比较近的话筒1、3也会接收到相同但声音比较小的声纹,使得语音识别系统除了接收话筒2的声音外还同时接收到了话筒1、3的声音,但是,话筒1、3接收到的声音对于语音识别系统来说是重复的声音,使得语音识别系统中出现了很多重复的识别文本,重复的识别文本会对识别结果造成干扰,从而造成了识别结果的可读性差,极端情况下当识别文本掺杂有重复的识别文本时根本就无法使用,从而极大地阻碍了多人场景下的语音识别的应用。



技术实现要素:

本发明实施例提供了一种语音识别方法,以解决现有技术中语音识别时由于存在重复的识别文本而造成识别结果的可读性差或无法进行语音识别的技术问题。该方法包括:在一组话筒中有话筒被使用时,采集所述一组话筒中各个话筒的声纹数据,其中,所述一组话筒中相邻两个话筒之间的距离小于预设距离;分别提取各个话筒的声纹数据的特征参数,其中,所述特征参数用于表征声纹曲线的趋势特征;根据所述特征参数分别计算相邻两个话筒的声纹数据的差异值,其中,所述差异值表示相邻两个话筒的声纹数据的相似度;根据大于预设数值的差异值对应的相邻两个话筒的声纹数据的能量大小,在大于预设数值的差异值对应的相邻两个话筒的声纹数据中确定出当前被使用的话筒的声纹数据,将当前被使用的话筒的声纹数据作为识别文本,将所有话筒的声纹数据中除了所述识别文本之外的其他声纹数据确定为重复识别文本,采用所述识别文本对当前被使用的话筒进行语音识别。

本发明实施例还提供了一种计算机设备,以解决现有技术中语音识别时由于存在重复的识别文本而造成识别结果的可读性差或无法进行语音识别的技术问题。计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一种语音识别方法。

本发明实施例还提供了一种计算机可读存储介质,以解决现有技术中语音识别时由于存在重复的识别文本而造成识别结果的可读性差或无法进行语音识别的技术问题。所述计算机可读存储介质存储有执行上述任一种语音识别方法的计算机程序。

本发明实施例还提供了一种语音识别装置,以解决现有技术中语音识别时由于存在重复的识别文本而造成识别结果的可读性差或无法进行语音识别的技术问题。该装置包括:声纹采集模块,用于在一组话筒中有话筒被使用时,采集所述一组话筒中各个话筒的声纹数据,其中,所述一组话筒中相邻两个话筒之间的距离小于预设距离;参数提取模块,用于分别提取各个话筒的声纹数据的特征参数,其中,所述特征参数用于表征声纹曲线的趋势特征;差异值计算模块,用于根据所述特征参数分别计算相邻两个话筒的声纹数据的差异值,其中,所述差异值表示相邻两个话筒的声纹数据的相似度;语音识别模块,用于根据大于预设数值的差异值对应的相邻两个话筒的声纹数据的能量大小,在大于预设数值的差异值对应的相邻两个话筒的声纹数据中确定出当前被使用的话筒的声纹数据,将当前被使用的话筒的声纹数据作为识别文本,将所有话筒的声纹数据中除了所述识别文本之外的其他声纹数据确定为重复识别文本,采用所述识别文本对当前被使用的话筒进行语音识别。

在本发明实施例中,针对多人语音识别的场景,在一组话筒中有话筒被使用说话时,采集该一组话筒中各个话筒的声纹数据,并提取各个话筒的声纹数据的特征参数,进而基于特征参数计算相邻两个话筒的声纹数据的差异值,该差异值表示相邻两个话筒的声纹数据的相似度,最后,根据大于预设数值的差异值对应的相邻两个话筒的声纹数据的能量大小,确定当前正在使用的话筒的声纹数据,由于大于预设数值的差异值对应的两个声纹数据之间的相似度是很小的,因此,大于预设数值的差异值对应的相邻两个话筒的声纹数据则可以认为是当前正在使用的话筒和其相邻话筒的声纹数据,而且当前正在使用的话筒的声纹数据的能量要大于其他话筒的声纹数据的能量,因此,可以在大于预设数值的差异值对应的相邻两个话筒的声纹数据中确定出当前被使用的话筒的声纹数据,该声纹数据则为识别文本,除了识别文本之外的其他声纹数据则是相邻话筒的声纹数据,作为重复识别文本,在语音识别时可以将重复识别文本删除,只采用上述识别文本对当前被使用的话筒进行语音识。即实现了在采集的所有话筒的声纹数据中确定并去除相邻话筒的声纹数据,只将当前被使用的话筒的声纹数据作为识别文本进行语音识别,避免了语音识别时重复识别文本的存在,有利于提高语音识别结果的可读性、准确性,有利于多人语音识别的广泛应用。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:

图1是现有技术中的一种多人语音识别使用场景的示意图;

图2是本发明实施例提供的一种语音识别方法的流程图;

图3是本发明实施例提供的一种特征参数与影响因子的对应关系示意图;

图4是本发明实施例提供的一种采用上述语音识别方法进行语音识别的流程图1;

图5是本发明实施例提供的一种采用上述语音识别方法进行语音识别的流程图2;

图6是本发明实施例提供的一种语音识别装置的结构框图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。

现有技术中,多人语音识别的场景下,如图1所示,用户使用话筒2说“现在开会”,话筒2接收到的声音是“现在开会”,与此同时,相邻的话筒1也能接收到声音“现在开会”,相邻的话筒3接收到的声音是“现开会”。本申请发明人发现相邻话筒1、3接收的声音相对于话筒2接收的声音,音量小,还会出现信息不完整的现象,但是这些相邻话筒接收的声音在语音识别时是重复识别文本,会导致语音识别结果不准确。为此本申请发明人提出了上述语音识别方法,在声音采集端将重复识别文本去除,只采用识别文本进行语音识别,以提高多人语音识别的准确性。

在本发明实施例中,提供了一种语音识别方法,如图2所示,该方法包括:

步骤201:在一组话筒中有话筒被使用时,采集所述一组话筒中各个话筒的声纹数据,其中,所述一组话筒中相邻两个话筒之间的距离小于预设距离,例如,该预设距离可以是1米或者0.5米,即该预设距离为一个话筒被使用讲话时,相邻话筒也可以接收到讲话的声音的距离;一组话筒至少包括2个话筒;

步骤202:分别提取各个话筒的声纹数据的特征参数,其中,所述特征参数用于表征声纹曲线的趋势特征;

步骤203:根据所述特征参数分别计算相邻两个话筒的声纹数据的差异值,其中,所述差异值表示相邻两个话筒的声纹数据的相似度;

步骤204:根据大于预设数值的差异值对应的相邻两个话筒的声纹数据的能量大小,在大于预设数值的差异值对应的相邻两个话筒的声纹数据中确定出当前被使用的话筒的声纹数据,将当前被使用的话筒的声纹数据作为识别文本,将所有话筒的声纹数据中除了所述识别文本之外的其他声纹数据确定为重复识别文本,采用所述识别文本对当前被使用的话筒进行语音识别。

由图2所示的流程可知,在本发明实施例中,实现了在采集的所有话筒的声纹数据中确定并去除相邻话筒的声纹数据,只将当前被使用的话筒的声纹数据作为识别文本进行语音识别,避免了语音识别时重复识别文本的存在,有利于提高语音识别结果的可读性、准确性,有利于多人语音识别的广泛应用。

具体实施时,为了进一步提高语音识别的准确性,在本实施例中,在分别提取各个话筒的声纹数据的特征参数之前,还包括:针对各个话筒的声纹数据,实时动态确定各个话筒的声纹数据的噪声频谱;过滤各个话筒的声纹数据中的噪声。

具体的,语音识别采用的可以是16位采样精度,可以通过以下公式(1)实时动态确定各个话筒的声纹数据的噪声频谱:

其中,是当前的噪声频谱估计;lambdanse是噪声频谱估计参数;是前一时间段的噪声频谱估计;是噪声频谱的动态更新值;tn-1是前一个非语音帧指数减1;eps是的初始值;t是当前帧指数;tn是前一个非语音帧指数。

可以通过以下公式(2)过滤各个话筒的声纹数据中的噪声:

其中,h2(bin,t1)是维纳滤波传输函数;η2(bin,t1)是前一帧的信噪比;bin是标识频率指数;t1是时间;nspec是帧当前频率的最大值。

具体实施时,发明人发现,在去除重复识别文本的过程中遇到的问题是:对于不同类型的人,比如男士、女士、老年人、青少年,声纹的特征是不同的,对声音进行分析的时候,对于不同类型的人,判断声音重复的标注是有区别的;且对于同一个人,不同时间的说话声音也是有区别的。且实际使用中,都是有环境噪声影响的,如果直接比对声音是会出现很大的偏差的,基于这些原因,要在实际应用中对声音进行去重复的操作是难度比较大的。为了实现可以在所有话筒的声纹数据中确定并去除相邻话筒的声纹数据(即重复识别文本),在本实施例中,提出了分别提取各个话筒的声纹数据的特征参数,包括:针对各个话筒的无噪声的声纹数据,分别提取所述特征参数,其中,所述特征参数包括:基础轨迹特征参数、梅尔倒谱特征参数以及声音强度参数。基于基础轨迹特征参数、梅尔倒谱特征参数以及声音强度参数,可以很准确的区分各个话筒的声纹数据。

具体的,可以通过公式(3)来计算语音信号的无噪声频谱,进而基于语音信号的无噪声频谱提取梅尔倒谱特征参数。

其中,是信号无噪声频谱;是每一帧信号的功率谱。

具体实施时,为了提高提取上述特征参数的客观性,针对各个话筒的无噪声的声纹数据,可以将该无噪声的声纹数据分成两份,每份声纹数据作为一个处理分支,一个处理分支进行语音信号检测及频道合并与解码频带等处理,另一个处理分支进行去除噪声、变换波形等处理;然后将两个分支的声纹数据合并,对合并后的声纹数据统一进行倒谱计算及倒谱归一化的处理后,最终得到声纹数据的特征参数作为后续比较的参考值序列。

具体实施时,为了具体实现计算相邻两个话筒的声纹数据的差异值,在本实施例中,根据所述特征参数分别计算相邻两个话筒的声纹数据的差异值,包括:

针对各个话筒的声纹数据,根据每个话筒的声纹数据的特征参数从特征参数与影响因子的对应关系中选择每个话筒的声纹数据的影响因子;例如,本申请发明人通过对大量的声音数据进行研究,得出了梅尔倒谱特征参数、声音强度参数和影响因子的对应关系,将实验数据导入matlab软件,最终绘制出来的梅尔倒谱特征参数、声音强度参数和影响因子的对应关系函数如图3所示,z代表影响因子,x代表梅尔倒谱特征参数,y代表声音强度参数,他们之间的关系用公式(4)表示如下:

z=f(x,y)=x2+y2(x∈[-5,+5]y∈[-5,+5])(4)

根据以上公式(4)并从函数图形可以看出,影响因子z的取值范围是[0,+50]

1、在x和y都为0时,z也为0;

2、当y不变时,x从0减少到-5时,z随着增大;

3、当y不变时,x从0增大到+5时,z随着增大;

4、当x不变时,y从0减少到-5时,z随着增大;

5、当x不变时,y从0增大到+5时,z随着增大;

6、当x为+5或-5且y为+5或-5时,z为最大值50;

根据每个话筒的声纹数据的特征参数和影响因子,计算每个话筒的声纹数据对应的特征系数,例如,可以通过以下公式(5)计算特征系数:

其中,f(x)表示当前声纹的特征系数,表示当前声纹的特性,例如是说话急躁还是平稳,速度快还是速度慢等相关特征等。π表示圆周率;σ表示当前声纹的特征系数;x表示上一个时间段声纹的特征系数,初始值为0;μ表示影响因子;e是无理数约等于2.718左右,它是自然对数的底数,是个常数。

根据每个话筒的声纹数据对应的特征系数,利用模糊决策法分别计算相邻两个话筒的声纹数据的差异值,其中,差异值的数值越大,则相邻两个话筒的声纹数据的相似度越低。例如,可以通过公式(6)所示的模糊决策法来计算相邻两个话筒的声纹数据的差异值,其中,d表示差异值,d越小,就说明他们之间的差距越小,反之亦然。其中amn和bmn分别是想要对比的两个参数的值,即可以将两个相邻话筒的声纹数据对应的特征系数分别代入amn和bmn,以得到d。

具体实施时,为了准确得确定出识别文本,在本实施例中,根据大于预设数值的差异值对应的相邻两个话筒的声纹数据的能量大小,在大于预设数值的差异值对应的相邻两个话筒的声纹数据中确定出当前被使用的话筒的声纹数据,将当前被使用的话筒的声纹数据作为识别文本,包括:针对大于预设数值的差异值对应的相邻两个话筒的声纹数据,将能量大的声纹数据确定为当前被使用的话筒的声纹数据,将当前被使用的话筒的声纹数据作为识别文本。

具体的,如果两个话筒均是当前被使用话筒的相邻话筒,则该两个话筒的声纹数据的相似度会很大,即差异值会很小;当前正在被使用的话筒的声纹数据与相邻话筒的声纹数据相似度很低,即二者之间的差异值很大,因此,大于预设数值的差异值对应的相邻两个话筒的声纹数据中肯定有当前正在被使用的话筒的声纹数据,同时,当前正在被使用的话筒的声纹数据的能量要大于其他话筒的声纹数据的能量,因此,大于预设数值的差异值对应的相邻两个话筒的声纹数据中能量大的声纹数据就是当前被使用的话筒的声纹数据,即当前被使用的话筒的识别文本,除了识别文本之外的其他声纹数据均为重复识别文本,将重复识别文本去除,只采用识别文本对当前被使用的话筒进行语音识别。具体的,上述预设数值可以是95,即差异值落在区间[95,100]以内,则将差异值对应的相邻两个话筒的声纹数据中能量大的声纹数据就是当前被使用的话筒的声纹数据,即当前被使用的话筒的识别文本;如果差异值落在区间[0,95],则说明差异值对应的两个话筒的声纹数据均是当前被使用话筒的相邻话筒的声纹数据,均作为重复识别文本不进行处理,从而达到了去除重复识别文本的目的。

具体的,以两个话筒为例,以下结合附图4、5来描述上述语音识别方法的使用过程:

步骤1:读取话筒1的声音数据1和话筒2的声音数据2。

步骤2:对声音数据1和声音数据2分别通过公式(1)进行fft变换、通过公式(2)mel滤波.

步骤3:将第2步处理后的声音数据1、2分别分为两个分支处理,目的是通过不同的方面对声音进行描述,更加客观。

步骤4:对分支一进行语音信号检测、频道合并与解码频带等处理。

步骤5:对分支二进行去除噪声、变换波形等处理。

步骤6:将分支一和分支二处理得到的数据统一进行倒谱计算及倒谱归一化的处理后,最终得到声音数据的特征参数作为后续比较的参考值序列。

步骤7:分别根据声音数据1的特征参数和声音数据2的特征参数,查找根据实验得到的特征参数和影响因子z的关系函数,来选择声音数据1对应的影响因子z的数值和声音数据2对应的影响因子z的数值,分别将影响因子z代入到对特征系数的分析方法中,分别计算声音数据1的特征系数和声音数据2的特征系数。

步骤8:分别针对上面获取到的每个声音数据的特征系数,通过公式(6)中的模糊决策方法进行区分,从而得到最终的声音数据1和声音数据2的差异值d。

步骤9:根据差异值d的区间,来决定对声音数据的处理方式,基于对实际使用场景的测试,分析出来最优的处理策略,即对于差异值d的值落在区间[95,100]以内的情况进行过滤处理,将声音数据1和声音数据2中能量大的声音数据作为识别文本;对于差异值d落在重复区间[0,95)以内的情况不进行处理,即声音数据1和声音数据2均作为重复识别文本删除,从而达到了去除重复声音的目的。

在本实施例中,提供了一种计算机设备。计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一种语音识别方法。

在本实施例中还提供了一种计算机可读存储介质。所述计算机可读存储介质存储有执行上述任一种语音识别方法的计算机程序。

基于同一发明构思,本发明实施例中还提供了一种语音识别装置,如下面的实施例所述。由于语音识别装置解决问题的原理与语音识别方法相似,因此语音识别装置的实施可以参见语音识别方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图6是本发明实施例的语音识别装置的一种结构框图,如图6所示,该装置包括:

声纹采集模块601,用于在一组话筒中有话筒被使用时,采集所述一组话筒中各个话筒的声纹数据,其中,所述一组话筒中相邻两个话筒之间的距离小于预设距离;

参数提取模块602,用于分别提取各个话筒的声纹数据的特征参数,其中,所述特征参数用于表征声纹曲线的趋势特征;

差异值计算模块603,用于根据所述特征参数分别计算相邻两个话筒的声纹数据的差异值,其中,所述差异值表示相邻两个话筒的声纹数据的相似度;

语音识别模块604,用于根据大于预设数值的差异值对应的相邻两个话筒的声纹数据的能量大小,在大于预设数值的差异值对应的相邻两个话筒的声纹数据中确定出当前被使用的话筒的声纹数据,将当前被使用的话筒的声纹数据作为识别文本,将所有话筒的声纹数据中除了所述识别文本之外的其他声纹数据确定为重复识别文本,采用所述识别文本对当前被使用的话筒进行语音识别。

在一个实施例中,还包括:噪声频谱生成模块,用于在分别提取各个话筒的声纹数据的特征参数之前,针对各个话筒的声纹数据,实时动态确定各个话筒的声纹数据的噪声频谱;噪声过滤模块,用于过滤各个话筒的声纹数据中的噪声。

在一个实施例中,所述噪声频谱生成模块通过以下公式实时动态确定各个话筒的声纹数据的噪声频谱:

其中,是当前的噪声频谱估计;lambdanse是噪声频谱估计参数;是前一时间段的噪声频谱估计;是噪声频谱的动态更新值;tn-1是前一个非语音帧指数减1;eps是的初始值;t是当前帧指数;tn是前一个非语音帧指数。

在一个实施例中,所述噪声过滤模块通过以下公式过滤各个话筒的声纹数据中的噪声:

其中,h2(bin,t1)是维纳滤波传输函数;η2(bin,t1)是前一帧的信噪比;bin是标识频率指数;t1是时间;nspec是帧当前频率的最大值。

在一个实施例中,所述参数提取模块,具体用于针对各个话筒的无噪声的声纹数据,分别提取所述特征参数,其中,所述特征参数包括:基础轨迹特征参数、梅尔倒谱特征参数以及声音强度参数。

在一个实施例中,所述差异值计算模块,包括:影响因子选择单元,用于针对各个话筒的声纹数据,根据每个话筒的声纹数据的特征参数从特征参数与影响因子的对应关系中选择每个话筒的声纹数据的影响因子;特征系数计算单元,用于根据每个话筒的声纹数据的特征参数和影响因子,计算每个话筒的声纹数据对应的特征系数;差异值计算单元,用于根据每个话筒的声纹数据对应的特征系数,利用模糊决策法分别计算相邻两个话筒的声纹数据的差异值,其中,差异值的数值越大,则相邻两个话筒的声纹数据的相似度越低。

在一个实施例中,所述语音识别模块,具体用于针对大于预设数值的差异值对应的相邻两个话筒的声纹数据,将能量大的声纹数据确定为当前被使用的话筒的声纹数据,将当前被使用的话筒的声纹数据作为识别文本。

在另外一个实施例中,还提供了一种软件,该软件用于执行上述实施例及优选实施方式中描述的技术方案。

在另外一个实施例中,还提供了一种存储介质,该存储介质中存储有上述软件,该存储介质包括但不限于:光盘、软盘、硬盘、可擦写存储器等。

本发明实施例实现了如下技术效果:在本发明实施例中,针对多人语音识别的场景,在一组话筒中有话筒被使用说话时,采集该一组话筒中各个话筒的声纹数据,并提取各个话筒的声纹数据的特征参数,进而基于特征参数计算相邻两个话筒的声纹数据的差异值,该差异值表示相邻两个话筒的声纹数据的相似度,最后,根据大于预设数值的差异值对应的相邻两个话筒的声纹数据的能量大小,确定当前正在使用的话筒的声纹数据,由于大于预设数值的差异值对应的两个声纹数据之间的相似度是很小的,因此,大于预设数值的差异值对应的相邻两个话筒的声纹数据则可以认为是当前正在使用的话筒和其相邻话筒的声纹数据,而且当前正在使用的话筒的声纹数据的能量要大于其他话筒的声纹数据的能量,因此,可以在大于预设数值的差异值对应的相邻两个话筒的声纹数据中确定出当前被使用的话筒的声纹数据,该声纹数据则为识别文本,除了识别文本之外的其他声纹数据则是相邻话筒的声纹数据,作为重复识别文本,在语音识别时可以将重复识别文本删除,只采用上述识别文本对当前被使用的话筒进行语音识。即实现了在采集的所有话筒的声纹数据中确定并去除相邻话筒的声纹数据,只将当前被使用的话筒的声纹数据作为识别文本进行语音识别,避免了语音识别时重复识别文本的存在,有利于提高语音识别结果的可读性、准确性,有利于多人语音识别的广泛应用。

显然,本领域的技术人员应该明白,上述的本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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