语音分离方法、装置、计算机设备和存储介质与流程

文档序号:24123630发布日期:2021-03-02 12:30阅读:79来源:国知局
语音分离方法、装置、计算机设备和存储介质与流程

[0001]
本申请涉及计算机技术领域,特别是涉及一种语音分离方法、装置、计算机设备和存储介质。


背景技术:

[0002]
现有的语音分离技术中,主要通过传感器的硬件支持或软件预分离的处理方式,对采集的声音进行鉴别、分析,从而在包含多个说话人语音的音频中,分别提取出每个说话人对应的语音。
[0003]
然而,对传感器的依赖容易造成语音分离成本过高,而采用软件预分离的方式,针对差别细微的语音信号的分离效果不佳。这导致现有的语音分离技术难以兼顾分离成本和分离效果。


技术实现要素:

[0004]
基于此,有必要针对上述技术问题,提供一种语音分离方法、装置、计算机设备和存储介质。
[0005]
本申请实施例提出一种语音分离方法,所述方法包括:
[0006]
获取待分离语音音频;
[0007]
根据所述待分离语音音频,得到其对应的多个音频切片;
[0008]
根据各个音频切片对应的频谱数据得到对应人耳听觉接受频率的目标频谱,并根据所述目标频谱确定各个音频切片对应的第一声纹特征;
[0009]
将多个音频切片对应的多个第一声纹特征输入到预先训练的声纹识别模型;所述声纹识别模型用于识别所述多个第一声纹特征之间的差别特征,并基于所述差别特征得到所述多个音频切片各自对应的第二声纹特征;
[0010]
根据所述第二声纹特征对多个音频切片进行聚类,根据聚类结果对所述待分离语音音频中不同发音对象的语音音频进行语音分离。
[0011]
在其中一个实施例中,所述根据所述目标频谱,确定各个音频切片对应的第一声纹特征,包括:
[0012]
针对每个目标频谱,获取目标频谱中各个频率值对应的对数,并对所述对数进行离散余弦变换,得到所述目标频谱对应的倒谱系数,并确定为对应音频切片的第一声纹特征。
[0013]
在其中一个实施例中,所述方法还包括:
[0014]
将具有发音对象标签的多个第一样本声纹特征输入至深度残差网络模型;所述深度残差网络模型用于识别所述多个第一样本声纹特征之间的差别特征,并基于所述差别特征输出发音对象预测值;
[0015]
根据所述深度残差网络模型输出发音对象预测值和所述发音对象标签,确定所述深度残差网络模型的训练误差;
[0016]
当所述训练误差大于预设误差阈值时,调整所述深度残差网络模型,返回将具有发音对象标签的多个第一样本声纹特征输入至深度残差网络模型的步骤,直到所述训练误差小于预设误差阈值,获取当前的深度残差网络模型为所述声纹识别模型。
[0017]
在其中一个实施例中,所述第二声纹特征为经过所述声纹识别模型中的卷积残差单元、恒等残差单元和池化残差单元对所述第一声纹特征进行处理后,输入至所述声纹识别模型中的全连接层的声纹特征向量,所述根据所述第二声纹特征对多个音频切片进行聚类,包括:
[0018]
根据各音频切片对应的声纹特征向量,确定音频切片与聚类中心的相似度,根据所述相似度对多个音频切片进行多次聚类;
[0019]
从多次聚类中确定聚类结果最佳的目标聚类;
[0020]
从所述目标聚类对应的多个类簇中,筛选出类簇中音频切片数量大于或等于切片阈值的有效类簇,作为所述多个音频切片的聚类结果。
[0021]
在其中一个实施例中,所述根据各音频切片对应的声纹特征向量,确定音频切片与聚类中心的相似度,根据所述相似度对多个音频切片进行多次聚类,包括:
[0022]
获取聚类中心,并根据各个音频切片对应的声纹特征向量,确定各个音频切片与各个聚类中心对应的余弦距离,由此确定各个音频切片与各个聚类中心的相似度;
[0023]
根据所述相似度,将各个音频切片聚类至对应聚类中心的类簇中,直到聚类收敛;
[0024]
判断当前类簇数量是否小于预设的发音对象数量阈值;
[0025]
若是,增加聚类中心数量,并返回获取聚类中心,根据各个音频切片对应的声纹特征向量,确定各个音频切片与各个聚类中心的相似度的步骤;
[0026]
若否,停止聚类。
[0027]
在其中一个实施例中,每个音频切片具有对应的时序编号,所述根据聚类结果对所述待分离语音音频中不同发音对象的语音音频进行语音分离,包括:
[0028]
针对聚类结果中每个类簇,根据类簇中各个音频切片对应的时序编号,对多个连续音频切片进行拼接,得到拼接音频;
[0029]
将所述拼接音频段确定为所述待分离语音音频中单个发音对象对应的语音分离结果。
[0030]
在其中一个实施例中,还包括:
[0031]
获取所述拼接音频中首个语音切片对应的时序编号,作为首切片时序编号;
[0032]
根据所述首切片时序编号,对多个拼接音频进行排序,得到语音分离对应的对话记录。
[0033]
本申请实施例提出一种语音分离装置,所述装置包括:
[0034]
音频获取模块,用于获取待分离语音音频;
[0035]
音频切片获取模块,用于根据所述待分离语音音频,得到其对应的多个音频切片;
[0036]
第一声纹特征获取模块,用于根据各个音频切片对应的频谱数据得到对应人耳听觉接受频率的目标频谱,并根据所述目标频谱确定各个音频切片对应的第一声纹特征;
[0037]
第二声纹特征获取模块,用于将多个音频切片对应的多个第一声纹特征输入到预先训练的声纹识别模型;所述声纹识别模型用于识别所述多个第一声纹特征之间的差别特征,并基于所述差别特征得到所述多个音频切片各自对应的第二声纹特征;
[0038]
聚类模块,用于根据所述第二声纹特征对多个音频切片进行聚类,根据聚类结果对所述待分离语音音频中不同发音对象的语音音频进行语音分离。
[0039]
本申请实施例提出一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如上所述方法的步骤。
[0040]
本申请实施例提出一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述方法的步骤。
[0041]
上述实施例提出的一种语音分离方法、装置、计算机设备和存储介质,通过获取待分离语音音频对应的多个音频切片,根据各个音频切片对应的频谱数据得到对应人耳听觉接受频率的目标频谱,并根据目标频谱确定各个音频切片对应的第一声纹特征,将多个音频切片对应的多个第一声纹特征输入到预先训练的声纹识别模型,根据第二声纹特征对多个音频切片进行聚类,根据聚类结果对所述待分离语音音频中不同发音对象的语音音频进行语音分离,实现了语音分离成本和语音分离效果的兼顾,通过获取人耳听觉接受频率的目标频谱,能够模拟人耳对声音的感知,减少对硬件的依赖;并且,通过声纹识别模型能够准确识别声音细节特征,有效提高语音分离的准确度。
附图说明
[0042]
图1为一个实施例中一种语音分离方法的流程示意图;
[0043]
图2为一个实施例中一种深度残差网络训练步骤的流程示意图;
[0044]
图3为一个实施例中一种深度残差网络模型的结构示意图;
[0045]
图4为一个实施例中一种获取聚类结果的步骤的流程示意图;
[0046]
图5为一个实施例中一种音频切片聚类步骤的流程示意图;
[0047]
图6为一个实施例中一种语音分离装置的结构框图;
[0048]
图7为一个实施例中计算机设备的内部结构图。
具体实施方式
[0049]
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0050]
为了便于对本申请实施例的理解,先对现有技术中的语音分离方法进行说明。在现有的语音分离技术中,可以基于多种传感器的硬件支持和预分离的处理方式,从包含多个说话人语音的音频中分离出各个说话人对应的语音。其中,通过硬件支持的方式,是通过多种传感器确定音源位置和音源姿态,过分依赖传感器导致语音分离成本过高,采用软件预分离的方式则是根据采集的声音信号的声调、吼声、气声等信息提取子空间信号量,该方法需要依赖工作人员的经验判断,对存在细微差别的语音分离效果不佳。上述方法难以兼顾语音分离成本和分离效果。
[0051]
基于此,在一个实施例中,如图1所示,本申请提供了一种语音分离方法,本实施例以该方法应用于终端进行举例说明,可以理解的是,该方法也可以应用于服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。本实施例中,该方法包括以下步骤:
[0052]
步骤101,获取待分离语音音频。
[0053]
在实际应用中,可以获取待进行语音分离的待分离语音音频。
[0054]
具体的,用户可以通过录音笔、移动终端等带有录音功能的设备进行录音,获取语音音频,在语音音频中,可以包含有多个发音对象的语音,例如多人对话录音。用户在获取语音音频后,可以将语音音频输入到终端中,以使终端获取到待分离语音音频。当然,本申请中输入至终端的语音音频并不限于对话录音,还可以包括多媒体文件对应的音频,例如音乐文件对应的语音音频、视频文件对应的语音音频,本申请对此不作具体限制。
[0055]
步骤102,根据所述待分离语音音频,得到其对应的多个音频切片。
[0056]
由于待分离语音音频往往具有一定的音频长度,当音频长度超过阈值时,容易对语音分离效果产生影响,基于此,在得到待分离语音音频后,可以获取待分离语音音频对应的多个音频切片,每个音频切片的长度可以相同,也可以存在差异,本领域技术人员可以根据实际需要确定各个音频切片的音频长度,本实施例不对音频切片的长度作具体限制。
[0057]
步骤103,根据各个音频切片对应的频谱数据得到对应人耳听觉接受频率的目标频谱,并根据所述目标频谱确定各个音频切片对应的第一声纹特征。
[0058]
在具体实现中,音频切片可以具有对应的频谱数据,频谱数据中可以包括处于不同频率的语音信号,在获取到多个音频切片后,可通过对该频谱数据进行过滤,得到对应人耳听觉接受频率的目标频谱,并根据各个音频切片对应的目标频谱,确定出各个音频切片对应的第一声纹特征。
[0059]
步骤104,将多个音频切片对应的多个第一声纹特征输入到预先训练的声纹识别模型;所述声纹识别模型用于识别所述多个第一声纹特征之间的差别特征,并基于所述差别特征得到所述多个音频切片各自对应的第二声纹特征。
[0060]
在实际应用中,可以预先训练声纹识别模型,该声纹识别模型可以用于识别输入的多个第一声纹特征之间的差别特征,例如声纹特征之间的细微差别,进而根据差别特征输出与各个音频切片对应的第二声纹特征。
[0061]
基于此,在获取到各个音频切片对应的第一声纹特征后,可以将第一声纹特征输入到预先训练好的声纹识别模型中。
[0062]
步骤105,根据所述第二声纹特征对多个音频切片进行聚类,根据聚类结果对所述待分离语音音频中不同发音对象的语音音频进行语音分离。
[0063]
作为一示例,发音对象可以是人,例如对话过程中多个说话人,当然,发音对象也可以所有具有发音能力的对象,例如动物、昆虫;或者,发音对象也可以是通过碰撞、震动产生声音的对象,例如环境噪音、风声等。
[0064]
在具体实现中,由于第二声纹特征是可以有效区分不同声音的细节特征,在获取到各个音频切片对应的第二声纹特征后,可以根据各个第二声纹特征对多个音频切片进行聚类,并根据聚类结果,确定待分离语音音频中由不同发音对象发出的语音音频,进而实现语音分离。
[0065]
在本实施例中,通过获取待分离语音音频对应的多个音频切片,根据各个音频切片对应的频谱数据得到对应人耳听觉接受频率的目标频谱,并根据目标频谱确定各个音频切片对应的第一声纹特征,将多个音频切片对应的多个第一声纹特征输入到预先训练的声纹识别模型,根据第二声纹特征对多个音频切片进行聚类,根据聚类结果对所述待分离语
音音频中不同发音对象的语音音频进行语音分离,实现了语音分离成本和语音分离效果的兼顾,通过获取人耳听觉接受频率的目标频谱,能够模拟人耳对声音的感知,减少对硬件的依赖;并且,通过声纹识别模型能够准确识别声音细节特征,有效提高语音分离的准确度。
[0066]
在一个实施例中,所述根据所述待分离语音音频,得到其对应的多个音频切片,可以包括如下步骤:
[0067]
对所述待分离语音音频进行降噪处理;获取预设切分长度,基于所述切分长度对降噪后的待分离语音音频进行切分,得到多个音频切片。
[0068]
在实际应用中,可以对待分离语音音频进行降噪处理,将低于分贝阈值的冗余噪音过滤掉,在降噪处理后,可以获取预设的切分长度,并根据该切分长度对降噪后的待分离语音音频进行切分,例如可以按照该切分长度,将待分离语音音频划分为多个音频切片,每个音频切片的切片长度可以与切分长度相等。
[0069]
在本实施例中,通过对待分离语音音频进行降噪处理,可以降低环境噪声对后续语音分离过程的干扰,提高语音分离的准确度。
[0070]
在一个实施例中,可以通过如下步骤获取各个音频切片对应的频谱数据:
[0071]
对各个音频切片进行预处理,得到处理后的切片数据;所述预处理包括高频分量补偿处理、分帧处理、帧间平滑处理中至少一项;将所述切片数据由时域信号转换为频域信号,得到各音频切片对应的频谱数据。
[0072]
在实际应用中,在获取到多个音频切片后,可以对各个音频切片进行预处理,得到处理后的切片数据,其中,预处理可以包括高频分量补偿、分帧处理、帧间平滑处理中的任一种或多种。具体而言,在进行预处理时,针对每个音频切片,可以对音频切片中信号的高频分量进行补偿,在补偿后,可以进行分帧处理。在分帧处理时,可以设置重叠率,使得帧与帧之间存在一定的信号重叠,保证音频信号的帧内平稳。在分帧后,每一帧的开始和结束都会出现间断,导致分割的帧越多,与原始音频信号的误差就越大,基于此,可以使用预设窗函数对分帧后的音频信号进行处理,使帧与帧之间变得平滑,其中预设的窗函数可以是汉明窗。
[0073]
对预处理后的各个切片数据,可以将切片数据由时域信号转换为频域信号,得到各个音频切片对应的频谱数据。具体的,可以通过短时傅里叶变换(stft,short-time fourier transform)将时域信号转换为频域信号。
[0074]
在本实施例中,通过对各个音频切片进行预处理,可以提高语音信噪比,并得到音频切片对应的频谱数据,便于后续进行第一声纹特征的提取。
[0075]
在一个实施例中,所述根据所述频谱数据得到对应人耳听觉接受频率的目标频谱,可以包括如下步骤:
[0076]
采用预设滤波器对多个音频切片对应的频谱数据进行过滤,得到对应人耳听觉接受频率的多个频谱,作为目标频谱。
[0077]
作为一示例,预设滤波器具有获取人耳听觉接受频率对应频谱的功能,例如,预设滤波器可以是梅尔滤波器,梅尔滤波器也可以成为梅尔刻度滤波器,针对语音信号,梅尔滤波器具有在低频部分的分辨率高、高频部分的分辨率低的特点,而人耳恰恰对低频信号更加敏感。在实际应用中,可以采用预设滤波器对多个音频切片对应的频谱数据进行过滤,得到对应人耳听觉接受频率的多个频谱,作为目标频谱。
[0078]
在本实施例中,采用预设滤波器对频谱数据进行过滤并得到目标频谱,能够使得过滤后的语音信号中每个频率段与人类听觉接受的频率对应,达到还原人类听觉特性的效果。
[0079]
在一个实施例中,所述根据所述目标频谱,确定各个音频切片对应的第一声纹特征,可以包括如下步骤:
[0080]
针对每个目标频谱,获取目标频谱中各个频率值对应的对数,并对所述对数进行离散余弦变换,得到所述目标频谱对应的倒谱系数,并确定为对应音频切片的第一声纹特征。
[0081]
在具体实现中,当获取到各个音频切片对应的目标频谱后,针对每个目标频谱,可以进行对数计量处理,获取目标频谱中各个频率值对应的对数,在进行对数计量处理后,可以进行离散余弦变换(discrete cosine transform,dct),得到每帧目标频谱对应的倒谱系数,并且将每帧目标频谱对应的倒谱系数确定为对应音频切片的第一声纹特征。针对多个音频切片对应的第一声纹特征,可以按照各个音频切片的切片时间,对多个第一声纹特征进行排列,得到包含多个第一声纹特征的声纹时频矩阵。
[0082]
在一个示例中,当目标频谱为梅尔频谱时,目标频谱对应的倒谱系数可以是梅尔倒谱系数(mel frequency cepstrum coefficient,mfcc)。
[0083]
在本实施例中,将目标频谱对应的倒谱系数确定为对应音频切片的第一声纹特征,能够将人耳可以感知的声音特征作为音频切片的特征,减少语音分离过程中对于硬件的依赖。
[0084]
在一个实施例中,如图2所示,所述方法还可以包括如下步骤:
[0085]
步骤201,将具有发音对象标签的多个第一样本声纹特征输入至深度残差网络模型;所述深度残差网络模型用于识别所述多个第一样本声纹特征之间的差别特征,并基于所述差别特征输出发音对象预测值。
[0086]
在现有技术中,可以通过长短期记忆网络(long short-term memory,lstm),对采集的语音进行语音序列特征挖掘,从而实现语音分离。然而,通过长短期记忆网络进行语音分离时,往往会忽略声纹的细节特征。
[0087]
基于此,在本申请中,可以对深度残差网络模型进行训练。具体的,可以将具有发音对象标签的多个第一样本声纹特征输入到深度残差网络模型,深度残差网络模型可以将输入的多个第一样本声纹特征前向传播,识别各个第一样本声纹特征之间的差别特征,并基于差别特征预测第一样本声纹特征对应的发音对象,输出发音对象预测值。其中,多个第一样本声纹特征可以按照对应音频切片的时间顺序进行排列,得到声纹时频矩阵,进而将声纹时频矩阵输入到深度残差网络模型中。
[0088]
步骤202,根据所述深度残差网络模型输出发音对象预测值和所述发音对象标签,确定所述深度残差网络模型的训练误差。
[0089]
在得到发音对象预测值后,可以根据发音对象预测值和发音对象标签确定本次训练过程中,深度残差网络模型对应的训练误差。
[0090]
步骤203,当所述训练误差大于预设误差阈值时,调整所述深度残差网络模型,返回将具有发音对象标签的多个第一样本声纹特征输入至深度残差网络模型的步骤,直到所述训练误差小于预设误差阈值,获取当前的深度残差网络模型为所述声纹识别模型。
[0091]
当训练误差大于预设误差阈值时,可以进行反向传播,调整深度残差网络模型,对网络权值进行更新,并返回到步骤201,将具有发音对象标签的多个第一样本声纹特征输入到深度残差网络模型,不断对深度残差网络模型进行训练、调整,直到训练误差小于预设误差阈值时,深度残差网络模型收敛,可以获取当前的深度残差网络模型为声纹识别模型。
[0092]
在一个示例中,当多个音频切片的长度不相等时,在将第一样本声纹特征输入至深度残差网络模型前,可以对第一样本声纹特征进行过滤,具体而言,可以判断第一样本声纹特征对应的音频切片时长是否低于时长阈值,例如0.5秒,当音频切片的时长小于时长阈值时,可以将该音频切片对应的第一样本声纹特征过滤掉,避免过短音频切片对预测结果产生影响。
[0093]
在本实施例中,通过采用具有发音对象标签的多个第一样本声纹特征对深度残差网络模型进行训练,获取声纹识别模型,能够通过深层网络对声音的细微特征进行深度学习,语音分离效果显著优于浅层网络;并且,通过残差网络的应用,能够避免深层网络的梯度消失、梯度爆炸的问题,提高声音区分的准确性。
[0094]
为了使本领域技术人员能够更好地理解本申请中的深度残差网络模型,以下对该网络模型加以示例性说明,但应当理解的是,本申请实施例并不限于此。
[0095]
深度残差网络模型在处理输入的第一样本声纹特征时,可以包括如下步骤:
[0096]
对第一样本声纹特征进行扩维处理,得到第一样本声纹特征对应的多维张量;采用零填充层、卷积层、池化层和激活函数对所述多维张量进行处理,得到第一处理结果;将所述处理结果输入至残差模块进行处理,得到第二处理结果;所述残差模块中包括多个卷积残差单元、多个恒等残差单元和多个池化残差单元;将所述第二处理结果输入至dropout层,输出结果经全局最大池化层处理后,得到所述全局最大池化层输出的声纹特征向量;将所述声纹特征向量输入至全连接层,得到发音对象预测值。
[0097]
具体的,如图3所示的深度残差网络模型的网络结构图,在对第一样本声纹特征进行扩维处理时,可以将第一样本声纹特征扩维成四维张量,其中,张量中的第一维为每一处理批次中深度残差网络模型处理的第一样本声纹特征的数量,张量中的第二维和第三维为第一样本声纹特征本身,第四维为通道数。
[0098]
在得到多维张量后,可以将多维张量输入至零填充层,并采用零填充层、卷积层、池化层和激活函数对多维张量进行处理。具体而言,在进行卷积预算的时候,为了防止原始特征图除不尽而导致剩余的像素丢弃,或者需要控制特征图大小时,可以采用零填充层进行处理。多维张量在输入至零填充层后,可以在上下左右各填充3层零,并经过二维卷积层,采用64个不同的卷积核进行步长为2的7*7的卷积运算,生成具有64个通道的特征图,然后,可以将具有64个通道的特征图再次输入至零填充层,在上下左右各填充1层零后输入,进入最大池化层,进行步长为2的3*3最大池化操作,输出经过批量归一化层进行数据分布调整后,经过relu激活得到第一处理结果。
[0099]
在得到第一处理结果后,可以将第一处理结果输入至残差模块,由残差模块中的多个卷积残差单元、多个恒等残差单元和多个池化残差单元进行处理后,得到第二处理结果。
[0100]
具体而言,该残差模块可以是基于resnet50v2网络的残差模块,在残差模块中可以包括第一子模块、第二子模块、第三子模块和第四子模块。在第一子模块中,包括一个卷
积残差单元、一个恒等残差单元和一个池化残差单元,当第一处理结果输入至残差模块后,第一子模块中,卷积残差单元采用64个1*1卷积核对第一处理结果进行卷积运算,卷积运算的输出结果经过批量归一化层进行数据分布调整后,再由relu函数激活,得出的特征图输入至零填充层,在上下左右各填充一层零,然后与64个3*3的卷积核进行卷积运算,再经批量归一化层调整分布和relu函数激活后,与256个1*1卷积核进行卷积运算,得到第一卷积结果;同时,第一处理结果直接经由256个1*1的卷积核进行卷积运算后得到第二卷积结果。将第一卷积结果和第二卷积结果相加后输入至第一子模块中的恒等残差单元。
[0101]
在第一子模块的恒等残差单元中,恒等残差单元通过批量归一化层,对卷积残差单元输入的256通道特征图进行数据分布调整,经过relu函数激活后,与64个1*1的卷积核进行卷积运算,得到的64通道特征图经过批量归一化层调整、relu函数激活后,输入至零填充层,在上下左右各填充1层零,输出结果与64个3*3的卷积核进行卷积运算,再次经过批量归一化层调整、relu函数激活后,与256个1*1的卷积核进行卷积操作,得到第三卷积结果,将第三卷积结果与卷积残差单元输入的256通道特征图进行加和,将加和后的256通道特征图输入至池化残差单元。
[0102]
池化残差单元的处理过程与恒等残差单元处理相似,区别在于池化残差单元在最后输出时,针对恒等残差单元输入的256通道特征图,采用步长为2的256个1*1卷积核进行卷积操作,再采用该结果进行加和,得到池化残差单元输出。
[0103]
第一子模块的池化残差单元输出将输入至第二子模块,第二子模块中包括一个卷积残差单元、两个恒等残差单元和一个池化残差单元,卷积残差单元、恒等残差单元和池化残差单元的数据处理过程与第一子模块中的类似,在此不作赘述。第二子模块输出512通道的特征图经过批量归一化层调整、relu函数激活后,输入至第三子模块,第三子模块包括一个卷积残差单元、四个恒等残差单元和一个池化残差单元,其处理过程与第一子模块中的类似,在此不作赘述。最终,第三子模块输出1024通道特征图,经过批量归一化层调整、relu函数激活后,输入至第四子模块并输出2048通道特征图,作为第二处理结果,其中,第四子模块包括一个卷积残差单元、两个恒等残差单元。
[0104]
在得到第二处理结果后,可以输入至dropout层,进行正则化以防止过拟合,将dropout层的输出结果输入至全局最大池化层,得到2048维的声纹特征向量,并将其输入至全连接层,得到发音对象预测值,该预测值可以是各个发音对象的概率分布。
[0105]
在残差网络中,可以学习输入和输出之间的残差,通过将输入信息直接向后传播,有效减少信息衰减,避免深层网络中梯度爆炸、梯度消失的情况发生。通过对深度残差网络模型进行训练,生成声纹识别模型,能够学习到多个声纹特征之间的细微差别,提高语音分离效果。
[0106]
在一个实施例中,声纹识别模型中可以包含卷积残差单元、恒等残差单元和池化残差单元,通过卷积残差单元、恒等残差单元和赤化残差单元对输入模型的第一声纹特征进行处理后,可以将输入至声纹识别模型中全连接层的声纹特征向量,确定为第二声纹特征。
[0107]
如图4所示,所述根据所述第二声纹特征对多个音频切片进行聚类,包括:
[0108]
步骤401,根据各音频切片对应的声纹特征向量,确定音频切片与聚类中心的相似度,根据所述相似度对多个音频切片进行多次聚类。
[0109]
在实际应用中,在确定每个音频切片对应的第二声纹特征,即声纹特征向量后,可以根据各个声纹特征向量,确定各个音频切片与聚类中心(即发音对象中心特征)的相似度,并根据相似度对多个音频切片进行多次聚类,其中,当聚类中心不再变化或迭代次数到达一定阈值时,视为一次聚类完成。
[0110]
具体实现中,在每一次聚类中,可以调整聚类数量、增加随机初始化聚类中心次数,将最相近的多个音频切片聚类到同一个类簇中。通过对聚类中心进行多次随机初始化并选取多次聚类中的最优结果,可以减少聚类中心的选择对聚类结果的干扰,增强鲁棒性。
[0111]
步骤402,从多次聚类中确定聚类结果最佳的目标聚类。
[0112]
具体的,在进行多次聚类后,可以根据每次聚类的聚类效果,从多次聚类中确定出聚类结果最佳的目标聚类。
[0113]
在实际应用中,可以通过聚类结果信息评价每次聚类的聚类效果,例如可以采用ch(calinski-harabasz)指标、熵、纯度、准确率、归一化互信息等信息确定每次聚类的聚类效果。聚类结果最佳的目标聚类,可以是聚类结果信息对应的数值满足预设阈值的聚类,或者,也可以是对多个聚类结果信息对应的数值进行排序,将排序在预设范围内的数值所对应聚类,确定为目标聚类。
[0114]
当聚类结果信息采用calinski-harabasz分数值表示时,可以采用如下公式确定每次聚类的聚类结果信息:
[0115][0116]
其中,n表示聚类中的类簇数目,k表示当前的类簇,trb(k)用于表示类间离差矩阵的迹,trw(k)表示类内离差距离的迹。ch(k)越大,代表类簇内部越紧密,类簇之间越分散,聚类效果越好。
[0117]
步骤403,从所述目标聚类对应的多个类簇中,筛选出类簇中音频切片数量大于或等于切片阈值的有效类簇,作为所述多个音频切片的聚类结果。
[0118]
在确定目标聚类后,可以获取聚类得到的多个类簇以及各个类簇所包含的音频切片数量,进而可以从多个类簇中,筛选包含的音频切片数量大于或等于切片阈值的有效类簇,并将有效类簇确定为多个音频切片的聚类结果,而音频切片数量小于切片阈值的类簇,则可以过滤掉。
[0119]
在本实施例中,通过获取目标聚类对应的多个类簇,并筛选出类簇中音频切片数量大于或等于切片阈值的有效类簇,作为聚类结果,能够将音频切片数量低于阈值的类簇排除,减少杂音离群点扰动,有效提高语音分离的准确性。
[0120]
在一个实施例中,如图5所示,所述根据各音频切片对应的声纹特征向量,确定音频切片与聚类中心的相似度,根据所述相似度对多个音频切片进行多次聚类,可以包括如下步骤:
[0121]
步骤501,获取聚类中心,并根据各个音频切片对应的声纹特征向量,确定各个音频切片与各个聚类中心对应的余弦距离,由此确定各个音频切片与各个聚类中心的相似度。
[0122]
在实际应用中,在进行聚类时,可以获取聚类中心,该聚类中心也可以称为聚类中心点,通过随机初始化获取。其中,聚类中心的维数与第二声纹特征维数一致,聚类中心可
以但不限于是某个音频切片对应的第二声纹特征,即聚类中心可以是音频切片的第二声纹特征对应的点,也可以是第二声纹特征对应点以外的其他点。
[0123]
在获取聚类中心后,可以遍历各个音频切片对应的声纹特征向量,并根据各声纹特征向量,计算各个音频切片与各个聚类中心的余弦距离,由此得到各个音频切片与聚类中心的相似度。
[0124]
步骤502,根据所述相似度,将各个音频切片聚类至对应聚类中心的类簇中,直到聚类收敛。
[0125]
具体的,余弦距离与相似度可以是负相关,即余弦距离越小,相似度越高。在得到多个余弦距离后,音频切片聚类至余弦距离最短所对应的聚类中心所在的类簇中。将各类簇中音频切片的第二声纹特征的平均值作为新的类簇中心,并重复进行聚类,即再次根据各个音频切片对应的声纹特征向量,确定各个音频切片与各个聚类中心的相似度,并聚类至对应聚类中心的类簇中,直至收敛,收敛条件为聚类中心不再变化或进行了足够多次的迭代。
[0126]
步骤503,判断当前类簇数量是否小于预设的发音对象数量阈值;若是,增加聚类中心数量,并返回步骤501,若否,执行步骤504。
[0127]
步骤504,停止聚类。
[0128]
在具体实现中,每次聚类得到的多个类簇,分别对应于一个发音对象。因此,在完成一次聚类后,可以判断当前类簇数量是否小于预设的发音对象数量阈值,若是,可以增加聚类中心数量,返回步骤501,重新进行聚类。若否,则停止聚类,即停止多次完整聚类循环的过程。
[0129]
具体而言,当类簇的聚类中心不再发生变化或迭代次数达到一定数量时,可以确定聚类收敛,得到各个音频切片所属类簇,也即每个音频切片所属发音对象的声纹特征。当发音对象数量小于阈值时,可以1为步长,增加聚类中心数量,并返回步骤501,重新进行聚类,具体的:按照增加后的聚类中心数量,在多个音频切片中,随机获取与聚类中心数量对应的多个聚类中心,并根据各个音频切片对应的声纹特征向量进行聚类。
[0130]
在本实施例中,根据音频切片对应的声纹特征向量,确定各个音频切片与各个聚类中心对应的余弦距离为向量距离,由此确定每个音频切片与聚类中心的相似度,并根据相似度,将音频切片聚类至对应聚类中心的类簇中,实现了将具有相似声纹特征的音频切片划分到同一类簇中,不相似的音频切片分离,一个类簇即对应一个发音对象,自动调优聚类结果并判定发音对象个数,提高语音分离的自动化水平。
[0131]
在一个实施例中,在对待分离语音音频进行切分时,可以为每个音频切片设置对应时序编号,也可以标记音频切片所属的待分离语音音频。
[0132]
所述根据聚类结果对所述待分离语音音频中不同发音对象的语音音频进行语音分离,包括如下步骤:
[0133]
针对聚类结果中每个类簇,根据类簇中各个音频切片对应的时序编号,对多个连续音频切片进行拼接,得到拼接音频;将所述拼接音频段确定为所述待分离语音音频中单个发音对象对应的语音分离结果。
[0134]
在聚类后,可以得到包含多个音频切片的多个类簇,针对每个类簇,可以根据类簇中各个音频切片对应的时序编号,对多个音频切片进行拼接,得到拼接音频,例如,可以将
时序编号连续的多个音频切片拼接为一个音频片段,进而得到拼接音频。在获取到拼接音频后,可以将拼接音频确定为单个发音对象对应的语音,得到待分离语音音频对应的语音分离结果。
[0135]
在实际应用中,待分离语音音频可以是在业务模拟场景中,记录业务交易过程的语音音频,例如保险语音交易音频,通过本实施例中的语音分离方法,可以在混合多个说话人语音的录音中,分离出个人的语音音频。
[0136]
在本实施例中,通过对多个音频切片进行拼接,得到拼接音频,并将拼接音频段确定为待分离语音音频中单个发音对象对应的语音分离结果,可以得到每轮对话中轮内连续的语音片段,形成每个发音对象多轮对话的录音。
[0137]
在一个实施例中,所述方法还可以包括如下步骤:
[0138]
获取所述拼接音频中首个语音切片对应的时序编号,作为首切片时序编号;根据所述首切片时序编号,对多个拼接音频进行排序,得到语音分离对应的对话记录。
[0139]
在具体实现中,由于拼接音频是由多个音频切片拼接而成,在得到拼接音频后,可以获取拼接音频中首个语音切片对应的时序编号,作为首切片时序编号,进而可以根据各个拼接音频的首切片时序编号,对多个拼接音频进行排序,得到按照时间顺序排序的多轮对话,获取到语音分离对应的对话记录。
[0140]
在本实施例中,通过根据首切片时序编号,对多个拼接音频进行排序,得到语音分离对应的对话记录,能够得到多个发音对象各轮对话连续的语音分离结果,生成多轮问答对话的录音。
[0141]
应该理解的是,虽然图1-5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-5中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0142]
在一个实施例中,如图6所示,提供了一种语音分离装置,所述装置包括:
[0143]
音频获取模块601,用于获取待分离语音音频;
[0144]
音频切片获取模块602,用于根据所述待分离语音音频,得到其对应的多个音频切片;
[0145]
第一声纹特征获取模块603,用于根据各个音频切片对应的频谱数据得到对应人耳听觉接受频率的目标频谱,并根据所述目标频谱确定各个音频切片对应的第一声纹特征;
[0146]
第二声纹特征获取模块604,用于将多个音频切片对应的多个第一声纹特征输入到预先训练的声纹识别模型;所述声纹识别模型用于识别所述多个第一声纹特征之间的差别特征,并基于所述差别特征得到所述多个音频切片各自对应的第二声纹特征;
[0147]
聚类模块605,用于根据所述第二声纹特征对多个音频切片进行聚类,根据聚类结果对所述待分离语音音频中不同发音对象的语音音频进行语音分离。
[0148]
在一个实施例中,所述第一声纹特征获取模块602,包括:
[0149]
倒谱系数获取子模块,用于针对每个目标频谱,获取目标频谱中各个频率值对应
的对数,并对所述对数进行离散余弦变换,得到所述目标频谱对应的倒谱系数,并确定为对应音频切片的第一声纹特征。
[0150]
在一个实施例中,所述装置还包括:
[0151]
样本声纹特征输入模块,用于将具有发音对象标签的多个第一样本声纹特征输入至深度残差网络模型;所述深度残差网络模型用于识别所述多个第一样本声纹特征之间的差别特征,并基于所述差别特征输出发音对象预测值;
[0152]
训练误差确定模块,用于根据所述深度残差网络模型输出发音对象预测值和所述发音对象标签,确定所述深度残差网络模型的训练误差;
[0153]
声纹识别模型获取模块,用于当所述训练误差大于预设误差阈值时,调整所述深度残差网络模型,返回将具有发音对象标签的多个第一样本声纹特征输入至深度残差网络模型的步骤,直到所述训练误差小于预设误差阈值,获取当前的深度残差网络模型为所述声纹识别模型。
[0154]
在一个实施例中,所述第二声纹特征为经过所述声纹识别模型中的卷积残差单元、恒等残差单元和池化残差单元对所述第一声纹特征进行处理后,输入至所述声纹识别模型中的全连接层的声纹特征向量,所述聚类模块604,包括:
[0155]
相似度确定子模块,用于根据各音频切片对应的声纹特征向量,确定音频切片与聚类中心的相似度,根据所述相似度对多个音频切片进行多次聚类;
[0156]
目标聚类确定子模块,用于从多次聚类中确定聚类结果最佳的目标聚类;
[0157]
有效类簇确定子模块,用于从所述目标聚类对应的多个类簇中,筛选出类簇中音频切片数量大于或等于切片阈值的有效类簇,作为所述多个音频切片的聚类结果。
[0158]
在一个实施例中,所述相似度确定子模块,包括:
[0159]
聚类中心确定单元,用于获取聚类中心,并根据各个音频切片对应的声纹特征向量,确定各个音频切片与各个聚类中心对应的余弦距离,由此确定各个音频切片与各个聚类中心的相似度;
[0160]
余弦距离确定单元,用于根据所述相似度,将各个音频切片聚类至对应聚类中心的类簇中,直到聚类收敛;
[0161]
判断单元,用于判断当前类簇数量是否小于预设的发音对象数量阈值;若是,增加聚类中心数量,并调用聚类中心确定单元;若否,停止聚类。
[0162]
在一个实施例中,每个音频切片具有对应的时序编号,所述聚类模块,包括:
[0163]
拼接子模块,用于针对聚类结果中每个类簇,根据类簇中各个音频切片对应的时序编号,对多个连续音频切片进行拼接,得到拼接音频;
[0164]
分离结果获取子模块,用于将所述拼接音频段确定为所述待分离语音音频中单个发音对象对应的语音分离结果。
[0165]
在一个实施例中,所述装置还包括:
[0166]
首切片时序编号确定模块,用于获取所述拼接音频中首个语音切片对应的时序编号,作为首切片时序编号;
[0167]
对话记录生成模块,用于根据所述首切片时序编号,对多个拼接音频进行排序,得到语音分离对应的对话记录。
[0168]
关于一种语音分离装置的具体限定可以参见上文中对于一种语音分离方法的限
定,在此不再赘述。上述一种语音分离装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0169]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、运营商网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种语音分离方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0170]
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0171]
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现如上所述方法的步骤。
[0172]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上所述方法的步骤。
[0173]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。
[0174]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0175]
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1