发明内容
本发明的主要目的在于提供一种语音端点检测方法和装置,以解决现有技术中语音端点检测的准确性较低的问题。
为了实现上述目的,根据本发明实施例的一个方面,提供了一种语音端点检测方法。根据本发明的语音端点检测方法包括:获取目标环境下的待测音频;利用预先生成的语音训练模型对所述待测音频中的音频片段进行标记,将所述待测音频中的语音片段标记为第一预设标识,其中,所述语音训练模型为对所述目标环境的语音数据进行训练得到的模型;以及从标记的待测音频中查找具有所述第一预设标识的整段音频,其中,所述整段音频为一整段标记有所述第一预设标识的语音;将所述具有所述第一预设标识的整段音频的作为一段语音,所述具有所述第一预设标识的整段音频的起始点和结束点作为所述一段语音的端点。
进一步地,在获取目标环境下的待测音频之前,所述语音端点检测方法还包括:采集所述目标环境的语音数据,将所述语音数据作为语音训练集数据;以预设单位时间对所述语音数据进行划分,得到多个音频段;依次判断所述多个音频段中是否包含有语音;将包含有语音的音频段标记为所述第一预设标记,并将不包含有语音的音频段标记为第二预设标记;以及从标记有所述第一预设标记和所述第二预设标记的音频段中提取样本,利用提取的样本训练得到所述语音训练模型。
进一步地,从标记有所述第一预设标记和所述第二预设标记的音频段中提取样本,利用提取的样本训练得到所述语音训练模型包括:从标记有所述第一预设标记的音频段中提取多个预设时间长度的音频段,作为正样本;从标记有所述第二预设标记的音频段中提取多个所述预设时间长度的音频段,作为负样本;使用支持向量机对所述正样本和所述负样本进行训练,得到所述语音训练模型。
进一步地,使用支持向量机对所述正样本和所述负样本进行训练,得到所述语音训练模型包括:使用所述支持向量机,添加高斯核函数和松弛因子对所述正样本和所述负样本进行训练,得到所述语音训练模型。
进一步地,利用预先生成的语音训练模型对所述待测音频中的音频片段进行标记包括:按照所述预设单位时间对所述待测音频进行划分,得到多个待测音频段;利用所述语音训练模型对所述多个待测音频段进行标记,将包含有语音的待测音频段标记为所述第一预设标识,将不包含有语音的待测音频段标记为所述第二预设标识。
为了实现上述目的,根据本发明实施例的另一方面,提供了一种语音端点检测装置。根据本发明的语音端点检测装置包括:获取单元,用于获取目标环境下的待测音频;第一标记单元,用于利用预先生成的语音训练模型对所述待测音频中的音频片段进行标记,将所述待测音频中的语音片段标记为第一预设标识,其中,所述语音训练模型为对所述目标环境的语音数据进行训练得到的模型;以及查找单元,用于从标记的待测音频中查找具有所述第一预设标识的整段音频,其中,所述整段音频为一整段标记有所述第一预设标识的语音;确定单元,用于将所述具有所述第一预设标识的整段音频的作为一段语音,所述具有所述第一预设标识的整段音频的起始点和结束点作为所述一段语音的端点。
进一步地,所述语音端点检测装置还包括:采集单元,用于在获取目标环境下的待测音频之前,采集所述目标环境的语音数据,将所述语音数据作为语音训练集数据;划分单元,用于以预设单位时间对所述语音数据进行划分,得到多个音频段;判断单元,用于依次判断所述多个音频段中是否包含有语音;第二标记单元,用于将包含有语音的音频段标记为所述第一预设标记,并将不包含有语音的音频段标记为第二预设标记;以及训练单元,用于从标记有所述第一预设标记和所述第二预设标记的音频段中提取样本,利用提取的样本训练得到所述语音训练模型。
进一步地,所述训练单元包括:第一提取模块,用于从标记有所述第一预设标记的音频段中提取多个预设时间长度的音频段,作为正样本;第二提取模块,用于从标记有所述第二预设标记的音频段中提取多个所述预设时间长度的音频段,作为负样本;训练模块,用于使用支持向量机对所述正样本和所述负样本进行训练,得到所述语音训练模型。
进一步地,所述训练模块包括:训练子模块,用于使用所述支持向量机,添加高斯核函数和松弛因子对所述正样本和所述负样本进行训练,得到所述语音训练模型。
进一步地,所述第一标记单元包括:划分模块,用于按照所述预设单位时间对所述待测音频进行划分,得到多个待测音频段;标记模块,用于利用所述语音训练模型对所述多个待测音频段进行标记,将包含有语音的待测音频段标记为所述第一预设标识,将不包含有语音的待测音频段标记为所述第二预设标识。
根据本发明实施例,通过利用对各种环境下的语音数据进行训练得到语音训练集来检测待测音频中的语音,从而确定出语音端点。由于语音训练模型为对各种环境下的语音数据进行训练得到的,无论在具有多大噪音的环境下的待测音频,该模型均能够识别并标记出语音片段,解决了现有技术中在噪音大的情况下语音端点检测的准确性较低的问题,达到了提高语音端点检测的准确性。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例提供了一种语音端点检测方法。
图1是根据本发明实施例的语音端点检测方法的流程图。如图1所示,该语音端点检测方法包括步骤如下:
步骤S102,获取目标环境下的待测音频。
待测音频可以是任意背景复杂或者不复杂的目标环境下的音频段,该音频段可以包含有人的语音。获取该待测音频,以便于从待测音频中检测出语音音频。
步骤S104,利用预先生成的语音训练模型对待测音频中的音频片段进行标记,将待测音频中的语音片段标记为第一预设标识。该语音训练模型为对目标环境的语音数据进行训练得到的模型。
语音训练模型的建立可以是基于各种目标环境下的包含有语音的音频数据进行训练得到的训练模型,具体地,可以是先采集大量的包含有语音的音频数据,然后对采集的音频数据按照固定的时间长度t1进行切分,切分为多个音频段,并进行人工标记,将音频数据中所有包含有语音的每个音频段标记为第一预设标识,所有不包含语音的每个音频段标记为第二预设标识;最后,利用随机算法抽取只包含第一预设标识的若干固定单位时间t2长度的连续音频段和只包含第二预设标识的若干固定单位时间长度的连续音频段,其中t2包含多个t1,作为语音训练集数据,进行训练,得到语音训练模型,从而可以利用该语音训练模型来识别待测音频中的语音片段。
步骤S106,从标记的待测音频中查找具有第一预设标识的整段音频。其中,整段音频为一整段标记有第一预设标识的语音。
具体地,向语音训练模型输入待测语音,利用语音训练模型标记待测音频中若干具有第一预设标识的长度为t2的音频段。整段音频为具有多个连续第一预设标识的语音段。
步骤S108,将具有第一预设标识的整段音频的作为一段语音,具有第一预设标识的整段音频的起始点和结束点作为一段语音的端点。
具体地,第一个具有第一预设标识的音频的起点作为整段音频的起始点,将最后一个具有第一预设标识音频的终点作为音频的结束点,所有起始点和结束点为这一段语音的端点。
由于语音训练模型标记和输出的是语音片段,其中,连续的两段或者多段标记有第一预设标识的语音片段属于同一段语音即上述定义的整段音频,将连续的标记有第一预设标识的音频段做一段语音,将音频段语音的起始点和结束点作为语音的端点。
根据本发明实施例,通过利用对各种环境下的语音数据进行训练得到语音训练集来检测待测音频中的语音,从而确定出语音端点。由于语音训练模型为对各种环境下的语音数据进行训练得到的,无论在具有多大噪音的环境下的待测音频,该模型均能够识别并标记出语音片段,解决了现有技术中在噪音大的情况下语音端点检测的准确性较低的问题,达到了提高语音端点检测的准确性。
优选地。在获取目标环境下的待测音频之前,语音端点检测方法还包括:采集目标环境的语音数据,将语音数据作为语音训练集数据;以预设单位时间对语音数据进行划分,得到多个音频段;依次判断多个音频段中是否包含有语音;将包含有语音的音频段标记为第一预设标记,并将不包含有语音的音频段标记为第二预设标记;以及从标记有第一预设标记和第二预设标记的音频段中提取样本,利用提取的样本训练得到语音训练模型。
目标环境可以是任意具有复杂或者不复杂背景的环境,获取语音数据作为语音训练集数据,用以训练的到语音训练模型。
具体地,在获取到语音数据之后,首先按照预设单位时间对语音数据划分成多个音频段,其中,预设单位时间可以是微秒,即上述中所提到的t1。然后,按照预先设置的标记对划分的音频段进行标记,将语音的音频段标记为第一预设标识(如“1”),反之,则标记为第二预设标识(如“-1”)。然后从标记好的音频段中提取用于训练的样本,训练样本是多个固定单位时间t(如1毫秒)音频段,且训练样本为利用随机算法抽取的只包含第一预设标识的若干t长度的连续音频段的正样本,和只包含第二预设标识的若干t长度的连续音频段的负样本,以训练出语音训练模型。
通过训练之后,该语音训练模型即可利用训练得到的参数来对待测音频进行标记,将待测音频中语音片段标记为第一预设标识,非语音片段标记为第二预设标识。这样,可以将通过语音训练模型输出的音频中具有第一预设标识的音频片段与具有第二预设标识的音频片段的交界点作为语音端点,从而快速地检测出语音端点。
进一步地,从标记有第一预设标记和第二预设标记的音频段中提取样本,利用提取的样本训练得到语音训练模型包括:从标记有第一预设标记的音频段中提取多个预设时间长度的音频段,作为正样本;从标记有第二预设标记的音频段中提取多个预设时间长度的音频段,作为负样本;使用支持向量机对正样本和负样本进行训练,得到语音训练模型。
在对多个音频段进行标记之后,根据需要设定一个预设时间长度即上述所提到的t2(如1秒),然后从标记有第一预设标识的音频段中提取多个预设时间长度的音频段,将其作为正样本,其中,一个预设时间长度的音频段中包括多个标记有第一预设标识的音频段;从标记有第二预设标识的音频段中提取多个预设时间长度的音频段,将其作为负样本,其中,该一个预设时间长度的音频段中包括多个标记有第二预设标识的音频段。最后,使用支持向量机(SVM)训练得到语音训练模型。
上述训练得到的语音训练模型对待测音频片段进行检测标记时,可以以预设单位时间来对待测音频中的音频段进行标记。输出的时候则可以以待测音频中标记的预设时间长度的音频段输出。
进一步地,使用支持向量机对正样本和负样本进行训练,得到语音训练模型包括:使用支持向量机,添加高斯核函数和松弛因子对正样本和负样本进行训练,得到语音训练模型。
本发明实施例中,为了使语音训练模型具有语音抗噪功能,减少由于语音不连续性对语音训练模型的参数的影响,并使得语音训练模型快速稳定,在使用支持向量机训练模型时,向模型中加入高斯函数和松弛因子,从而进一步提高语音端点检测的准确性。
具体地,本发明实施例的一种语音训练模型的建立过程如下:
步骤S1,采集语音训练集数据;
步骤S2,导入原始训练语音数据,以毫秒为单位标注语段时间段(含有人语段的时间点上标注为1,否则标注为-1);
步骤S3,设定合理时间长度t,随机从所有标注为1的语段内,抽取若干长度t的语音片段作为正样本;从标注为-1的音频内,抽取若干长度t的语音片段作为负样本;
步骤S4,使用SVM(支持向量机)训练模型,并采用高斯核,加入松弛因子,使模型具有语音抗噪功能;
步骤S5,对标注后的训练集进行训练,得到训练后的模型;
当获取到待测音频之后,用训练好的模型计算待测音频每个长度为t的音频片段的分类(1或-1),统计分析,机器去除异常干扰,整体连续标注为1的时间点上都是人语音。
优选地,利用预先生成的语音训练模型对待测音频中的音频片段进行标记包括:按照预设单位时间对待测音频进行划分,得到多个待测音频段;利用语音训练模型对多个待测音频段进行标记,将包含有语音的待测音频段标记为第一预设标识,将不包含有语音的待测音频段标记为第二预设标识。
本发明实施例中,将在利用语音训练模型对待测音频进行标记时,先按照之前训练得到语音训练模型时的规则对待测音频进行划分,即按照上述中预设单位时间来对待测音频进行划分,得到多个待测音频段。然后,利用语音训练模型训练得到的参数来确定划分得到的多个待测音频段中每个音频段标记的标识,即第一预设标识和第二预设标识,实现对待测音频的标记。
本发明实施例还提供了一种语音端点检测装置。需要说明的是,本发明实施例的语音端点检测装置可以用于执行本发明实施例所提供的语音端点检测方法,本发明实施例的语音端点检测方法也可以通过本发明实施例所提供的语音端点检测装置来执行。
图2是根据本发明实施例的语音端点检测装置的示意图。如图2所示,该语音端点检测装置包括:获取单元10、第一标记单元20、查找单元30和确定单元40。
获取单元10用于获取目标环境下的待测音频。
待测音频可以是任意背景复杂或者不复杂的目标环境下的音频段,该音频段可以包含有人体语音。获取该待测音频,以便于从待测音频中检测出语音音频。
第一标记单元20用于利用预先生成的语音训练模型对待测音频中的音频片段进行标记,将待测音频中的语音片段标记为第一预设标识,其中,语音训练模型为对目标环境的语音数据进行训练得到的模型。
语音训练模型的建立可以是基于各种目标环境下的包含有语音的音频数据进行训练得到的训练模型,具体地,可以是先采集大量的包含有语音的音频数据,然后对采集的音频数据按照固定的时间长度t1进行切分,切分为多个音频段,并进行人工标记,将音频数据中所有包含有语音的每个音频段标记为第一预设标识,所有不包含语音的每个音频段标记为第二预设标识;最后,利用随机算法抽取只包含第一预设标识的若干固定单位时间t2长度的连续音频段和只包含第二预设标识的若干固定单位时间长度的连续音频段,其中t2包含多个t1,作为语音训练集数据,进行训练,得到语音训练模型,从而可以利用该语音训练模型来识别待测音频中的语音片段。
查找单元30用于从标记的待测音频中查找具有第一预设标识的整段音频,其中,整段音频为一整段标记有第一预设标识的语音。
具体地,向语音训练模型输入待测语音,利用语音训练模型标记待测音频中若干具有第一预设标识的长度为t2的音频段。整段音频为具有多个连续第一预设标识的语音段。
确定单元40用于将具有第一预设标识的整段音频的作为一段语音,具有第一预设标识的整段音频的起始点和结束点作为一段语音的端点。
具体地,第一个具有第一预设标识的音频的起点作为整段音频的起始点,将最后一个具有第一预设标识音频的终点作为音频的结束点,所有起始点和结束点为这一段语音的端点。
由于语音训练模型标记和输出的是语音片段,其中,连续的两段或者多段标记有第一预设标识的语音片段属于同一段语音即上述定义的整段音频,将连续的标记有第一预设标识的音频段做一段语音,将音频段语音的起始点和结束点作为语音的端点。
根据本发明实施例,通过利用对各种环境下的语音数据进行训练得到语音训练集来检测待测音频中的语音,从而确定出语音端点。由于语音训练模型为对各种环境下的语音数据进行训练得到的,无论在具有多大噪音的环境下的待测音频,该模型均能够识别并标记出语音片段,解决了现有技术中在噪音大的情况下语音端点检测的准确性较低的问题,达到了提高语音端点检测的准确性。
优选地,语音端点检测装置还包括:采集单元,用于在获取目标环境下的待测音频之前,采集目标环境的语音数据,将语音数据作为语音训练集数据;划分单元,用于以预设单位时间对语音数据进行划分,得到多个音频段;判断单元,用于依次判断多个音频段中是否包含有语音;第二标记单元,用于将包含有语音的音频段标记为第一预设标记,并将不包含有语音的音频段标记为第二预设标记;以及训练单元,用于从标记有第一预设标记和第二预设标记的音频段中提取样本,利用提取的样本训练得到语音训练模型。
目标环境可以是任意具有复杂或者不复杂背景的环境,获取语音数据作为语音训练集数据,用以训练的到语音训练模型。
具体地,在获取到语音数据之后,首先按照预设单位时间对语音数据划分成多个音频段,其中,预设单位时间可以是微秒,即上述中所提到的t1。然后,按照预先设置的标记对划分的音频段进行标记,将语音的音频段标记为第一预设标识(如“1”),反之,则标记为第二预设标识(如“-1”)。然后从标记好的音频段中提取用于训练的样本,训练样本是多个固定单位时间t(如1毫秒)音频段,且训练样本为利用随机算法抽取的只包含第一预设标识的若干t长度的连续音频段的正样本,和只包含第二预设标识的若干t长度的连续音频段的负样本,以训练出语音训练模型。
通过训练之后,该语音训练模型即可利用训练得到的参数来对待测音频进行标记,将待测音频中语音片段标记为第一预设标识,非语音片段标记为第二预设标识。这样,可以将通过语音训练模型输出的音频中具有第一预设标识的音频片段与具有第二预设标识的音频片段的交界点作为语音端点,从而快速地检测出语音端点。
进一步地,训练单元包括:第一提取模块,用于从标记有第一预设标记的音频段中提取多个预设时间长度的音频段,作为正样本;第二提取模块,用于从标记有第二预设标记的音频段中提取多个预设时间长度的音频段,作为负样本;训练模块,用于使用支持向量机对正样本和负样本进行训练,得到语音训练模型。
在对多个音频段进行标记之后,根据需要设定一个预设时间长度(如1秒),然后从标记有第一预设标识的音频段中提取多个预设时间长度的音频段,将其作为正样本,其中,一个预设时间长度的音频段中包括多个标记有第一预设标识的音频段;从标记有第二预设标识的音频段中提取多个预设时间长度的音频段,将其作为负样本,其中,该一个预设时间长度的音频段中包括多个标记有第二预设标识的音频段。最后,使用支持向量机(SVM)训练得到语音训练模型。
上述训练得到的语音训练模型对待测音频片段进行检测标记时,可以以预设单位时间来对待测音频中的音频段进行标记。输出的时候则可以以待测音频中标记的预设时间长度的音频段输出。
进一步地,训练模块包括:训练子模块,用于使用支持向量机,添加高斯核函数和松弛因子对正样本和负样本进行训练,得到语音训练模型。
本发明实施例中,为了使语音训练模型具有语音抗噪功能,减少由于语音不连续性对语音训练模型的参数的影响,并使得语音训练模型快速稳定,在使用支持向量机训练模型时,向模型中加入高斯函数和松弛因子,从而进一步提高语音端点检测的准确性。
优选地,第一标记单元包括:划分模块,用于按照预设单位时间对待测音频进行划分,得到多个待测音频段;标记模块,用于利用语音训练模型对多个待测音频段进行标记,将包含有语音的待测音频段标记为第一预设标识,将不包含有语音的待测音频段标记为第二预设标识。
本发明实施例中,将在利用语音训练模型对待测音频进行标记时,先按照之前训练得到语音训练模型时规则对待测音频进行划分,即按照上述中预设单位时间来对待测音频进行划分,得到多个待测音频段。然后,利用语音训练模型训练得到的参数来确定划分得到的多个待测音频段中每个音频段标记的标识,即第一预设标识和第二预设标识,实现对待测音频的标记。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、移动终端、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。