CN110570871A - 一种基于TristouNet的声纹识别方法、装置及设备 - Google Patents
一种基于TristouNet的声纹识别方法、装置及设备 Download PDFInfo
- Publication number
- CN110570871A CN110570871A CN201910895059.4A CN201910895059A CN110570871A CN 110570871 A CN110570871 A CN 110570871A CN 201910895059 A CN201910895059 A CN 201910895059A CN 110570871 A CN110570871 A CN 110570871A
- Authority
- CN
- China
- Prior art keywords
- voice
- recognized
- tristounet
- feature
- processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L17/00—Speaker identification or verification
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L17/00—Speaker identification or verification
- G10L17/04—Training, enrolment or model building
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L17/00—Speaker identification or verification
- G10L17/18—Artificial neural networks; Connectionist approaches
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/03—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
- G10L25/24—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being the cepstrum
Abstract
本申请属于生物识别领域,公开了一种基于TristouNet的声纹识别方法、装置及设备,其中,所述方法包括:获取待识别的语音;利用MFCC对待识别的语音进行特征提取,得到待识别的语音特征;将待识别的语音特征输入神经网络模型进行处理;在神经网络模型的最后一层确定待识别的语音特征与目标人的语音特征之间的待识别的欧式距离,并判断待识别的欧式距离是否小于预定距离,是则输出待识别的语音属于目标人的结果,否则输出待识别的语音不属于目标人得结果。通过该方案,能够有效提高对语音的识别精度,提高语音识别效率。
Description
技术领域
本申请涉及生物识别技术领域,特别是涉及一种基于TristouNet的声纹识别方法、装置及设备。
背景技术
声纹识别是基于一些语音信号和注册的说话者录音来验证说话者身份的。通常,针对注册和测试语音提取富有说话者信息的低维特征,并使用一些算法操作将其映射到验证分数。变体包括文本相关的声纹识别,其语音内容固定为某个短语,以及基于TristouNet的声纹识别,其语音内容随机。
语音识别目前被广泛应用于诸多领域,在银行、非银金融、公安、军队及其他民用安全认证等行业和部门有着广泛的需求。现阶段主流的技术实现方法都是基于i-vector,RNN模型,LSTM模型等这些传统的技术方法需要较大的训练数据规模才能达到理想的训练效果且对噪声的敏感性较高,要求训练数据的录音质量较高,这在实际的生产环境中往往较难达到传统方法训练用数据质量的要求即使达到也会大大提高整体系统的成本。
发明内容
有鉴于此,本申请提供了一种基于TristouNet的声纹识别方法、装置及设备。主要目的在于解决目前的声纹识别模型对训练样本要求过高,且训练成本过高的技术问题。
依据本申请的第一方面,提供了一种基于TristouNet的声纹识别方法,所述方法包括:
获取待识别的语音;
利用MFCC对所述待识别的语音进行特征提取,得到待识别的语音特征;
将所述待识别的语音特征输入神经网络模型进行处理,其中,将TristouNet网络与Triplet函数结合,经过训练得到神经网络模型;
在所述神经网络模型的最后一层确定所述待识别的语音特征与目标人的语音特征之间的待识别的欧式距离,并判断所述待识别的欧式距离是否小于预定距离,是则输出所述待识别的语音属于所述目标人的结果,否则输出所述待识别的语音不属于所述目标人得结果。
依据本申请的第二方面,提供了一种基于TristouNet的声纹识别装置,所述装置包括:
获取模块,用于获取待识别的语音;
特征提取模块,用于利用MFCC对所述待识别的语音进行特征提取,得到待识别的语音特征;
处理模块,用于将所述待识别的语音特征输入神经网络模型进行处理,其中,将TristouNet网络与Triplet函数结合,经过训练得到神经网络模型;
判断模块,用于在所述神经网络模型的最后一层确定所述待识别的语音特征与目标人的语音特征之间的待识别的欧式距离,并判断所述待识别的欧式距离是否小于预定距离,是则输出所述待识别的语音属于所述目标人的结果,否则输出所述待识别的语音不属于所述目标人得结果。
依据本申请的第三方面,提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现第一方面所述基于TristouNet的声纹识别方法的步骤。
依据本申请的第四方面,提供了一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述基于TristouNet的声纹识别的步骤。
借由上述技术方案,本申请提供的一种基于TristouNet的声纹识别方法、装置及设备,将TristouNet网络与Triplet函数结合,利用语音对其进行训练得到神经网络模型,训练过程比较方便快捷。神经网络模型的前端将待识别的语音特征进行处理之后,将处理结果输入至最后一层,利用最后一层计算待识别的语音特征与目标人的语音特征之间的欧式距离,如果该欧氏距离超出预定距离,证明待识别的语音与目标人的语音相差较远,不属于目标人的语音,如果该欧氏距离小于预定距离,证明待识别的语音与目标人的语音相似度较高,属于目标人的语音。这样,有效提高对语音的识别精度,提高识别效率。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本申请的基于TristouNet的声纹识别方法的一个实施例的流程图;
图2为本申请的TristouNet网络的示意图;
图3为本申请的结合Triplet的TristouNet结构的示意图;
图4为本申请的基于TristouNet的声纹识别装置的一个实施例的结构框图;
图5为本申请的计算机设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本申请实施例提供了一种基于TristouNet的声纹识别方法,将TristouNet网络与Triplet函数结合,利用语音对其进行训练得到神经网络模型,训练过程比较方便快捷。神经网络模型的前端将待识别的语音特征进行处理之后,将处理结果输入至最后一层,利用最后一层计算待识别的语音特征与目标人的语音特征之间的欧式距离,如果该欧氏距离超出预定距离,证明待识别的语音与目标人的语音相差较远,不属于目标人的语音,如果该欧氏距离小于预定距离,证明待识别的语音与目标人的语音相似度较高,属于目标人的语音。这样,有效提高对语音的识别精度,提高识别效率。
如图1所示,本申请实施例提供了一种基于TristouNet的声纹识别方法,包括如下步骤:
步骤101,获取待识别的语音。
在该步骤中,该待识别的语音是利用录音装置进行获取,并且在获取之前会进行语音提示,提示用户说预定时间的话,或者说预定数量的字作为待识别的语音,在获取结束后,会对获取的语音进行判断,判断获取的语音的时长是否大于等于预定时间,或者判断获取的语音中的文字的数量是否大于等于预定数量,若判断通过,则提示“获取成功”若判断未通过,则提示“重新录入语音”。
如果获取的语音的时长等于预定时间,则直接将该获取的语音作为待识别的语音,如果获取的语音的时长大于预定时间,则对该获取的语音截取预定时间的时长作为待识别的语音。
如果获取的语音的文字数量等于预定数量,则直接将该获取的语音作为待识别的语音,如果获取的语音的文字数量大于预定数量,则对该获取的语音截取预定数量的文字作为待识别的语音。
步骤102,利用MFCC对待识别的语音进行特征提取,得到待识别的语音特征。
在该步骤中,MFCC(Mel Frequency Cepstral Coefficents,梅尔频率倒谱系数)是在Mel标度频率域提取出来的倒谱参数,用于对语音进行特征提取。
由于神经网络模型的输入口无法直接将待识别的语音输入进去,因此,需要利用MFCC对该待识别的语音进行特征提取,得到能够输入神经网络的待识别的语音特征。
步骤103,将待识别的语音特征输入神经网络模型进行处理,其中,将TristouNet网络与Triplet函数结合,经过训练得到神经网络模型。
在该步骤中,TristouNet(a neural network architecture based on LongShort-Term Memory recurrent networks,一种基于LSTM的神经网络结构)。Triplet函数是深度学习中的一种损失函数,主要用来训练差异性较小的样本,这样将这二者结合起来,再进行学习训练,能够有效减少学习训练的时间。并且经过训练得到的神经网络结构,对语音识别率更高。
其中,LSTM(Long Short-Term Memory,长短期记忆算法)。
步骤104,在神经网络模型的最后一层确定待识别的语音特征与目标人的语音特征之间的待识别的欧式距离,并判断待识别的欧式距离是否小于预定距离,是则进入步骤105,否则进入步骤106。
步骤105,输出待识别的语音属于目标人的结果。
步骤106,输出待识别的语音不属于目标人得结果。
在上述步骤中,预先将训练过程中目标人的语音之间的欧氏距离的平均值d1进行存储,判断待识别的欧式距离d0是否小于d1+a即预定距离,其中,a是常数。只有该待识别的欧式距离小于预定距离才能识别成功。
另外,如果需要利用神经网络模型识别其他人的语音,只需利用其他人的语音对该神经网络模型进行再次训练即可,这样神经网络模型就能够识别多个人语音了,具体识别过程如下:
该神经网络模型中保存有多个人的自己语音之间的欧氏距离的平均值即保存有多个预定距离,进行语音识别时,将计算得到的待识别的欧式距离分别与多个预定距离进行比对,将待识别的欧式距离小于某预定距离对应的发音者作为待识别的语音的发音者。
如果得到的小于某预定距离有两个以上,证明该神经网络识别模型识别精度不够,需要进行加强训练,如果没有得到,证明该神经网络无法识别该语音。
通过上述技术方案,将TristouNet网络与Triplet函数结合,利用语音对其进行训练得到神经网络模型,训练过程比较方便快捷。神经网络模型的前端将待识别的语音特征进行处理之后,将处理结果输入至最后一层,利用最后一层计算待识别的语音特征与目标人的语音特征之间的欧式距离,如果该欧氏距离超出预定距离,证明待识别的语音与目标人的语音相差较远,不属于目标人的语音,如果该欧氏距离小于预定距离,证明待识别的语音与目标人的语音相似度较高,属于目标人的语音。这样,有效提高对语音的识别精度,提高识别效率。
在具体实施例中,在步骤103之前,方法还包括:
步骤A,获取目标人的语音并将目标人的语音分成两组,分别为anchor组语音和positive组语音,以及获取其他人的语音作为negative组语音。
在该步骤中,TristouNet结构需要输入三组语音数据,两组相同数据和一组不同数据,因此,将获取的目标人的语音分成两组,再获取一组其他人的语音。并且保证每组语音的数量相同。
步骤B,利用MFCC对anchor组语音、positive组语音和negative组语音进行特征提取,得到X_anchor语音特征、X_positive语音特征和X_negative语音特征。
在该步骤中,经过MFCC处理后得到三组语音特征,这样在进行训练时,从这三组语音特征中分别选取一个输入至TristouNet结构进行训练处理,处理完成后再选取下一个进行输入,直至所有的语音特征全部输入完成。
步骤C,构建TristouNet网络,在TristouNet网络中引用Triplet函数,形成TristouNet结构。
在该步骤中,将Triplet函数与TristouNet网络进行结合,能够保证训练质量的同时,降低训练时间。使得训练效率得到有效提高。
步骤D,将X_anchor语音特征、X_positive语音特征和X_negative语音特征输入TristouNet结构中的TristouNet网络进行处理,得到f(X_anchor)、f(X_positive)和f(X_negative)三组特征序列。
步骤E,利用Triplet函数,根据f(X_anchor)、f(X_positive)和f(X_negative)三组特征序列计算损失函数。
步骤F,根据损失函数对TristouNet结构的参数进行调整,得到神经网络模型。
在上述步骤中,TristouNet结构经过三组语音的学习训练,得到能够对目标人的语音进行识别的神经网络模型。
如果,想要对李某的语音进行识别,需要按照上述过程,利用李某和其他人的声音,对TristouNet结构进行学习训练,进而得到能够识别李某声音的神经网络模型。
通过上述方案,利用Triplet函数与TristouNet网络进行结合得到的TristouNet结构对训练集中的语音进行学习训练,这样得到的神经网络识别模型的识别精度较高,并且训练过程简单快捷。
在具体实施例中,步骤C具体包括:
步骤C1,将正LSTM网络的输出层和反LSTM网络的输出层进行组合得到组合后的输出层。
步骤C2,在组合后的输出层的后面添加第一全连接层,用于全连接处理。
步骤C3,在第一全连接层后面添加第二全连接层,用于再次全连接处理。
步骤C4,在第二全连接层后面添加归一化层,用于归一化处理,这样就形成TristouNet网络。
通过上述技术方案,能够利用两个全连接层对正反两个LSTM的输出结果进行两次全连接处理,然后再利用归一化层进行归一化处理,使得得到的特征序列便于识别比对,进而有效降低神经网络模型的语音识别时间,提高效率。
在具体实施例中,步骤C具体还包括:
步骤C5,将三个TristouNet网络进行并排组合。
步骤C6,构建Triplet sampling层,将Triplet sampling层与三个TristouNet网络的输入层相连。
步骤C7,构建Triplet loss层,将Triplet loss层与三个TristouNet网络的输出层相连,构成TristouNet结构。
通过上述技术方案,将Triplet函数与TristouNet网络进行结合得到TristouNet结构,利用TristouNet结构能够同时对三个语音进行学习训练,减少训练时间,同时还能有效提高训练得到的神经网络模型的语音识别精度。
在具体实施例中,步骤D具体包括:
步骤D1,Triplet sampling层将X_anchor语音特征、X_positive语音特征和X_negative语音特征进行特征抽取。
步骤D2,将抽取后的X_anchor语音特征、X_positive语音特征和X_negative语音特征分别输入三个TristouNet网络中,利用TristouNet网络中的正LSTM网络和反LSTM网络进行处理,将处理结果输入至第一全连接层。
步骤D3,第一全连接层对处理结果进行全连接处理,得到第一次全连接结果。
步骤D4,将第一次全连接结果输入至第二全连接层,进行再次全连接处理,得到再次全连接结果。
步骤D5,将再次全连接结果输入至归一化层,进行归一化处理得到f(X_anchor)、f(X_positive)和f(X_negative)三组特征序列。
通过上述技术方案,Triplet sampling层能够对语音特征进行去燥处理,去除杂音干扰,然后输入TristouNet网络中,将输出结果再经过两次全连接处理和一次归一化处理,这样得到的三组特征序列更加容易识别。
在具体实施例中,步骤E具体包括:
步骤E1,计算目标人的语音和其他人的语音的欧式距离差Δt=d(f(X_anchor),f(X_positive))-d(f(X_anchor),f(X_negative))+a,其中,d为欧式距离函数,a为常数值。
步骤E2,对得到的所有Δt利用公式∑max(0,Δt)计算损失函数。
通过上述方案,利用Triplet函数得到相应的损失函数,然后根据该损失函数对TristouNet结构的参数进行调整,然后利用调整后的TristouNet结构对下一个语音特征进行训练,重复上述过程,直至所有的语音特征全部训练为止,得到的最终的TristouNet结构即神经网络模型。并将训练过程中计算得到的所有d(f(X_anchor),f(X_positive))进行统计,计算平均值,将该平均值存储在神经网络模型中,以供后续进行语音识别时,得到的待识别的欧式距离与平均值+a(即预定距离)进行比较判断,确定语音是否属于目标人。这样能够有效提高语音识别的效率。
在具体实施例中,步骤102具体包括:
步骤1021,对待识别的语音利用高通滤波器进行预加重处理。
步骤1022,将预加重处理后的待识别的语音进行分帧处理。
步骤1023,将待识别的语音中的每一帧乘以汉明窗进行加窗处理,得到加窗后的待识别的语音帧。
步骤1024,对加窗后的待识别的语音帧进行快速傅里叶变换,得到对应的能量谱。
步骤1025,将能量谱通过三角带通滤波器,对频谱进行平滑化,并消除谐波的作用,突显待识别的语音的共振峰。
步骤1026,对三角带通滤波器的输出结果进行计算对数能量,并进行离散余弦变换得到MFCC特征。
步骤1027,对MFCC特征进行归一化处理,利用语音活动检测工具过滤掉非语音帧,得到待识别的语音特征。
通过上述技术方案,利用MFCC对语音进行预处理,得到能够输入神经网络模型的语音特征,这样从低频到高频这一段频带内按临界带宽的大小由密到疏安排一组带通滤波器,对输入信号进行滤波。将每个带通滤波器输出的信号能量作为信号的基本特征,对此特征经过进一步处理后就可以作为语音的输入特征。由于这种特征不依赖于信号的性质,对输入信号不做任何的假设和限制,又利用了听觉模型的研究成果。因此,这种参数具有更好的鲁邦性,更符合人耳的听觉特性,而且当信噪比降低时仍然具有较好的识别性能。
另外,在训练过程中,为了保证需要训练集中的训练语音能够输入TristouNet结构,按照上述步骤对训练语音进行MFCC的特征提取过程。
通过上述实施例的基于TristouNet的声纹识别方法,将TristouNet网络与Triplet函数结合,利用语音对其进行训练得到神经网络模型,训练过程比较方便快捷。神经网络模型的前端将待识别的语音特征进行处理之后,将处理结果输入至最后一层,利用最后一层计算待识别的语音特征与目标人的语音特征之间的欧式距离,如果该欧氏距离超出预定距离,证明待识别的语音与目标人的语音相差较远,不属于目标人的语音,如果该欧氏距离小于预定距离,证明待识别的语音与目标人的语音相似度较高,属于目标人的语音。这样,有效提高对语音的识别精度,提高识别效率。
在本申请的另一个实施例的基于TristouNet的声纹识别方法中,包括如下步骤:
一、获取训练样本
获取目标人的音频数据分为两组,获取其他说话人的一组音频数据,将这三组音频数据作为训练样本,并利用MFCC(Mel Frequency Cepstral Coefficents,梅尔频率倒谱系数)提取训练集的语音特征,具体过程如下:
1、将训练集中的语音利用高通滤波器进行预加重处理。
2、对训练集进行分帧处理,训练集中语音的每一个字都有N个采样点,将N个采样点集合成一个观测单位,称为帧,为了避免相邻两帧的变化过大,因此会让两相邻帧之间有一段重叠区域,此重叠区域包含了M个取样点,通常M的值约为N的1/2或1/3。
3、对训练集进行加窗处理,将每一帧乘以汉明窗,以增加帧左端和右端的连续性。
4、对加窗后的训练集进行快速傅里叶变换,得到对应的能量谱。
5、将能量谱通过三角带通滤波器,对频谱进行平滑化,并消除谐波的作用,突显原先语音的共振峰。(因此一段语音的音调或音高,是不会呈现在MFCC参数内,换句话说,以MFCC为特征的语音辨识系统,并不会受到输入语音的音调不同而有所影响)此外,还可以降低运算量。
6、对三角带通滤波器的输出结果进行计算对数能量,然后再经离散余弦变换(DCT)得到语音特征。
这样三组音频数据对应三组语音特征,X_anchor、X_positive、X_negative
二、构建TristouNet结构并进行训练
1、TristouNet网络主要基于LSTM神经网络,如图2所示,在LSTM的基础改进原结构使用了正反向的两个LSTM层结构。
将TristouNet网络中引用Triplet损失函数构成TristouNet结构,如图3所示。
图中f表示用TristouNet网络提取特征序列的过程。
2、利用上图的TristouNet结构进行训练
(1)利用TristouNet结构对步骤一得到的三组语音特征进行特征序列提取,过程如下:
将三组语音特征X_anchor、X_positive、X_negative随机组合得到所有可能的三元组(X_anchor,X_positive,X_negative)集合为T,其中,三元组集合T为TristouNet结构的训练参数。
将三元组T作为features sequence x输入TristouNet结构利用正反LSTM两个网络进行处理后,将输出结果输入全连接层进行处理,然后将处理结果输入全连接层进行再次处理,将处理结果输入神经网络模型的最后一层归一化层(normalization)进行归一化处理,然后输出特征序列sequence embeddings f(x)。即得到对应的f(X_anchor),f(X_positive)和f(X_negative)。
(2)计算损失函数,过程如下:
对于两个样本的相似度如果用距离函数d来衡量,则有效的距离函数描述同一说话人的两条音频相似度大于不同说话人的两条音频的相似度有d(f(X_anchor),f(X_positive))<d(f(X_anchor),(X_negative))。
令欧氏距离为d,设置Δt=d(f(X_anchor),f(X_positive))-d(f(X_anchor),f(X_negative))+a,得到的Δt小于0,而a是一个超参数,避免Δt绝对值过小出现无法计算的情况。
统计三元组集合T得到的所有Δt,计算损失函数L(T)=∑max(0,Δt),
(3)根据损失函数对神经网络进行调整,得到神经网络模型。
三、利用神经网络模型进行语音识别
获取待处理的语音,并对语音同理步骤一的训练样本中的语音进行特征提取得到待处理语音特征m;
将待处理语音特征m输入神经网络模型进行处理,将该待处理语音特征利用神经网络模型中的TristouNet结构处理后得到对应的特征序列f(m),在神经网络的最后一层计算Δt=d(f(X_anchor),f(X_positive))-d(f(X_anchor),f(m))+a,若Δt小于0,则确定该待处理的语音是说话人本人,否则不是,并将结果从神经网络的输出层输出。
进一步的,作为图1方法的具体实现,本申请实施例提供了一种基于TristouNet的声纹识别装置,如图4所示,装置包括:依次连接的获取模块41、特征提取模块42、处理模块43和判断模块44。
获取模块41,用于获取待识别的语音;
特征提取模块42,用于利用MFCC对待识别的语音进行特征提取,得到待识别的语音特征;
处理模块43,用于将待识别的语音特征输入神经网络模型进行处理,其中,将TristouNet网络与Triplet函数结合,经过训练得到神经网络模型;
判断模块44,用于在神经网络模型的最后一层确定待识别的语音特征与目标人的语音特征之间的待识别的欧式距离,并判断待识别的欧式距离是否小于预定距离,是则输出待识别的语音属于目标人的结果,否则输出待识别的语音不属于目标人得结果。
在具体实施例中,获取模块41,还用于获取目标人的语音并将目标人的语音分成两组,分别为anchor组语音和positive组语音,以及获取其他人的语音作为negative组语音;
特征提取模块42,还用于利用MFCC对anchor组语音、positive组语音和negative组语音进行特征提取,得到X_anchor语音特征、X_positive语音特征和X_negative语音特征;
装置还包括:
构建模块,用于构建TristouNet网络,在TristouNet网络中引用Triplet函数,形成TristouNet结构;
输入模块,用于将X_anchor语音特征、X_positive语音特征和X_negative语音特征输入TristouNet结构中的TristouNet网络进行处理,得到f(X_anchor)、f(X_positive)和f(X_negative)三组特征序列;
计算模块,用于利用Triplet函数,根据f(X_anchor)、f(X_positive)和f(X_negative)三组特征序列计算损失函数;
调整模块,用于根据损失函数对TristouNet结构的参数进行调整,得到神经网络模型。
在具体实施例中,构建模块具体包括:
组合单元,用于将正LSTM网络的输出层和反LSTM网络的输出层进行组合得到组合后的输出层;
添加单元,用于在组合后的输出层的后面添加第一全连接层,用于全连接处理;在第一全连接层后面添加第二全连接层,用于再次全连接处理;在第二全连接层后面添加归一化层,用于归一化处理,形成TristouNet网络。
在具体实施例中,组合单元,还用于将三个TristouNet网络进行并排组合;
构建模块具体还包括:
构建单元,用于构建Triplet sampling层,将Triplet sampling层与三个TristouNet网络的输入层相连;
构建单元,还用于构建Triplet loss层,将Triplet loss层与三个TristouNet网络的输出层相连,构成TristouNet结构。
在具体实施例中,输入模块具体包括:
抽取单元,用于Triplet sampling层将X_anchor语音特征、X_positive语音特征和X_negative语音特征进行特征抽取;
处理单元,用于将抽取后的X_anchor语音特征、X_positive语音特征和X_negative语音特征分别输入三个TristouNet网络中,利用TristouNet网络中的正LSTM网络和反LSTM网络进行处理,将处理结果输入至第一全连接层;
处理单元,还用于第一全连接层对处理结果进行全连接处理,得到第一次全连接结果;将第一次全连接结果输入至第二全连接层,进行再次全连接处理,得到再次全连接结果;将再次全连接结果输入至归一化层,进行归一化处理得到f(X_anchor)、f(X_positive)和f(X_negative)三组特征序列。
在具体实施例中,计算模块具体用于,计算目标人的语音和其他人的语音的欧式距离差Δt=d(f(X_anchor),f(X_positive))-d(f(X_anchor),f(X_negative))+a,其中,d为欧式距离函数,a为常数值;对得到的所有Δt利用公式∑max(0,Δt)计算损失函数。
在具体实施例中,特征提取模块42具体包括:
加重单元,用于对待识别的语音利用高通滤波器进行预加重处理;
分帧单元,用于将预加重处理后的待识别的语音进行分帧处理;
加窗单元,用于将待识别的语音中的每一帧乘以汉明窗进行加窗处理,得到加窗后的待识别的语音帧;
变换单元,用于对加窗后的待识别的语音帧进行快速傅里叶变换,得到对应的能量谱;
滤波单元,用于将能量谱通过三角带通滤波器,对频谱进行平滑化,消除能量谱的谐波的作用;
对数转换单元,用于对三角带通滤波器的输出结果进行计算对数能量,并进行离散余弦变换得到MFCC特征;
归一化单元,用于对MFCC特征进行归一化处理,利用语音活动检测工具过滤掉非语音帧,得到待识别的语音特征。
基于上述图1所示方法和图4所示装置的实施例,为了实现上述目的,本申请实施例还提供了一种计算机设备,如图5所示,包括存储器52和处理器51,其中存储器52和处理器51均设置在总线53上存储器52存储有计算机程序,处理器51执行计算机程序时实现图1所示的基于TristouNet的声纹识别方法。
基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储器(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。
可选地,该设备还可以连接用户接口、网络接口、摄像头、射频(Radio Frequency,RF)电路,传感器、音频电路、WI-FI模块等等。用户接口可以包括显示屏(Display)、输入单元比如键盘(Keyboard)等,可选用户接口还可以包括USB接口、读卡器接口等。网络接口可选的可以包括标准的有线接口、无线接口(如蓝牙接口、WI-FI接口)等。
本领域技术人员可以理解,本实施例提供的一种计算机设备的结构并不构成对该实体设备的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。
基于上述如图1所示方法和图4所示装置的实施例,相应的,本申请实施例还提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述如图1所示的基于TristouNet的声纹识别方法。
存储介质中还可以包括操作系统、网络通信模块。操作系统是管理计算机设备硬件和软件资源的程序,支持信息处理程序以及其它软件和/或程序的运行。网络通信模块用于实现存储介质内部各组件之间的通信,以及与计算机设备中其它硬件和软件之间通信。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以借助软件加必要的通用硬件平台的方式来实现,也可以通过硬件实现。
通过应用本申请的技术方案,将TristouNet网络与Triplet函数结合,利用语音对其进行训练得到神经网络模型,训练过程比较方便快捷。神经网络模型的前端将待识别的语音特征进行处理之后,将处理结果输入至最后一层,利用最后一层计算待识别的语音特征与目标人的语音特征之间的欧式距离,如果该欧氏距离超出预定距离,证明待识别的语音与目标人的语音相差较远,不属于目标人的语音,如果该欧氏距离小于预定距离,证明待识别的语音与目标人的语音相似度较高,属于目标人的语音。这样,有效提高对语音的识别精度,提高识别效率。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本申请所必须的。本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本申请序号仅仅为了描述,不代表实施场景的优劣。以上公开的仅为本申请的几个具体实施场景,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。
Claims (10)
1.一种基于TristouNet的声纹识别方法,其特征在于,所述方法包括:
获取待识别的语音;
利用MFCC对所述待识别的语音进行特征提取,得到待识别的语音特征;
将所述待识别的语音特征输入神经网络模型进行处理,其中,将TristouNet网络与Triplet函数结合,经过训练得到神经网络模型;
在所述神经网络模型的最后一层确定所述待识别的语音特征与目标人的语音特征之间的待识别的欧式距离,并判断所述待识别的欧式距离是否小于预定距离,是则输出所述待识别的语音属于所述目标人的结果,否则输出所述待识别的语音不属于所述目标人得结果。
2.根据权利要求1所述的方法,其特征在于,在将所述待识别的语音特征输入神经网络模型进行处理之前,所述方法还包括:
获取目标人的语音并将目标人的语音分成两组,分别为anchor组语音和positive组语音,以及获取其他人的语音作为negative组语音;
利用MFCC对anchor组语音、positive组语音和negative组语音进行特征提取,得到X_anchor语音特征、X_positive语音特征和X_negative语音特征;
构建TristouNet网络,在所述TristouNet网络中引用Triplet函数,形成TristouNet结构;
将X_anchor语音特征、X_positive语音特征和X_negative语音特征输入TristouNet结构中的TristouNet网络进行处理,得到f(X_anchor)、f(X_positive)和f(X_negative)三组特征序列;
利用Triplet函数,根据f(X_anchor)、f(X_positive)和f(X_negative)三组特征序列计算损失函数;
根据所述损失函数对所述TristouNet结构的参数进行调整,得到神经网络模型。
3.根据权利要求2所述的方法,其特征在于,所述构建TristouNet网络,具体包括:
将正LSTM网络的输出层和反LSTM网络的输出层进行组合得到组合后的输出层;
在所述组合后的输出层的后面添加第一全连接层,用于全连接处理;
在所述第一全连接层后面添加第二全连接层,用于再次全连接处理;
在所述第二全连接层后面添加归一化层,用于归一化处理,形成TristouNet网络。
4.根据权利要求2或3所述的方法,其特征在于,在所述TristouNet网络中引用Triplet函数,形成TristouNet结构,具体包括:
将三个TristouNet网络进行并排组合;
构建Triplet sampling层,将Triplet sampling层与三个TristouNet网络的输入层相连;
构建Triplet loss层,将Tripletloss层与三个TristouNet网络的输出层相连,构成TristouNet结构。
5.根据权利要求4所述的方法,其特征在于,所述将X_anchor语音特征、X_positive语音特征和X_negative语音特征输入TristouNet结构中的TristouNet网络进行处理,得到f(X_anchor)、f(X_positive)和f(X_negative)三组特征序列,具体包括:
所述Triplet sampling层将X_anchor语音特征、X_positive语音特征和X_negative语音特征进行特征抽取;
将抽取后的X_anchor语音特征、X_positive语音特征和X_negative语音特征分别输入三个TristouNet网络中,利用TristouNet网络中的正LSTM网络和反LSTM网络进行处理,将处理结果输入至第一全连接层;
所述第一全连接层对处理结果进行全连接处理,得到第一次全连接结果;
将所述第一次全连接结果输入至第二全连接层,进行再次全连接处理,得到再次全连接结果;
将所述再次全连接结果输入至归一化层,进行归一化处理得到f(X_anchor)、f(X_positive)和f(X_negative)三组特征序列。
6.根据权利要求4所述的方法,其特征在于,所述利用Triplet函数,根据f(X_anchor)、f(X_positive)和f(X_negative)三组特征序列计算损失函数,具体包括:
计算目标人的语音和其他人的语音的欧式距离差Δt=d(f(X_anchor),f(X_positive))-d(f(X_anchor),f(X_negative))+a,其中,d为欧式距离函数,a为常数值;
对得到的所有Δt利用公式∑max(0,Δt)计算损失函数。
7.根据权利要求1所述的方法,其特征在于,所述利用MFCC对所述待识别的语音进行特征提取,得到待识别的语音特征,具体包括:
对所述待识别的语音利用高通滤波器进行预加重处理;
将预加重处理后的待识别的语音进行分帧处理;
将待识别的语音中的每一帧乘以汉明窗进行加窗处理,得到加窗后的待识别的语音帧;
对所述加窗后的待识别的语音帧进行快速傅里叶变换,得到对应的能量谱;
将所述能量谱通过三角带通滤波器,对频谱进行平滑化,并消除谐波的作用,突显待识别的语音的共振峰;
对三角带通滤波器的输出结果进行计算对数能量,并进行离散余弦变换得到MFCC特征;
对MFCC特征进行归一化处理,利用语音活动检测工具过滤掉非语音帧,得到待识别的语音特征。
8.一种基于TristouNet的声纹识别装置,其特征在于,所述装置包括:
获取模块,用于获取待识别的语音;
特征提取模块,用于利用MFCC对所述待识别的语音进行特征提取,得到待识别的语音特征;
处理模块,用于将所述待识别的语音特征输入神经网络模型进行处理,其中,将TristouNet网络与Triplet函数结合,经过训练得到神经网络模型;
判断模块,用于在所述神经网络模型的最后一层确定所述待识别的语音特征与目标人的语音特征之间的待识别的欧式距离,并判断所述待识别的欧式距离是否小于预定距离,是则输出所述待识别的语音属于所述目标人的结果,否则输出所述待识别的语音不属于所述目标人得结果。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述基于TristouNet的声纹识别方法的步骤。
10.一种计算机存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述基于TristouNet的声纹识别方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910895059.4A CN110570871A (zh) | 2019-09-20 | 2019-09-20 | 一种基于TristouNet的声纹识别方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910895059.4A CN110570871A (zh) | 2019-09-20 | 2019-09-20 | 一种基于TristouNet的声纹识别方法、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110570871A true CN110570871A (zh) | 2019-12-13 |
Family
ID=68781583
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910895059.4A Pending CN110570871A (zh) | 2019-09-20 | 2019-09-20 | 一种基于TristouNet的声纹识别方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110570871A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112466299A (zh) * | 2020-11-26 | 2021-03-09 | 广东工业大学 | 一种声音主题识别方法 |
CN112613481A (zh) * | 2021-01-04 | 2021-04-06 | 上海明略人工智能(集团)有限公司 | 一种基于频谱的轴承磨耗预警方法与系统 |
CN113782033A (zh) * | 2021-09-26 | 2021-12-10 | 广东电网有限责任公司 | 一种声纹识别方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107527620A (zh) * | 2017-07-25 | 2017-12-29 | 平安科技(深圳)有限公司 | 电子装置、身份验证的方法及计算机可读存储介质 |
CN108564955A (zh) * | 2018-03-19 | 2018-09-21 | 平安科技(深圳)有限公司 | 电子装置、身份验证方法和计算机可读存储介质 |
CN108899037A (zh) * | 2018-07-05 | 2018-11-27 | 平安科技(深圳)有限公司 | 动物声纹特征提取方法、装置及电子设备 |
CN109256139A (zh) * | 2018-07-26 | 2019-01-22 | 广东工业大学 | 一种基于Triplet-Loss的说话人识别方法 |
CN110010133A (zh) * | 2019-03-06 | 2019-07-12 | 平安科技(深圳)有限公司 | 基于短文本的声纹检测方法、装置、设备及存储介质 |
-
2019
- 2019-09-20 CN CN201910895059.4A patent/CN110570871A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107527620A (zh) * | 2017-07-25 | 2017-12-29 | 平安科技(深圳)有限公司 | 电子装置、身份验证的方法及计算机可读存储介质 |
CN108564955A (zh) * | 2018-03-19 | 2018-09-21 | 平安科技(深圳)有限公司 | 电子装置、身份验证方法和计算机可读存储介质 |
CN108899037A (zh) * | 2018-07-05 | 2018-11-27 | 平安科技(深圳)有限公司 | 动物声纹特征提取方法、装置及电子设备 |
CN109256139A (zh) * | 2018-07-26 | 2019-01-22 | 广东工业大学 | 一种基于Triplet-Loss的说话人识别方法 |
CN110010133A (zh) * | 2019-03-06 | 2019-07-12 | 平安科技(深圳)有限公司 | 基于短文本的声纹检测方法、装置、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
HERVÉ BREDIN ET AL: "TristouNet: Triplet loss for speaker turn embedding", 《2017 IEEE INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH, AND SIGNAL PROCESSING》, pages 5430 - 5434 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112466299A (zh) * | 2020-11-26 | 2021-03-09 | 广东工业大学 | 一种声音主题识别方法 |
CN112466299B (zh) * | 2020-11-26 | 2023-11-17 | 广东工业大学 | 一种声音主题识别方法 |
CN112613481A (zh) * | 2021-01-04 | 2021-04-06 | 上海明略人工智能(集团)有限公司 | 一种基于频谱的轴承磨耗预警方法与系统 |
CN113782033A (zh) * | 2021-09-26 | 2021-12-10 | 广东电网有限责任公司 | 一种声纹识别方法、装置、设备及存储介质 |
CN113782033B (zh) * | 2021-09-26 | 2023-11-24 | 广东电网有限责任公司 | 一种声纹识别方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108597496B (zh) | 一种基于生成式对抗网络的语音生成方法及装置 | |
WO2020181824A1 (zh) | 声纹识别方法、装置、设备以及计算机可读存储介质 | |
WO2019232829A1 (zh) | 声纹识别方法、装置、计算机设备及存储介质 | |
CN109256138B (zh) | 身份验证方法、终端设备及计算机可读存储介质 | |
CN102968990B (zh) | 说话人识别方法和系统 | |
WO2018223727A1 (zh) | 识别声纹的方法、装置、设备及介质 | |
CN110767239A (zh) | 一种基于深度学习的声纹识别方法、装置及设备 | |
WO2020034628A1 (zh) | 口音识别方法、装置、计算机装置及存储介质 | |
CN110570870A (zh) | 一种文本无关的声纹识别方法、装置及设备 | |
CN111785285A (zh) | 面向家居多特征参数融合的声纹识别方法 | |
CN110570871A (zh) | 一种基于TristouNet的声纹识别方法、装置及设备 | |
CN110265035B (zh) | 一种基于深度学习的说话人识别方法 | |
CN111243617B (zh) | 一种基于深度学习降低mfcc特征失真的语音增强方法 | |
WO2018095167A1 (zh) | 声纹识别方法和声纹识别系统 | |
CN106548786A (zh) | 一种音频数据的检测方法及系统 | |
Sukhwal et al. | Comparative study of different classifiers based speaker recognition system using modified MFCC for noisy environment | |
Soni et al. | Novel Subband Autoencoder Features for Detection of Spoofed Speech. | |
Maazouzi et al. | MFCC and similarity measurements for speaker identification systems | |
CN110875037A (zh) | 语音数据处理方法、装置及电子设备 | |
Sukor et al. | Speaker identification system using MFCC procedure and noise reduction method | |
US20230116052A1 (en) | Array geometry agnostic multi-channel personalized speech enhancement | |
CN111785262B (zh) | 一种基于残差网络及融合特征的说话人年龄性别分类方法 | |
CN113963718A (zh) | 一种基于深度学习的语音会话分割方法 | |
Tahliramani et al. | Performance analysis of speaker identification system with and without spoofing attack of voice conversion | |
Komlen et al. | Text independent speaker recognition using LBG vector quantization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |