语音处理方法及装置、计算机存储介质、电子设备与流程

文档序号:23704115发布日期:2021-01-23 12:23阅读:85来源:国知局
语音处理方法及装置、计算机存储介质、电子设备与流程

[0001]
本公开涉及语音处理技术领域,特别涉及一种语音处理方法、语音处理装置、计算机可读存储介质及电子设备。


背景技术:

[0002]
随着通信技术和智能终端的发展,人与人之间的交流通过智能终端进行直播、通话或聊天等语音功能完成。但在使用语音功能时,用户的录音常常会伴有大量的背景噪声或他人的声音,导致其他用户无法辨明该用户说话的实际内容。
[0003]
现有技术中采用tcp语音数据传输模式,语音流采用tcp协议来进行传输,这种传输方式虽然可靠,但是无法对语音进行过滤和筛选。
[0004]
鉴于此,本领域亟需开发一种新的语音处理方法及装置。
[0005]
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。


技术实现要素:

[0006]
本公开的目的在于提供一种语音处理方法、语音处理装置、计算机可读存储介质及电子设备,进而至少在一定程度上对语音序列进行过滤和筛选。
[0007]
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
[0008]
根据本公开的一个方面,提供一种语音处理方法,所述方法包括:获取语音序列,对所述语音序列进行分帧处理得到多个语音子序列,提取各所述语音子序列的目标特征;根据各所述目标特征通过语音检测模型对各所述语音子序列进行检测,并根据检测结果确定有效语音;将所述有效语音对应的目标特征输入声纹识别模型,通过所述声纹识别模型从所述有效语音中筛选出目标语音,控制将所述目标语音转发至其它客户端。
[0009]
在本公开的一些示例性实施例中,所述根据各所述目标特征通过语音检测模型对各所述语音子序列进行检测,包括:将各所述目标特征输入所述语音检测模型中进行特征提取,以得到各所述目标特征对应的语音子序列的目标概率;在所述语音子序列的目标概率大于第一概率阈值时,则判定所述语音子序列为有效语音子序列。
[0010]
在本公开的一些示例性实施例中,所述方法还包括:获取所述语音序列中的噪声子序列,并根据所述噪声子序列计算所述语音序列对应的噪声能量;计算各所述语音子序列的语音能量,并根据所述噪声能量和所述语音能量确定所述语音子序列对应的信噪比;若所述语音子序列对应的信噪比大于信噪比阈值,则判定所述语音子序列为有效语音子序列。
[0011]
在本公开的一些示例性实施例中,所述获取所述语音序列中的噪声子序列,并根据所述噪声子序列计算所述语音序列对应的噪声能量,包括:将所述语音序列的前预设个数的语音子序列作为所述噪声子序列,计算所述噪声子序列的语音能量,将所述噪声子序
列的语音能量作为初始噪声能量;获取所述语音序列对应的时间序列,根据所述时间序列、所述初始噪声能量和所述语音序列对应的语音能量对所述噪声能量进行迭代更新。
[0012]
在本公开的一些示例性实施例中,所述方法还包括:获取各所述语音子序列的目标概率和各所述语音子序列的信噪比;在所述语音子序列的目标概率大于第一概率阈值时,判断所述语音子序列对应的信噪比是否大于信噪比阈值;若所述语音子序列对应的信噪比大于所述信噪比阈值,则判定所述语音子序列为所述有效语音子序列。
[0013]
在本公开的一些示例性实施例中,所述根据检测结果确定有效语音,包括:对所述语音序列进行滑窗操作,以获取多个连续语音序列,其中,所述滑窗操作的窗长大于窗偏移量;获取各所述连续语音序列中有效语音子序列的个数,若所述有效语音子序列的个数大于个数阈值,则判定所述连续语音序列为所述有效语音。
[0014]
在本公开的一些示例性实施例中,所述将所述有效语音对应的目标特征输入声纹识别模型,通过所述声纹识别模型从所述有效语音中筛选出目标语音,包括:将所述有效语音对应的目标特征作为有效目标特征,将所述有效目标特征输入所述声纹识别模型中进行特征提取,以得到所述有效目标特征对应的有效语音子序列的语音表征向量;获取目标表征向量,根据所述语音表征向量和所述目标表征向量计算所述有效语音子序列对应的plda评分;若所述plda评分大于评分阈值,则所述有效语音子序列为目标语音。
[0015]
在本公开的一些示例性实施例中,所述声纹识别模型包括卷积层、双层长短期记忆层、池化层、仿射层,所述将所述有效目标特征输入所述声纹识别模型中进行特征提取,以得到所述有效目标特征对应的有效语音子序列的语音表征向量,包括:将所述有效目标特征输入所述声纹识别模型中,利用所述卷积层和所述双层长短期记忆层依次对所述有效目标特征进行特征提取,以获取所述有效目标特征的深层特征,其中,所述深层特征包括时间维度和特征维度;将所述深层特征输入所述池化层进行特征提取,以获取所述深层特征在所述时间维度上的最大值特征和均值特征,并将所述最大值特征和所述均值特征进行求和得到隐层特征;将所述隐层特征输入所述仿射层进行仿射变换,以获得所述有效语音子序列的语音表征向量。
[0016]
在本公开的一些示例性实施例中,所述获取目标表征向量,包括:获取目标语音序列,将所述目标语音序列对应的目标特征输入所述声纹识别模型进行特征提取,以获取所述目标语音序列对应的目标表征向量。
[0017]
在本公开的一些示例性实施例中,所述获取目标表征向量,包括:在所述有效语音中获取第一有效语音,将所述第一有效语音作为所述初始语音序列;将所述初始语音序列对应的目标特征输入所述声纹识别模型进行特征提取,以获取所述初始语音序列对应的初始表征向量,并将所述初始表征向量作为所述目标表征向量计算所述plda评分;根据所述初始表征向量、时间序列和所述plda评分更新所述目标表征向量。
[0018]
在本公开的一些示例性实施例中,所述根据所述初始表征向量和时间序列和所述plda评分更新所述目标表征向量,包括:根据所述初始表征向量、所述初始表征向量对应的plda评分和所述初始表征向量对应的时间戳与当前时间戳的时间差,计算更新表征向量;将所述更新表征向量作为新的初始表征向量,重复上一步骤,将所述更新表征向量作为所述目标表征向量。
[0019]
在本公开的一些示例性实施例中,所述对所述语音序列进行分帧处理得到多个语
音子序列,包括:对所述语音序列进行预加重处理,并对预加重处理后的语音序列按照预设帧长和预设帧偏移量对所述语音序列进行分帧处理,以得到多个所述语音子序列,其中,所述预设帧长大于所述预设帧偏移量。
[0020]
在本公开的一些示例性实施例中,所述提取各所述语音子序列的目标特征,包括:计算各所述语音子序列对应的语音能量和梅尔滤波器参数;将各所述语音子序列的语音能量与所述梅尔滤波器参数进行点乘得到各所述语音子序列的目标特征。
[0021]
在本公开的一些示例性实施例中,所述计算各所述语音子序列对应的语音能量,包括:对各所述语音子序列进行加窗处理,并对加窗处理后的各语音子序列进行傅里叶变换得到各所述语音子序列的傅里叶参数;根据各所述语音子序列的傅里叶参数计算各所述语音子序列的语音能量。
[0022]
在本公开的一些示例性实施例中,所述计算各所述语音子序列对应的梅尔滤波器参数,包括:对各所述语音子序列进行梅尔频域的映射变换得到各所述语音子序列的梅尔频率,并根据各所述语音子序列的梅尔频率计算各所述语音子序列对应的梅尔滤波器参数。
[0023]
在本公开的一些示例性实施例中,所述方法还包括:获取多个语音序列样本,其中,所述语音序列样本包括有效语音样本和非有效语音样本;对各所述有效语音样本和各所述非有效语音样本进行标记,以获取各所述语音序列样本对应的第一标记信息样本;将各所述语音序列样本和对应的第一标记信息样本输入至待训练语音检测模型,根据各所述语音序列样本和对应的第一标记信息样本对所述待训练语音检测模型进行训练,以获取所述语音检测模型。
[0024]
在本公开的一些示例性实施例中,所述将各所述语音序列样本和对应的第一标记信息样本输入至待训练语音检测模型,根据各所述语音序列样本和对应的第一标记信息样本对所述待训练语音检测模型进行训练,以获取所述语音检测模型,包括:将各所述语音序列样本输入至所述待训练语音检测模型中,通过所述待训练语音检测模型对所述语音序列样本进行特征提取,以获取所述语音序列样本对应的第一标记信息;根据所述第一标记信息和所述第一标记信息样本确定第一损失函数,通过调整所述待训练语音检测模型的参数,直至所述第一损失函数达到最小,以获取所述语音检测模型。
[0025]
在本公开的一些示例性实施例中,所述方法还包括:获取多个有效语音序列样本,其中,所述有效语音序列样本包括目标语音序列样本和非目标语音序列样本;对各所述目标语音序列样本和各所述非目标语音序列样本进行标记,以获取各所述有效语音序列样本对应的第二标记信息样本;将各所述有效语音序列样本和对应的第二标记信息样本输入至待训练声纹识别模型,根据各所述有效语音序列样本和对应的第二标记信息样本对所述待训练声纹识别模型进行训练,以获取所述声纹识别模型。
[0026]
在本公开的一些示例性实施例中,所述将各所述有效语音序列样本和对应的第二标记信息样本输入至待训练声纹识别模型,根据各所述有效语音序列样本和对应的第二标记信息样本对所述待训练声纹识别模型进行训练,以获取所述声纹识别模型,包括:将各所述有效语音序列样本输入至所述待训练声纹识别模型中,通过所述待训练声纹识别模型对所述有效语音序列样本进行特征提取,以获取所述有效语音序列样本对应的第二标记信息;根据所述第二标记信息和所述第二标记信息样本确定第二损失函数,通过调整所述待
训练声纹识别模型的参数,直至所述第二损失函数达到最小,以获取所述声纹识别模型。
[0027]
根据本公开的一个方面,提供一种语音处理装置,所述语音处理装置包括:获取模块,用于获取语音序列,对所述语音序列进行分帧处理得到多个语音子序列,提取各所述语音子序列的目标特征;检测模块,用于根据各所述目标特征通过语音检测模型对各所述语音子序列进行检测,并根据检测结果确定有效语音;识别模块,用于根据所述有效语音对应的目标特征通过声纹识别模型确定目标语音;控制模块,用于控制将所述目标语音转发至其它客户端。
[0028]
根据本公开的一个方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述实施例中所述的语音处理方法。
[0029]
根据本公开的一个方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中所述的语音处理方法。
[0030]
由上述技术方案可知,本公开示例性实施例中的语音处理方法及装置、计算机可读存储介质、电子设备至少具备以下优点和积极效果:
[0031]
本公开的语音处理方法通过获取语音序列,对该语音序列进行分帧处理得到多个语音子序列,并提取各语音子序列的目标特征;接着根据各目标特征通过语音检测模型对各语音子序列进行检测,根据检测结果确定有效语音;最后,将有效语音对应的目标特征输入声纹识别模型,通过声纹识别模型从有效语音中筛选出目标语音,并控制将目标语音转发至其它客户端。本公开中的语音处理方法一方面,通过语音检测模型和声纹识别模型对语音序列进行过滤和筛选,过滤掉非有效语音和非目标语音,节省了服务器传输语音序列的带宽,减少了服务器消耗;另一方面,通过语音检测模型和声纹识别模型确定语音序列中的目标语音,提高了语音序列的语音质量,提升了用户的使用体验;又一方面,通过对语音序列进行分帧处理得到多个语音子序列,能够对各语音子序列利用语音检测模型和声纹识别模型进行处理,提高了语音处理的效率,提升了语音处理的准确率。
[0032]
本公开应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
[0033]
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0034]
图1示意性示出了根据本公开的一实施例的语音处理方法的方法流程示意图;
[0035]
图2示意性示出了根据本公开的一实施例的语音处理系统的结构示意图;
[0036]
图3示意性示出了根据本公开的一实施例的提取语音序列中的目标特征的方法流程示意图;
[0037]
图4示意性示出了根据本公开的一实施例的snr检测的方法流程示意图;
[0038]
图5示意性示出了根据本公开的一实施例的获取语音序列对应的噪声能量的方法流程示意图;
[0039]
图6示意性示出了根据本公开的一实施例的对待训练语音检测模型进行训练的流程示意图;
[0040]
图7示意性示出了根据本公开的一实施例的确定有效语音子序列的流程示意图;
[0041]
图8示意性示出了根据本公开的一实施例的声纹识别模型的结构示意图;
[0042]
图9示意性示出了根据本公开的一实施例的筛选目标语音的方法流程示意图;
[0043]
图10示意性示出了根据本公开的一实施例的计算目标表征向量的方法流程示意图;
[0044]
图11示意性示出了根据本公开的一实施例的待训练语音检测模型的结构示意图;
[0045]
图12示意性示出了根据本公开的一实施例的对待训练声纹识别模型进行训练的方法流程示意图;
[0046]
图13示意性示出了根据本公开的具体实施例的语音处理方法的方法流程示意图;
[0047]
图14示意性示出了根据本公开的一实施例的语音处理装置的框图;
[0048]
图15示意性示出了根据本公开的一实施例的电子设备的模块示意图;
[0049]
图16示意性示出了根据本公开的一实施例的程序产品示意图。
具体实施方式
[0050]
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
[0051]
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。
[0052]
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
[0053]
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
[0054]
在本公开的一个实施例中提出了一种语音处理方法,该语音处理方法可以应用于但不限于下述场景:直播语音传输,网络会议语音传输,社交软件的群组中群聊天或群视频中的语音传输,用户语音通话中的语音传输等等,本公开对该语音处理方法的具体应用场景不做具体限定,具体应用场景的变化应该理解为皆属于本公开的保护范围。图1示出了语音处理方法的流程示意图,如图1所示,该语音处理方法至少包括以下步骤:
[0055]
步骤s110:获取语音序列,对语音序列进行分帧处理得到多个语音子序列,提取各语音子序列的目标特征;
[0056]
步骤s120:根据各目标特征通过语音检测模型对各语音子序列进行检测,并根据检测结果确定有效语音;
[0057]
步骤s130:将有效语音对应的目标特征输入声纹识别模型,通过声纹识别模型从有效语音中筛选出目标语音;
[0058]
步骤s140:控制将目标语音转发至其它客户端。
[0059]
本公开实施例中的语音处理方法一方面,通过语音检测模型和声纹识别模型对语音序列进行过滤和筛选,过滤掉非有效语音和非目标语音,节省了服务器传输语音序列的带宽,减少了服务器损耗;另一方面,通过语音检测模型和声纹识别模型确定语音序列中的目标语音,提高了语音序列的语音质量,提升了用户的使用体验;又一方面,通过对语音序列进行分帧处理得到多个语音子序列,能够对各语音子序列利用语音检测模型和声纹识别模型进行处理,提高了语音处理的效率,提升了语音处理的准确率。
[0060]
需要说明的是,本公开实施例所提供的语音处理方法一般由具有计算功能的处理器执行,其中,该处理器可以包括终端设备,也可以包括服务器,还可以是终端设备和服务器组合而成的具有计算功能的处理器,本公开对此不做具体限定。
[0061]
另外,图2示出了语音处理系统的结构示意图,如图2所示,该语音处理系统200包括语音发送端201、服务器端202和语音接收端203。具体地,
[0062]
语音发送端201通过实时录制用户的语音消息形成语音序列,并将语音序列发送至服务器端202中;
[0063]
服务器端202在接收到语音发送端201发送的语音序列之后,会对语音发送端201发送接收成功的反馈信息,并将语音序列发送至语音接收端203;
[0064]
语音接收端203在接收到服务器端202发送的语音序列之后,会对服务器发送接收成功的反馈消息,并将语音序列通过语音播放接口播放该语音序列。
[0065]
其中,本公开的语音处理方法可以应用于消息发送端201,可以应用于服务器端202,还可以应用于语音接收端203,本公开对此不做具体限定。并且,本公开的语音处理装置可以配置于消息发送端201、服务器端202或语音接收端203中,本公开对此不做具体限定。
[0066]
为了使本公开的技术方案更清晰,接下来对语音处理方法的各步骤进行说明。
[0067]
在步骤s110中,获取语音序列,对语音序列进行分帧处理得到多个语音子序列,提取各语音子序列的目标特征。
[0068]
在本公开的示例性实施例中,语音序列包括实时语音序列或非实时语音序列。该实时语音序列可以是用户终端录制的直播中用户的语音序列,也可以是用户终端录制的网络会议中用户的语音序列,还可以是用户终端录制的群聊中用户的语音序列,本公开对此不做具体限定。另外,该非实时语音序列可以是用户终端录制的用户的语音序列,本公开对此不作具体限定。
[0069]
在本公开的示例性实施例中,语音序列包括语音序列对应的用户终端的唯一标识,还包括语音信息,还包括时间序列,该时间序列与语音序列中的语音信息相对应。
[0070]
在本公开的示例性实施例中,目标特征可以包括梅尔频率倒谱系数特征(mfcc,mel frequency cepstrum coefficient)、线性预测倒谱系数特征(lpcc,linear prediction cepstrum coefficient)、线谱频率特征(lsf,linear spectrum frequence),还可以包括梅尔频谱特征(mel spectrogram)等具有语音序列中的原始信息的语音特征中的一个或多个,本公开对此不做具体限定,本公开以梅尔频谱特征为例进行说明。
[0071]
在本公开的示例性实施例中,在对语音序列进行分帧处理之前,还需要对语音序列进行预加重处理。本公开中的语音处理方法通过对语音序列中的高频部分进行预加重处理,去掉口唇辐射的影响,增加了语音序列的高频分辨率,提高了语音处理的效率。
[0072]
在本公开的示例性实施例中,在对语音序列进行预加重处理之后,对预加重处理后的语音序列按照预设帧长和预设帧偏移量对语音序列进行分帧处理,以得到多个语音子序列。其中,所述预设帧长大于所述预设帧偏移量,该预设帧长和预设帧偏移量根据实际情况进行设定,比如,可以将预设帧长设定为25ms,预设帧偏移量设定为10ms,当然,预设帧长和预设帧偏移量还可以进行自定义设定,本公开对此不做具体限定。
[0073]
在本公开的示例性实施例中,提取各语音子序列的目标特征,包括:计算各语音子序列对应的语音能量和梅尔滤波器参数;将各语音子序列的语音能量与梅尔滤波器参数进行点乘得到各语音子序列的目标特征。
[0074]
具体地,计算各语音子序列对应的语音能量,包括:对各语音子序列进行加窗处理,并对加窗处理后的语音子序列进行傅里叶变换得到各语音子序列的傅里叶参数;根据各语音子序列的傅里叶参数计算各语音子序列的语音能量。
[0075]
另外,计算各语音子序列对应的梅尔滤波器参数,包括:对各语音子序列进行梅尔频域的映射变换得到各语音子序列的梅尔频率,并根据各语音子序列的梅尔频率计算各语音子序列对应的梅尔滤波器参数。
[0076]
举例而言,图3示出了本公开示例性实施例中的提取语音序列中的目标特征的流程示意图,如图3所示,该流程至少包括步骤s310至步骤s380,详细介绍如下:
[0077]
在步骤s310中,对语音序列进行预加重处理。
[0078]
在本公开的示例性实施例中,对语音利用公式(1)进行预加重处理,以增加语音序列的高频分辨率,公式(1)如下所示:
[0079]
h(z)=1-αz-1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0080]
其中,h(z)表示预加重处理后的语音序列,α表示预加重系数,0.9<α<1.0,比如,α=0.98,z表示语音序列。
[0081]
在步骤s320中,对预加重后的语音序列进行分帧处理,以得到多个语音子序列。
[0082]
在本公开的示例性实施例中,由于语音序列具有短时平稳性,因此,可以将语音序列分为多个语音子序列进行处理。具体地,根据采样率和每个采样点所占字节数,按照预设帧长和预设帧偏移量对语音序列进行分帧处理,预设帧长大于帧偏移量,即,分帧处理后的每帧语音子序列会有一段相互重叠的部分。
[0083]
在步骤s330中,对各语音子序列进行加窗处理。
[0084]
在本公开的示例性实施例中,加窗处理包括将各语音子序列与窗函数相乘,其中,窗函数可以是矩形窗、汉明窗和汉宁窗,具体可根据实际情况进行选择。比如,本公开中选用汉明窗进行加窗处理,汉明窗对应的窗函数为公式(2),公式(2)如下所示:
[0085][0086]
其中,s
n
表示窗函数,n表示当前样本点,n表示语音序列长度。
[0087]
在步骤s340中,对加窗处理后的语音子序列进行傅里叶变换,以得到各语音子序列的傅里叶参数。
[0088]
在本公开的示例性实施例中,对加窗处理后的语音子序列进行傅里叶变换,具体地,利用公式(3)对加窗后的语音子序列进行傅里叶变换,公式(3)如下所示:
[0089][0090]
其中,s
i
(k)表示傅里叶参数,h(n)加窗处理后的语音子序列。
[0091]
在步骤s350中,根据各语音子序列的傅里叶参数计算各语音子序列的能量频谱。
[0092]
在本公开的示例性实施例中,根据各语音子序列的傅里叶参数,计算傅里叶参数的模长,该傅里叶参数的模长即各语音子序列对应的语音能量。其中,利用公式(4)计算各语音子序列的能量频谱,公式(4)如下所示:
[0093][0094]
其中,e
i
表示语音子序列的语音能量频谱。
[0095]
在步骤s360中,对各语音子序列进行梅尔频域的映射变换,以得到各语音子序列的梅尔频率。
[0096]
在本公开的示例性实施例中,对各语音子序列的频谱进行梅尔频域的映射变换。其中,利用公式(5)对各语音子序列的频谱进行映射变换,公式(5)如下所示:
[0097][0098]
其中,f表示各语音子序列的频率,mel表示各语音子序列的梅尔频率。
[0099]
在步骤s370中,根据各语音子序列的梅尔频率计算各语音子序列对应的梅尔滤波器参数。
[0100]
在本公开的示例性实施例中,根据各语音子序列的频率、梅尔频率和梅尔滤波器频率计算各语音子序列对应的梅尔滤波器参数。其中,利用公式(6)计算各语音子序列的梅尔滤波器参数,公式(6)如下所示:
[0101][0102]
其中,h
m
(k)表示梅尔滤波器参数,f(x)表示梅尔滤波器频率,k表示上述的梅尔频率,m表示第m个语音子序列。
[0103]
在步骤s380中,将各语音子序列的能量频谱与梅尔滤波器参数进行点乘得到各语音子序列的目标特征。
[0104]
在本公开的示例性实施例中,利用公式(7)得到各语音子序列的目标特征,公式(7)如下所示:
[0105]
m=e
i
·
h
m
(k)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
[0106]
其中,m表示语音子序列的目标特征。
[0107]
继续参照图1所示,在步骤s120中,根据各目标特征通过语音检测模型对各语音子序列进行检测,并根据检测结果确定有效语音。
[0108]
在本公开的示例性实施例中,由于语音子序列中含有环境噪声等其它噪声,因此,需要对各语音子序列进行检测,确定包含噪声的有效语音。具体地,本公开实施例提出了两种对各语音子序列进行检测的方法,对两种检测方法的详细介绍如下:
[0109]
第一种,通过信噪比(snr)检测。
[0110]
在本公开的示例性实施例中,图4示出了snr检测的流程示意图,如图4所示,该流程至少包括步骤s410至步骤s430,详细介绍如下:
[0111]
在步骤s410中,获取语音序列中的噪声子序列,并根据噪声子序列计算语音序列对应的噪声能量。
[0112]
在本公开的示例性实施例中,将语音序列的前预设个数的语音子序列作为初始噪声子序列,计算初始噪声子序列的语音能量,将初始噪声子序列的语音能量作为初始噪声能量。
[0113]
其中,前预设个数可以根据实际情况进行设定,比如,在网络会议中,接通网络之后的一段时间,用户不会进行即时语音,这段时间采集到的语音可以作为噪声语音。可以将语音序列中的前10ms作为噪声子序列,也可以将语音序列中的前3个语音子序列作为噪声子序列,可以根据实际应用场景适当增加或者减少预设个数的数量,本公开对此不做具体限定。
[0114]
另外,利用公式(8)计算语音子序列的语音能量,公式(8)如下所示:
[0115][0116]
其中,a表示语音子序列的语音能量或表示噪声子序列的噪声能量,s
n
为语音样本点的值。
[0117]
在本公开的示例性实施例中,由于随着语音时长的推移,噪声能量也在变化,因此,需要实时对初始噪声能量进行更新,以获得噪声能量。获得噪声能量的方法包括:获取语音序列对应的时间序列,根据时间序列、初始噪声能量和语音序列对应的语音能量对噪声能量进行迭代更新。
[0118]
具体地,图5示出了获取语音序列对应的噪声能量的流程示意图,如图5所示,该流程至少包括步骤s510至步骤s530,详细介绍如下:
[0119]
在步骤s510中,根据各语音子序列对应的语音能量确定多个噪声子序列,获取预设时间段内的噪声子序列对应的语音能量。
[0120]
在本公开的示例性实施例中,判断各语音子序列对应的语音能量是否小于能量阈值,在语音子序列对应的语音能量小于能量阈值时,判定该语音子序列为噪声子序列。其中,能量阈值可以根据实际语音环境进行设定,本公开对此不做具体限定。
[0121]
另外,预设时间段根据实际情况进行设定,比如,预设时间段可以是1分钟,即,获取1分钟之内的所有噪声子序列对应的语音能量,根据1多分钟之内的所有噪声子序列对应的语音能量对噪声能量进行更新。当然,预设时间段也可以是30秒,本公开对此不做具体限定。本公开以预设时间段为1分钟为例,并假设1分钟之内对应10个噪声子序列。
[0122]
在步骤s520中,根据噪声能量迭代公式更新噪声能量,将更新噪声能量作为新的初始噪声能量。其中,噪声能量迭代公式如公式(9)所示:
[0123]
a'=(1-β)a'+βmin{a'
1
,...,a'
10
}
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(9)
[0124]
其中,a'表示更新噪声能量,β表示权重参数,该权重参数可根据实际情况进行设定,比如,β的取值范围在0-1之间,本公开对此不做具体限定。a'
1
表示初始噪声能量,a'
10
表示第10个噪声子序列对应的语音能量,min(e'
1
,...,e'
10
)表示取10个噪声子序列对应的语音能量中最小的语音能量。
[0125]
在步骤s530中,重复上述步骤,将更新噪声能量作为语音序列的噪声能量。
[0126]
在本公开的示例性实施例中,噪声能量根据语音序列对应的时间序列不断地在迭代更新。本公开通过实时更新噪声能量,保证了语音检测的有效性,提高了语音处理的效率。
[0127]
继续参照图4所示,在步骤s420中,计算各语音子序列的语音能量,并根据噪声能量和语音能量确定语音子序列对应的信噪比。
[0128]
在本公开的示例性实施例中,利用公式(10)计算各语音子序列对应的信噪比,公式(9)如下所示:
[0129][0130]
其中,snr表示信噪比。
[0131]
另外,通过上述实施例中的公式(8)计算各语音子序列的语音能量,由于上述实施例已对计算语音能量进行详细的描述,此处不再赘述。
[0132]
在步骤s430中,若语音子序列对应的信噪比大于信噪比阈值,则判定语音子序列为有效语音子序列。
[0133]
在本公开的示例性实施例中,判断各语音子序列对应的信噪比是否大于信噪比阈值,若语音子序列对应的信噪比大于信噪比阈值,则判定语音子序列为有效语音子序列;若语音子序列对应的信噪比等于或小于信噪比阈值,则判定语音子序列为非有效语音子序列。其中,信噪比阈值可以根据实际情况进行设定,也可以根据等错误率(eer,equal error rate)计算得到,本公开对此不做具体限定。
[0134]
第二种,通过语音检测模型检测。
[0135]
在本公开的示例性实施例中,语音检测模型包括神经网络模型,比如,该语音检测模型包括双层长短期记忆(lstm,long short term memory)神经网络,双层lstm神经网络是一种改进后的循环神经网络,分为输入门、输出门和遗忘门,利用门单元来选择忘记和记住一些信息。语音检测模型还可以包括cnn,rnnr等其它神经网络,本公开对此不做具体限定。另外,该语音检测模块还可以包括softmax层。
[0136]
在本公开的示例性实施例中,根据各目标特征通过语音检测模型对各语音子序列进行检测,包括:将各目标特征输入语音检测模型中进行特征提取,以得到各目标特征对应的语音子序列的目标概率;若语音子序列的目标概率大于第一概率阈值,则判定语音子序列为有效语音子序列;若语音子序列的目标概率等于或小于第一概率阈值,则判定语音子序列为非有效语音子序列。其中,目标概率包括语音子序列为有效语音的概率,上述第一概率阈值可以根据实际情况进行设定,本公开对此不做具体限定。
[0137]
在本公开的示例性实施例中,在根据各目标特征通过语音检测模型对各语音子序列进行检测之前,还需要对该语音检测模型对应的待训练语音检测模型进行训练。
[0138]
具体地,图6示出了对待训练语音检测模型进行训练的流程示意图,如图6所示,该
流程至少包括步骤s610至步骤s630,详细介绍如下:
[0139]
在步骤s610中,获取多个语音序列样本,其中,语音序列样本包括有效语音样本和非有效语音样本。
[0140]
在本公开的示例性实施例中,有效语音样本可以是采集的人声样本,非有效语音样本可以是采集的环境噪声样本,还可以是采集的汽车噪声样本,本公开对此不做具体限定。
[0141]
在步骤s620中,对各有效语音样本和各非有效语音样本进行标记,以获取各语音序列样本对应的第一标记信息样本。
[0142]
在本公开的示例性实施例中,对各有效语音样本和非有效语音样本打上不同类别标签,将各标签信息作为第一标记信息样本。比如,对各有效语音样本打上第一标签,对各非有效语音样本打上第二标签,第一标签和第二标签不同。另外,该有效语音样本的数量与非有效语音样本的数量可以相同,也可以不相同,本公开对此不做具体限定。
[0143]
在步骤s630中,将各语音序列样本和对应的第一标记信息样本输入至待训练语音检测模型,根据各语音序列样本和对应的第一标记信息样本对待训练语音检测模型进行训练,以获取语音检测模型。
[0144]
在本公开的示例性实施例中,将多个有效语音样本和多个非有效训练样本进行随机打乱,将打乱后的语音序列样本输入待训练语音检测模型。
[0145]
在本公开的示例性实施例中,将各语音序列样本输入至待训练语音检测模型中,通过待训练语音检测模型对语音序列样本进行特征提取,以获取语音序列样本对应的第一标记信息。
[0146]
具体地,通过语音检测模型对语音序列样本进行特征提取,以得到语音序列样本的为有效语音的概率,若语音序列样本为有效语音的概率大于第一概率阈值,则将语音序列样本打上第一标签;若语音序列样本为有效语音的概率等于或小于第一概率阈值,则将语音序列样本打上第二标签,将各语音序列样本的标签信息作为第一标记信息。
[0147]
在本公开的示例性实施例中,根据第一标记信息和第一标记信息样本,通过反向传播算法优化语音检测模型。具体地,根据第一标记信息和第一标记信息样本确定第一损失函数,通过调整待训练语音检测模型的参数,直至第一损失函数达到最小,以获取语音检测模型。其中,第一损失函数可以是smoothing交叉熵函数,可以是aamsoftmax损失函数,还可以是其它的损失函数,本公开对此不做具体限定。
[0148]
在本公开的示例性实施例中,可以采用通过信噪比的检测方法得到有效语音子序列,也可以采用通过语音检测模型的检测方法得到有效语音子序列,还可以同时采用通过信噪比和通过语音检测模型的两种检测方法。比如,利用通过信噪比的检测方法得到第一有效语音子序列集合,利用通过语音检测模型的检测方法得到第二有效语音子序列,通过对第一有效语音子序列集合和第二有效语音子序列集合求并集,得到最终的有效语音子序列。其中,获取第一有效语音子序列和获取第二有效语音子序列的检测过程可以同时进行,也可以不同时进行,本公开对此不做具体限定。
[0149]
在本公开的示例性实施例中,图7示出了确定有效语音子序列的流程示意图,如图7所示,在步骤s710中,获取各语音子序列对应的目标概率和各语音子序列对应的信噪比;在步骤s720中,在语音子序列的目标概率大于第一概率阈值时,判断语音子序列对应的信
噪比是否大于信噪比阈值;在步骤s730中,若语音子序列对应的信噪比大于信噪比阈值,则判定语音子序列为有效语音子序列。
[0150]
在本公开的示例性实施例中,根据检测结果确定有效语音,包括:对语音序列进行滑窗操作,以获取多个连续语音序列,其中,滑窗操作的窗长大于窗偏移量,窗长和窗偏移量根据实际情况进行设定,比如,窗长可以是20帧,窗偏移量可以是10帧,本公开对此不做具体限定。
[0151]
滑窗操作具体包括:首先根据语音序列,以语音序列的第一帧作为滑动窗的起始点,以窗长作为滑动窗的长度获取一连续语音序列;接着,滑动窗每次滑动,以窗偏移量为固定步长进行滑动,滑动窗每滑动一次,便获取一连续语音序列。其中,各连续语音序列中包括多个语音子序列,相邻的连续语音序列中存在重复的语音子序列。
[0152]
另外,由于上述实施例中,已对各语音子序列的有效性进行检测,并已给出各语音子序列为有效语音子序列或非有效语音子序列的检测结果。根据上述对各语音子序列做出的检测结果,获取各连续语音序列中有效语音子序列的个数,若有效语音子序列的个数大于个数阈值,则判定连续语音序列为有效语音;若有效语音子序列的个数等于或小于个数阈值,则判定连续语音序列为非有效语音。
[0153]
其中,个数阈值可以根据实际情况进行设定,比如,可以根据窗偏移量与窗长的比值进行设定,在窗长为20帧,窗偏移量为10帧时,窗偏移量与窗长的比值为0.5,则有效音占比可以设定为0.5,则个数阈值可以设定为10,即若连续语音序列中的语音子序列为有效语音子序列的个数10以上时,该连续语音序列为有效语音。当然,该个数阈值可以设定为8或12,本公开对此不做具体限定。
[0154]
继续参照图1所示,在步骤s130中,将有效语音对应的目标特征输入声纹识别模型,通过声纹识别模型从有效语音中筛选出目标语音。
[0155]
在本公开的示例性实施例中,声纹识别模型能够提取有效语音对应的语音子序列的表征特征向量,通过每个用户对应的表征特征向量的不同,来区别该语音子序列是否为用户本人发出,将用户本人发出的语音作为目标语音。
[0156]
具体地,图8示出了声纹识别模型800的结构示意图,如图8所示,声纹识别模型800包括卷积层801、双层lstm神经网络层802、池化层803、仿射层804。其中,卷积层801可以是多层卷积层、第一仿射层804、第二仿射层805,该第一仿射层也可以是多层仿射变换层,第二仿射层805可以是分类仿射层。该声纹识别模型800还可以包括softmax层,本公开对此不做具体限定。
[0157]
在本公开的示例性实施例中,将有效语音对应的目标特征作为有效目标特征,将有效目标特征输入声纹识别模型800中进行特征提取,以得到有效目标特征对应的有效语音子序列的语音表征向量。
[0158]
在本公开的示例性实施例中,将有效目标特征输入声纹识别模型800中进行特征提取,以得到有效目标特征对应的有效语音子序列的语音表征向量,包括:将有效目标特征输入声纹识别模型800中,利用卷积层和双层lstm神经网络层依次对有效目标特征进行特征提取,以获取有效目标特征的深层特征,其中,深层特征包括时间维度和特征维度;将深层特征输入池化层进行特征提取,以获取深层特征在所述时间维度上的最大值特征和均值特征,并将最大值特征和均值特征进行求和得到隐层特征;将隐层特征输入第一仿射层进
行仿射变换,以获得有效语音子序列的语音表征向量。
[0159]
具体地,将各有效目标特征输入声纹识别模型800中,首先,将各有效目标特征输入卷积层801,通过卷积层801利用卷积核对各有效目标特征进行特征提取,得到各有效目标特征对应的第一语音特征;其中,卷积核的大小根据实际情况进行设定,本公开对此不做具体限定。
[0160]
然后,将各第一语音特征输入双层lstm神经网络层802,通过双层lstm层802对各第一语音特征进行特征提取,得到各第一语音特征对应的深层特征;其中,深层特征包括时间维度和特征维度。
[0161]
接着,将各深层特征输入池化层803,通过池化层803对深层特征进行时间维度上的特征提取,提取深层特征在时间维度上的最大值特征和均值特征,再将最大值特征和均值特征进行求和,获得只有特征维度上的隐层特征。
[0162]
最后,将各隐层特征输入第一仿射层804,通过第一仿射层804对各隐层特征进行特征提取,获得各隐层特征对应的语音表征向量。
[0163]
另外,该声纹识别模型800还会将语音表征向量输入第二放射层进行特征提取,并将特征提取的结果输入softmax层,以得到各有效语音序列样本为目标语音的概率。这一步在对待训练声纹识别模型以获得声纹识别模型中至关重要,但是在利用声纹识别模型的应用筛选目标语音中可以不使用。
[0164]
在本公开的示例性实施例中,在获得了各有效语音子序列对应的语音表征向量之后,获取目标用户的语音序列对应的目标表征向量。图9示出了筛选目标语音的流程示意图,如图9所示,该筛选目标语音的流程至少包括步骤s910至步骤s930,详细介绍如下:
[0165]
在步骤s910中,获取目标表征向量,根据语音表征向量和目标表征向量计算有效语音子序列对应的plda评分(probabilistic linear discriminant analysis,概率线性判别分析)。
[0166]
在本公开的示例性实施例中,plda评分用来计算语音表征向量与目标保证向量之间的相似度,即plda评分可以用来判断有效语音是否为目标用户发出。在plda评分越高时,有效语音为目标用户发出的概率也就越大,在plda评分越低时,有效语音为目标用户发出的概率也就越小。
[0167]
利用公式(11)计算有效语音子序列对应的plda评分,公式(11)如下所示:
[0168][0169]
其中,score表示plda评分,η
1
和η
2
分别表示语音表征向量和目标表征向量的d-vector矢量,p(η
1

2
|h
s
)表示语音表征向量和目标表征向量来自同一空间的似然函数,p(η
1
|h
d
)和p(η
2
|h
d
)分别表示语音表征向量和目标表征向量来自不同空间的似然函数。
[0170]
在步骤s920中,判断各有效语音子序列对应的plda评分是否大于评分阈值。
[0171]
在本公开的示例性实施例中,评分阈值可以根据实际情况进行设定,也可以根据eer计算所得,本公开对此不做具体限定。
[0172]
在步骤s930中,若plda评分大于评分阈值,则有效语音子序列为目标语音。
[0173]
在本公开的示例性实施例中,在有效语音子序列对应的plda评分大于评分阈值时,判定该有效语音子序列为目标语音子序列,多个目标有效语音子序列组成目标语音。
[0174]
在本公开的示例性实施例中,若消息处理方法应用于消息发送端201,则消息发送端201将目标语音发送至服务器端202,以使服务器端202将目标语音转发至一个或多个消息接收端203;若消息处理方法应用于服务器端202,则服务器端202在接收到消息发送端201发送的语音序列后,利用消息处理方法获得目标语音,并将目标语音发送至一个或多个消息接收端203。若消息处理方法应用于消息接收端203,则消息接收端203将通过语音处理方法处理后获得的目标语音通过广播接口进行广播。
[0175]
另外,获取目标用户的语音序列对应的目标表征向量有两种方法,详细介绍如下:
[0176]
第一种,利用目标用户注册的语音序列获取目标表征向量。
[0177]
在本公开的示例性实施例中,获取目标用户在对应的目标用户终端注册的语音序列,根据注册的语音序列,利用上述实施例中的语音处理方法,获取该注册的语音序列的表征向量。若获取目标用户注册的多个语音序列,可以求注册的多个语音序列对应的平均表征向量作为目标表征向量。
[0178]
具体地,获取注册的语音序列,对注册的语音序列进行分帧处理得到多个注册语音子序列,提取各注册语音子序列的注册目标特征;根据各注册目标特征输入声纹识别模型800,通过该声纹识别模型800获取注册的语音序列对应的目标表征向量。
[0179]
其中,该提取各注册语音子序列的注册目标特征和获取目标表征向量的过程在上述实施例中已经详细描述,在此不做赘述。
[0180]
第二种,利用有效语音和有效语音对应的plda评分迭代计算目标表征向量。
[0181]
在本公开的示例性实施例中,图10示出了计算目标表征向量的流程示意图,如图10所示,该计算目标表征向量的流程至少包括步骤s1010至步骤s1030,详细介绍如下:
[0182]
在步骤s1010中,在有效语音中获取第一有效语音,将第一有效语音作为初始语音序列。
[0183]
在本公开的示例性实施例中,第一有效语音可以取有效语音中的第一帧有效语音子序列,也可以取有效语音中的第二帧有效语音子序列作为第一有效语音,本公开对此不做具体限定。
[0184]
在步骤s1020中,将初始语音序列对应的目标特征输入声纹识别模型800进行特征提取,以获取初始语音序列对应的初始表征向量,并将初始表征向量作为目标表征向量计算初始plda评分。
[0185]
在本公开的示例性实施例中,初始表征向量的获取方法以及计算plda评分的方法已在上述实施例中进行详细描述,此处不再赘述。
[0186]
在步骤s1030中,根据初始表征向量、时间序列和plda评分更新目标表征向量。
[0187]
在本公开的示例性实施例中,在时间序列中获取初始语音序列对应的时间戳和当前有效语音子序列对应的当前时间戳。根据初始表征向量、初始表征向量对应的plda评分和初始表征向量对应的时间戳与当前时间戳的时间差,计算更新表征向量。其中,计算更新表征向量的过程如公式(12)所示:
[0188]
v
n
=(1-χ(t
n-t
n-1
)-δs)*v
n
+(χ(t
n-t
n-1
)+δs)*v
n-1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(12)
[0189]
其中,v
n
表示更新表征向量,v
n-1
初始表征向量,t
n-t
n-1
表示当前时间戳与初始语音序列对应的时间戳的时间差,s表示更新表征向量与初始表征向量对应的plda评分,χ表示预设的超参时间的权重,δ表示初始plda评分的权重。
[0190]
然后,将更新表征向量作为新的初始表征向量,重复上一步骤,将更新表征向量作为目标表征向量。
[0191]
在本公开的示例性实施例中,目标表征向量能量根据语音序列对应的时间序列不断地在迭代更新。本公开通过实时更新目标表征向量,保证了语音检测的有效性,提高了语音处理的效率。
[0192]
在本公开的示例性实施例中,在根据通过声纹识别模型800从有效语音中筛选出目标语音之前,还需要对该声纹识别模型800对应的待训练声纹识别模型800进行训练。图11示出了待训练声纹识别模型的结构示意图,如图11所示,待训练声纹识别模型1100包括:包括待训练卷积层1101、待训练双层lstm神经网络层1102、待训练池化层1103、待训练第一仿射层1104、待训练第二仿射层1105。
[0193]
具体地,图12示出了对待训练声纹识别模型1100进行训练的流程示意图,如图12所示,该流程至少包括步骤s1210至步骤s1230,详细介绍如下:
[0194]
在步骤s1210中,获取多个有效语音序列样本,其中,有效语音序列样本包括目标语音序列样本和非目标语音序列样本。
[0195]
在本公开的示例性实施例中,目标语音序列样本可以是采集的目标用户的多段语音序列,非目标语音序列样本可以是采集的非目标用户的多段语音序列。
[0196]
在步骤s1220中,对各目标语音序列样本和各非目标语音序列样本进行标记,以获取各有效语音序列样本对应的第二标记信息样本。
[0197]
在本公开的示例性实施例中,对各目标语音样本和非目标语音样本打上不同类别标签,将各标签信息作为第二标记信息样本。比如,对各目标语音样本打上第三标签,对各非目标语音样本打上第四标签,第三标签和第四标签不同。另外,该目标语音样本的数量与非目标语音样本的数量可以相同,也可以不相同,本公开对此不做具体限定。
[0198]
在步骤s1230中,将各有效语音序列样本和对应的第二标记信息样本输入至待训练声纹识别模型1100,根据各有效语音序列样本和对应的第二标记信息样本对待训练声纹识别模型1100进行训练,以获取声纹识别模型800。
[0199]
在本公开的示例性实施例中,将各有效语音序列样本输入至待训练声纹识别模型1100中,通过待训练声纹识别模型1100对有效语音序列样本进行特征提取,以获取有效语音序列样本对应的第二标记信息。
[0200]
具体地,通过声纹识别模型对有效语音序列样本进行特征提取,以得到有效语音序列样本为目标语音的概率,若有效语音序列样本为目标语音的概率大于第二概率阈值,则将有效语音序列样本打上第三标签;若有效语音序列样本为目标语音的概率等于或小于第二概率阈值,则将目标语音序列样本打上第四标签,将各有效语音序列样本的标签信息作为第二标记信息。
[0201]
另外,通过声纹识别模型对有效语音序列样本进行特征提取的过程具体包括:
[0202]
首先,将各有效语音序列样本对应的目标特征输入待训练卷积层1101进行特征提取,得到各有效语音序列样本对应的第二语音特征;
[0203]
然后,将第二语音特征输入待训练双层lstm神经网络层1102,进行特征提取,得到各第二语音特征对应的深层特征;其中,各第二语音特征对应的深层特征包括时间维度和特征维度。
[0204]
接着,将各第二语音特征对应的深层特征输入待训练池化层1103,通过待训练池化层1103对第二语音特征对应的深层特征进行时间维度上的特征提取,获得各第二语音特征对应的隐层特征。
[0205]
再然后,将各第二语音特征对应的隐层特征输入待训练第一仿射层1104,通过待训练仿射层1104对各第二语音特征对应的隐层特征进行特征提取,获得各第二语音特征对应的语音表征向量。
[0206]
最后,将各第二语音特征对应的语音表征向量输入第二仿射层1105,得到目标语音特征,再将目标语音特征输入softmax层进行归一化,以得到各有效语音序列样本为目标语音的概率,其中,目标语音特征包括该有效语音子序列为目标用户发出的概率特征。
[0207]
在本公开的示例性实施例中,根据第二标记信息和第二标记信息样本确定第二损失函数,通过调整待训练声纹识别模型1100的参数,直至第二损失函数达到最小,以获取声纹识别模型800。
[0208]
具体地,根据第二标记信息和第二标记信息样本,通过反向传播算法优化声纹识别模型800。具体地,根据第二标记信息和第二标记信息样本确定第二损失函数,通过调整待训练声纹识别模型1100的参数,直至第二损失函数达到最小,以获取声纹识别模型800。其中,第二损失函数可以是smoothing交叉熵函数,可以是aamsoftmax损失函数,还可以是其它的损失函数,本公开对此不做具体限定。
[0209]
继续参照图1,在步骤s140中,控制将目标语音转发至其它客户端。
[0210]
在本公开的示例性实施例中,获取客户端的语音序列,对语音序列利用本公开的语音处理方法进行处理得到目标语音,控制将目标语音转发至其它客户端。其中,该客户端和其它客户端可以是同一会议中的客户端,在目标语音之后,通过获取其它客户端的客户端标识,将目标语音转发至其它客户端。
[0211]
图13示出了具体实施例的语音处理方法的流程示意图,如图13所示,该语音处理方法的流程至少包括步骤s1310至步骤s1370,详细介绍如下:
[0212]
在步骤s1310中,获取语音序列;在步骤s1320中,对语音序列进行分帧处理以得到多个语音子序列,并对各语音子序列进行特征提取以得到与各语音子序列对应的目标特征;在步骤s1330中,将各目标特征输入语音检测模块进行检测,根据检测结果确定有效语音;在步骤s1340中,将有效语音对应的有效目标特征输入声纹识别模型,判断是否存在目标用户的语音序列;在步骤s1350中,若存在目标用户对应的语音序列,则通过声纹识别模型分别获取有效语音和目标用户的语音序列对应的语音表征向量和目标表征向量,并根据plda评分确定目标有效子序列;在步骤s1360中,若不存在目标用户对应的语音序列,则获取第一有效语音计算初始表征向量,并通过有效语音和有效语音对应的plda评分对初始表征向量进行更新以获得目标表征向量,并执行步骤s1350;在步骤s1370中,将目标有效子序列组成目标语音。
[0213]
本领域技术人员可以理解实现上述实施方式的全部或部分步骤被实现为由cpu执行的计算机程序。在该计算机程序被cpu执行时,执行本发明提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。
[0214]
此外,需要注意的是,上述附图仅是根据本发明示例性实施方式的方法所包括的
处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
[0215]
以下介绍本公开的装置实施例,可以用于执行本公开上述的语音处理方法。对于本公开装置实施例中未披露的细节,请参照本公开上述的语音处理方法的实施例。
[0216]
图14示意性示出了根据本公开的一个实施例的语音处理装置的框图。
[0217]
参照图14所示,根据本公开的一个实施例的语音处理装置1400,语音处理装置1400包括:获取模块1401、检测模块1402、识别模块1403和控制模块1404,具体地:
[0218]
获取模块1401,用于获取语音序列,对语音序列进行分帧处理得到多个语音子序列,提取各语音子序列的目标特征;
[0219]
检测模块1402,用于根据各目标特征通过语音检测模型对各语音子序列进行检测,并根据检测结果确定有效语音;
[0220]
识别模块1403,用于将有效语音对应的目标特征输入声纹识别模型800,通过声纹识别模型800从有效语音中筛选出目标语音;
[0221]
控制模块1404,用于控制将目标语音转发至其它客户端。
[0222]
在本公开的示例性实施例中,获取模块1401还可以用于计算各语音子序列对应的语音能量和梅尔滤波器参数;将各语音子序列的语音能量与梅尔滤波器参数进行点乘得到各语音子序列的目标特征。
[0223]
在本公开的示例性实施例中,检测模块1402还可以用于将各目标特征输入语音检测模型中进行特征提取,以得到各目标特征对应的语音子序列的目标概率;在语音子序列的目标概率大于第一概率阈值时,则判定语音子序列为有效语音子序列。
[0224]
在本公开的示例性实施例中,识别模块1403还可以用于将有效语音对应的目标特征作为有效目标特征,将有效目标特征输入声纹识别模型中进行特征提取,以得到有效目标特征对应的有效语音子序列的语音表征向量;获取目标表征向量,根据语音表征向量和目标表征向量计算有效语音子序列对应的plda评分;若plda评分大于评分阈值,则有效语音子序列为目标语音。
[0225]
在本公开的示例性实施例中,识别模块1403还可以用于将有效目标特征输入声纹识别模型中,利用卷积层和双层长短期记忆层依次对有效目标特征进行特征提取,以获取有效目标特征的深层特征,其中,深层特征包括时间维度和特征维度;将深层特征输入池化层进行特征提取,以获取深层特征在时间维度上的最大值特征和均值特征,并将最大值特征和均值特征进行求和得到隐层特征;将隐层特征输入仿射层进行仿射变换,以获得有效语音子序列的语音表征向量。
[0226]
上述各语音处理装置的具体细节已经在对应的语音处理方法中进行了详细的描述,因此此处不再赘述。
[0227]
应当注意,尽管在上文详细描述中提及了用于执行的设备的若干模块或者模型,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者模型的特征和功能可以在一个模块或者模型中具体化。反之,上文描述的一个模块或者模型的特征和功能可以进一步划分为由多个模块或者模型来具体化。
[0228]
在本公开的示例性实施例中,还提供了一种能够实现上述方法的电子设备。
[0229]
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
[0230]
下面参照图15来描述根据本发明的这种实施方式的电子设备1500。图15显示的电子设备1500仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
[0231]
如图15所示,电子设备1500以通用计算设备的形式表现。电子设备1500的组件可以包括但不限于:上述至少一个处理模型1510、上述至少一个存储模型1520、连接不同系统组件(包括存储模型1520和处理模型1510)的总线1530、显示模型1540。
[0232]
其中,所述存储模型存储有程序代码,所述程序代码可以被所述处理模型1510执行,使得所述处理模型1510执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理模型1510可以执行如图1中所示的步骤s110,获取语音序列,对语音序列进行分帧处理得到多个语音子序列,提取各语音子序列的目标特征;步骤s120,根据各目标特征通过语音检测模型对各语音子序列进行检测,并根据检测结果确定有效语音;步骤s130,将有效语音对应的目标特征输入声纹识别模型800,通过声纹识别模型800从有效语音中筛选出目标语音。
[0233]
存储模型1520可以包括易失性存储模型形式的可读介质,例如随机存取存储模型(ram)15201和/或高速缓存存储模型15202,还可以进一步包括只读存储模型(rom)15203。
[0234]
存储模型1520还可以包括具有一组(至少一个)程序模块15205的程序/实用工具15204,这样的程序模块15205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
[0235]
总线1530可以为表示几类总线结构中的一种或多种,包括存储模型总线或者存储模型控制器、外围总线、图形加速端口、处理模型或者使用多种总线结构中的任意总线结构的局域总线。
[0236]
电子设备1500也可以与一个或多个外部设备1700(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得观众能与该电子设备1500交互的设备通信,和/或与使得该电子设备1500能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口1550进行。并且,电子设备1500还可以通过网络适配器1560与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图15所示,网络适配器1560通过总线1530与电子设备1500的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备1500使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理模型、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
[0237]
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
[0238]
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。
[0239]
参考图16所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品1600,其可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0240]
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读序列介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0241]
计算机可读序列介质可以包括在基带中或者作为载波一部分传播的数据序列,其中承载了可读程序代码。这种传播的数据序列可以采用多种形式,包括但不限于电磁序列、光序列或上述的任意合适的组合。可读序列介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0242]
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。
[0243]
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
[0244]
此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
[0245]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
[0246]
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1