一种语音识别方法、设备、系统及存储介质与流程
本发明涉及语音识别技术领域,尤其涉及一种语音识别方法、设备、系统及存储介质。
背景技术:
主流的语音识别技术是将预训练好的声学模型和语音模型配合词典,生成wfst(weightedfinite-statetransducer,加权有限状态转换机)范式的静态解码图。然后,将解码图封装为工程的底层,得到语音识别系统。在识别的过程中,将待识别的声音信号输入到语音识别系统中,输出此声音信号的文本内容。
目前,大多离线语音识别系统,在处理多声道语音信号时,通常是将其合并为单声道语音信号,然后再对单声道语音信号进行识别。但是,这样会导致识别对话场景等的语音信号时出现角色难分离、叠音、抢插话等问题,最终导致识别的准确率降低。
技术实现要素:
本发明实施例提供一种语音识别方法、设备、系统及存储介质,以解决语音信号识别的准确率低的问题。
第一方面,本发明实施例提供了一种语音识别方法,包括:
获取待识别的语音信号,其中,所述待识别的语音信号包括多声道语音信号,所述多声道语音信号中包括至少两个声道的语音信号;
将所述多声道语音信号进行声道分离,得到至少两路第一单声道语音信号;
获得所述第一单声道语音信号对应的至少一个第一语音片段;
获得所述第一语音片段的第一语音识别结果;
根据所述第一语音识别结果,得到所述第一单声道语音信号的语音识别结果。
第二方面,本发明实施例还提供一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的程序,所述处理器执行所述程序时实现如上所述的语音识别方法中的步骤。
第三方面,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述的语音识别方法中的步骤。
第四方面,本发明实施例还提供了一种语音识别系统,包括:语音信号接收模块、语音格式转换模块、语言活动检测vad模块、识别模块和输出模块;
所述语音信号接收模块,用于获取待识别的语音信号,其中,所述待识别的语音信号包括多声道语音信号,所述多声道语音信号中包括至少两个声道的语音信号;
所述语音格式转换模块,用于将所述多声道语音信号进行声道分离,得到至少两路第一单声道语音信号;
所述vad模块,用于获得所述第一单声道语音信号对应的至少一个第一语音片段;
所述识别模块,用于获得所述第一语音片段的第一语音识别结果,以及根据所述第一语音识别结果,得到所述第一单声道语音信号的语音识别结果;
所述输出模块,用于输出所述语音识别结果。
在本发明实施例中,通过对待识别的语音信号中的多声道语音信号进行声道分离之后再进行语音识别处理,实现了对该语音信号中不同角色的准确分离,从而提高了语音识别结果的准确性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的语音识别方法的流程图之一;
图2是本发明实施例提供的语音识别方法的流程图之二;
图3(a)是本发明实施例提供的语音识别系统的示意图之一;
图3(b)是本发明实施例提供的语音识别系统的示意图之一;
图4是本发明实施例提供的语音识别装置的结构图;
图5是本发明实施例提供的电子设备的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,图1是本发明实施例提供的语音识别方法的流程图,如图1所示,包括以下步骤:
步骤101、获取待识别的语音信号,其中,所述待识别的语音信号包括多声道语音信号,所述多声道语音信号中包括至少两个声道的语音信号。
其中,所述待识别的语音信号例如可以是某个对话场景的语音数据包。该语音数据包中可以包括多条语音信号,也可包括多个对象的声音信号。
在该步骤之后,为进一步提高识别效率,还可对待识别的语音信号进行分析,获得其语音格式(如采样率、采样位深、声道数、音频格式等)。如果某个语音信号的音频格式不符合预设要求,那么,将其转换为具有目标音频格式的语音信号。目标音频格式可以任意设定,例如,设定为.wav格式等。
例如,待识别的语音信号包括.wav格式的语音信号,.ogg格式的语音信号。由于,.ogg格式的语音信号的音频格式不符合要求,则需将其转换为.wav格式的语音信号。
步骤102、将所述多声道语音信号进行声道分离,得到至少两路第一单声道语音信号。
对于多声道语音信号,在此对其进行声道分离,得到至少两路第一单声道语音信号。具体的,对于所述多声道语音信号中的每个声道的语音信号,分别将每个声道的语音信号划分成至少一个分块数据。然后,将每个声道的分块数据交叉存储至对应的存储区中,从而可得到至少两路第一单声道语音信号。所述交叉存储指的是同一声道的分块数据的存储区不相邻,并通过其他声道的存储区隔开。
例如,对于双声道信号来说,第一声道和第二声道的分块数据按照以下顺序存储到对应的存储区:第一声道的第一分块数据、第二声道的第一分块数据、第一声道的第二分块数据、第二声道的第二分块数据……以此类推,直至存储完全部的数据。
具体的声道分离技术例如可以是ffmpeg(fastforwardmovingpictureexpertsgroup,快速转换动态图像专家组)等。
之后,在使用每个声道的数据的时候,提取目标声道的存储区中的分块数据,得到所述目标声道的语音信号,其中,所述目标声道为所述每个声道中的任一声道。
例如,对于16bit的双声道的语音信号来说,两个声道的采样数据分块穿插存储,每块各占2bytes。据此,将各个声道的语音信号分离。之后,再以16位整数的形式将每个声道的存储区中的数据分别读取到不同的数组中,为后续并行处理使用。
步骤103、获得所述第一单声道语音信号对应的至少一个第一语音片段。
具体的,在此步骤中,利用vad(voiceactivitydetection,语音活动检测)对所述第一单声道语音信号进行处理,得到所述第一单声道语音信号对应的至少一个第一有效语音片段。
步骤104、获得所述第一语音片段的第一语音识别结果。
在此步骤中,根据所述至少一个第一语音片段得到所述至少一个第一语音片段的mfcc(mel-scalefrequencycepstralcoefficients,梅尔频率倒谱系数),并对所述至少一个第一语音片段的mfcc进行解码和映射,得到第一语音识别结果。
步骤105、根据所述第一语音识别结果,得到所述第一单声道语音信号的语音识别结果。
具体的,在此步骤中,将所述第一语音识别结果进行整合,并将整合后的语音识别结果进行格式转换,得到所述第一单声道语音信号的语音识别结果。
在本发明实施例中,通过对待识别的语音信号中的多声道语音信号进行声道分离之后再进行语音识别处理,实现了对该语音信号中不同角色的准确分离,从而提高了语音识别结果的准确性。
参见图2,图2是本发明实施例提供的语音识别方法的流程图,如图2所示,包括以下步骤:
步骤201、获取待识别的语音信号,其中,所述待识别的语音信号包括第一单声道语音信号和多声道语音信号。所述多声道语音信号中包括至少两个声道的语音信号。
其中,所述待识别的语音信号例如可以是某个对话场景的语音数据包。该语音数据包中可以包括多条语音信号,也可包括多个对象的声音信号。
在该步骤之后,为进一步提高识别效率,还可对待识别的语音信号进行分析,获得其语音格式(如采样率、采样位深、声道数、音频格式等)。如果某个语音信号的音频格式不符合预设要求,那么,将其转换为具有目标音频格式的语音信号。目标音频格式可以任意设定,例如,设定为.wav格式等。
例如,待识别的语音信号包括.wav格式的语音信号,.ogg格式的语音信号。由于,.ogg格式的语音信号的音频格式不符合要求,则需将其转换为.wav格式的语音信号。
步骤202、将所述多声道语音信号进行声道分离,得到至少两路第二单声道语音信号。
其中,具体的分离方法可参照前述实施例的描述。
步骤203、并行处理所述第一单声道语音信号和所述第二单声道语音信号,分别得到所述第一单声道语音信号对应的至少一个第一语音片段,以及所述第二单声道语音信号对应的至少一个第二语音片段。
所述的并行处理,指的是对待处理对象同时进行处理的方式。如,同时处理所述至少一个第一语音片段和所述至少一个第二语音片段,并得到各自的处理结果。
具体的,在此步骤中,利用vad对所述第一单声道语音信号进行处理,得到所述第一单声道语音信号对应的至少一个第一有效语音片段;以及,利用vad对所述第二单声道语音信号进行处理,得到所述第二单声道语音信号对应的至少一个第二有效语音片段。
其中,有效语音片段指的是包括目标对象的声音的片段,如包括人声的语音片段。每条有效语音片段的时长控制在5-8s内。通过这种方式,可丢弃语音信号的静音片段,从而进一步提高处理效率,并简化后续的解码过程。
步骤204、并行处理所述第一语音片段和所述第二语音片段,分别得到所述第一语音识别结果和所述第二语音片段的第二语音识别结果。
具体的,在此步骤中,根据所述第一语音片段得到所述第一语音片段的mfcc,并对所述第一语音片段的mfcc进行解码和映射,得到第一语音识别结果;以及,根据所述第二语音片段得到所述第二语音片段的mfcc,并对所述第二语音片段的mfcc进行解码和映射,得到第二语音识别结果。
以对第一语音片段的处理为例,在此步骤中,提取该语音片段的mfcc特征,通过wfst范式的解码网络,搜索最优的解码路径,最终通过映射,输出识别结果(如中文文本)。
步骤205、并行处理所述第一语音识别结果和所述第二语音识别结果,分别得到所述第一单声道语音信号的语音识别结果以及所述第二单声道语音信号的语音识别结果。
具体的,在此步骤中,将至少一个第一语音识别结果进行整合,并将整合后的语音识别结果进行格式转换,得到所述第一单声道语音信号的语音识别结果;以及,将至少一个第二语音识别结果进行整合,并将整合后的语音识别结果进行格式转换,得到所述第二单声道语音信号的语音识别结果。
其中,整合的过程可包括将各个语音识别结果进行拼接等等。
在本发明实施例中,通过对待识别的语音信号中的第一单声道语音信号和多声道语音信号进行并行处理,提高了语音识别的速度;同时,对多声道语音信号进行声道分离之后再进行语音识别处理,实现了对该语音信号中不同角色的准确分离,从而提高了语音识别结果的准确性。
参见图3(a),图3(a)是本发明实施例提供的语音识别系统的示意图。该系统可包括语音信号接收模块301、语音格式转换模块302、vad模块303、识别模块304和输出模块305。
其中,所述语音信号接收模块301,用于获取待识别的语音信号,其中,所述待识别的语音信号包括多声道语音信号,所述多声道语音信号中包括至少两个声道的语音信号;
所述语音格式转换模块302,用于将所述多声道语音信号进行声道分离,得到至少两路第一单声道语音信号;
所述vad模块303,用于获得所述第一单声道语音信号对应的至少一个第一语音片段;
所述识别模块304,用于获得所述第一语音片段的第一语音识别结果,以及根据所述第一语音识别结果,得到所述第一单声道语音信号的语音识别结果;
所述输出模块305,用于输出所述语音识别结果。
此外,所述语音信号接收模块301还用于接收单声道语音信号。所述所述vad模块303、所述识别模块304并行处理所述单声道语音信号和多声道语音信号的至少两路单声道语音信号。
可选的,为了提高处理效率,如图3(b)所示,所述系统还可包括:语音格式解析模块306,用于对所述待识别的语音信号进行格式解析。
以下结合本发明实施例的系统,对本发明实施例的实现过程做详细介绍。
在本发明实施例中,语音信号接收模块301获取的语音包包括以下三条语音:
第一条语音信号(图中用1表示),具体为8k;16bit;单声道;.wav语音;第二条语音信号(图中用2表示),具体为8k;16bit;双声道;.ogg语音;第三条语音信号(图中用3表示),具体为8k;16bit;双声道;.wav语音。
首先,通过语音格式解析模块306并行对三条语音进行解析,获取音频格式、声道数、采样率、采样位深等信息。通过解析,判断每条语音是否为“8k;16bit;单声道;.wav”的语音信号。若是,则直接送入到vad模块进行处理。若不是,则由语音格式转换模块302并行每条语音进行格式转换。具体的,语音格式转换模块基于ffmpeg将其转化为“8k;16bit;单声道;.wav”格式的语音。之后,再将转换后的语音信号送入到vad模块进行处理。
对于以上三条语音信号,第一条语音信号无需进行格式转换,直接送入到vad模块。第二、第三条语音信号需要进行格式转换,那么,经语音格式转化模块处理后,分别获得第二、第三条语音信号的两路语音信号(图中分别用2.1、2.2以及3.1、3.2表示)。
之后,由vad模块303并行对第一条语音信号、2.1、2.2以及3.1、3.2进行处理,分别获得每条语音信号中的有效语音段,切除每条语音信号中的静音段,从而提高解码效率。每条有效语音段的时长控制在5-8s内。同时,将该有效语音段还可切份为若干份。
vad模块的处理结果送入到识别模块304进行处理。识别模块304并行对每个输入进行处理。具体的,vad模块提取每个输入的mfcc特征,通过wfst范式的解码网络,搜索最优的解码路径,最终通过映射,输出识别结果,如中文文本。
输出模块305将所有的语音段的识别结果进行整合,统一序列化成通用格式,从而得到最终的语音识别结果。
通过以上描述可以看出,在本发明实施例中,省去了角色分离模型,通过声道分离技术即可将角色分离,提升了整体的识别准确率。同时,在本发明实施例中,采用语音包输入,多条语音并行处理,离线部署,省去了网络传输所消耗的时间,并且中间层处理模型少,处理速度较快。
本发明实施例还提供了一种语音识别装置。参见图4,图4是本发明实施例提供的语音识别装置的结构图。由于语音识别装置解决问题的原理与本发明实施例中语音识别方法相似,因此该语音识别装置的实施可以参见方法的实施,重复之处不再赘述。
如图4所示,语音识别装置400包括:获取模块401,用于获取待识别的语音信号,其中,所述待识别的语音信号包括多声道语音信号,所述多声道语音信号中包括至少两个声道的语音信号;声道分离模块402,用于将所述多声道语音信号进行声道分离,得到至少两路第一单声道语音信号;第一处理模块403,用于获得所述第一单声道语音信号对应的至少一个第一语音片段;第二处理模块404,用于获得所述第一语音片段的第一语音识别结果;第三处理模块405,用于根据所述第一语音识别结果,得到所述第一单声道语音信号的语音识别结果。
可选的,所述声道分离模块402可包括:
划分子模块,用于对于所述多声道语音信号中的每个声道的语音信号,分别将每个声道的语音信号划分成至少一个分块数据;
分离子模块,用于将每个声道的分块数据交叉存储至对应的存储区中,得到至少一路第二单声道语音信号。
可选的,所述装置还可包括:转换模块,用于在所述待识别的语音信号的音频格式不符合预设要求的情况下,将所述待识别的语音信号转换为具有目标音频格式的语音信号。
可选的,所述待识别的语音信号还包括第二单声道语音信号。
可选的,所述第一处理模块404还用于,并行处理所述第一单声道语音信号和所述第二单声道语音信号,分别得到所述第一单声道语音信号对应的至少一个第一语音片段,以及所述第二单声道语音信号对应的至少一个第二语音片段。所述第一处理模块404可具体用于,利用vad对所述第一单声道语音信号进行处理,得到所述第一单声道语音信号对应的至少一个第一有效语音片段;以及,利用vad对所述第二单声道语音信号进行处理,得到所述第二单声道语音信号对应的至少一个第二有效语音片段。
可选的,所述第二处理模块404还用于,并行处理所述第一语音片段和所述第二语音片段,分别得到所述第一语音识别结果和所述第二语音片段的第二语音识别结果。所述第二处理模块404可具体用于,根据所述第一语音片段得到所述第一语音片段的mfcc,并对所述至少一个第一语音片段的mfcc进行解码和映射,得到所述第一语音识别结果;以及根据所述第二语音片段得到所述第二语音片段的mfcc,并对所述第二语音片段的mfcc进行解码和映射,得到所述第二语音识别结果。
可选的,所述第三处理模块405还用于,并行处理所述第一语音识别结果和所述第二语音识别结果,分别得到所述第一单声道语音信号的语音识别结果以及所述第二单声道语音信号的语音识别结果。所述第三处理模块405可具体用于,将所述第一语音识别结果进行整合,并将整合后的语音识别结果进行格式转换,得到所述第一单声道语音信号的语音识别结果;以及将所述第二语音识别结果进行整合,并将整合后的语音识别结果进行格式转换,得到所述第二单声道语音信号的语音识别结果。
本发明实施例提供的装置,可以执行上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
如图5所示,本发明实施例的电子设备,包括:处理器500,用于读取存储器520中的程序,执行下列过程:
获取待识别的语音信号,其中,所述待识别的语音信号包括多声道语音信号,所述多声道语音信号中包括至少两个声道的语音信号;
将所述多声道语音信号进行声道分离,得到至少两路第一单声道语音信号;
获得所述第一单声道语音信号对应的至少一个第一语音片段;
获得所述第一语音片段的第一语音识别结果;
根据所述第一语音识别结果,得到所述第一单声道语音信号的语音识别结果。
收发机510,用于在处理器500的控制下接收和发送数据。
其中,在图5中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器500代表的一个或多个处理器和存储器520代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机510可以是多个元件,即包括发送机和收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器500负责管理总线架构和通常的处理,存储器520可以存储处理器500在执行操作时所使用的数据。
处理器500负责管理总线架构和通常的处理,存储器520可以存储处理器500在执行操作时所使用的数据。
处理器500还用于读取所述程序,执行如下步骤:
对于所述多声道语音信号中的每个声道的语音信号,分别将每个声道的语音信号划分成至少一个分块数据;
将每个声道的分块数据交叉存储至对应的存储区中,得到至少一路第二单声道语音信号。
所述待识别的语音信号还包括第二单声道语音信号;处理器500还用于读取所述程序,执行如下步骤:
并行处理所述第一单声道语音信号和所述第二单声道语音信号,分别得到所述第一单声道语音信号对应的至少一个第一语音片段,以及所述第二单声道语音信号对应的至少一个第二语音片段;
并行处理所述第一语音片段和所述第二语音片段,分别得到所述第一语音识别结果和所述第二语音片段的第二语音识别结果;
并行处理所述第一语音识别结果和所述第二语音识别结果,分别得到所述第一单声道语音信号的语音识别结果以及所述第二单声道语音信号的语音识别结果。
处理器500还用于读取所述程序,执行如下步骤:
利用vad对所述第一单声道语音信号进行处理,得到所述第一单声道语音信号对应的至少一个第一有效语音片段;以及,利用vad对所述第二单声道语音信号进行处理,得到所述第二单声道语音信号对应的至少一个第二有效语音片段。
处理器500还用于读取所述程序,执行如下步骤:
根据所述第一语音片段得到所述第一语音片段的mfcc,并对所述至少一个第一语音片段的mfcc进行解码和映射,得到所述第一语音识别结果;以及
根据所述第二语音片段得到所述第二语音片段的mfcc,并对所述第二语音片段的mfcc进行解码和映射,得到所述第二语音识别结果。
处理器500还用于读取所述程序,执行如下步骤:
将所述第一语音识别结果进行整合,并将整合后的语音识别结果进行格式转换,得到所述第一单声道语音信号的语音识别结果;以及
将所述第二语音识别结果进行整合,并将整合后的语音识别结果进行格式转换,得到所述第二单声道语音信号的语音识别结果。
处理器500还用于读取所述程序,执行如下步骤:
在所述待识别的语音信号的音频格式不符合预设要求的情况下,将所述待识别的语音信号转换为具有目标音频格式的语音信号。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述语音识别方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(read-onlymemory,简称rom)、随机存取存储器(randomaccessmemory,简称ram)、磁碟或者光盘等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。根据这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除