一种基于DNN的文本无关表征音色聚类方法与流程

文档序号:31564268发布日期:2022-09-20 19:35阅读:142来源:国知局
一种基于DNN的文本无关表征音色聚类方法与流程
一种基于dnn的文本无关表征音色聚类方法
技术领域
1.本发明涉及语音信号处理技术领域,特别涉及一种基于dnn的文本无关表征音色聚类方法。


背景技术:

2.音色聚类是根据多说话人音色将输入音频集合中的音色相似划分同质段,进而与其他音色加以区分的过程。它试图解决“某人声音有什么特点”的问题,具有广泛的应用,包括多媒体信息检索、说话人分析和音频处理。目前鲜有带音频音色类别标签的数据集,因此对于音色的鉴定多采用无监督的聚类算法。典型的音色聚类系统通常由两个部分组成:(1)音频特征提取,其中从原始音频中提取特定特征,例如mfcc、lpc或lpcc;(2)聚类,确定音色类别数量,并将提取的音频特征聚类到这些音色类别中。
3.在之前的研究中,mfcc作为语音特征被普遍使用,mfcc特征即包含说话人信息,又包含信道信息,这对于语音识别等对语音内容敏感的问题上有较优的表现,但对于音色聚类,更关心的是说话人身份特性,并且期望减少特征中对说话人信息的干扰,因此音色聚类需要的是一种文本无关的特征表示。
4.聚类(clustering):是指把相似的数据划分到一起,具体划分的时候并不关心这一类的标签具体含义是什么,目标就是把相似的数据聚合到一起,聚类是一种无监督学习(unsupervised learning)方法。在音色聚类中最常使用的聚类算法即为k-means,直接使用k-means对音色进行分类存在的问题是:语音数据通常非高斯分布,在这种情况下,k-means聚类的中心不足以表示一个类别;此外,语音特质受性别、年龄、口音等多个因素影响,这种结构就导致直接聚类是性能表现较差,比如男性和女性说话者之间的差异远大于两个女性说话者之间的差异,在实践中,这通常会导致k-means错误地将所有对应于男性说话者聚类到一个聚类中,并将所有对应于女性说话者聚类到另一个聚类中。聚类类别的预设难以统一,同时k-means的初始质心选择通常是随机选择的,但初始质心点取值不同的时候,最终的聚类效果也不一样,由于初始质心点选取不合理造成的误分是最常见的问题。


技术实现要素:

5.本发明的目的在于提供一种基于dnn的文本无关表征音色聚类方法,以克服现有技术中存在的不足。
6.为实现上述目的,本发明提供如下技术方案:
7.一种基于dnn的文本无关表征音色聚类方法,包括以下步骤:
8.步骤s10:获取大量的说话人语音数据,作为训练数据集;
9.步骤s20:构建声学识别模型,其中,模型整体结构是一个前馈dnn,从可变长度的语音数据计算embedding特征,分为声学特征提取和dnn声学模型构建;
10.步骤s30:声学模型训练,构建多分类交叉熵目标函数为:
[0011][0012]
通过多分类交叉熵目标函数对网络进行训练以对训练说话者进行分类,训练的优化过程为:假设每个人的音色都是一个类别,n个训练段中有k个音色类别,k个说话人即为k类音色,那么p(spkrk|x(n)1:t)定义为给定t个输入帧x(n)1,x(n)2,...x(n)t时音色类别是k的概率,如果语音片段n的说话者标签为k,则dnk为1,否则为0;
[0013]
步骤s40:提取音色embedding特征向量,训练网络目标生成包含更多说话人音色信息的embedding特征向量,通过将embedding特征泛化到训练数据中没有出现过的说话者(音色),embedding特征用于捕获整段语音的音色特征;
[0014]
步骤s50:在embedding特征向量上应用谱聚类进行音色聚类,基于图的聚类算法,对于相似度矩阵s,它将sij视为无向图中节点i和j之间的边的权重。通过去除权重较小的弱边,谱聚类将原始图划分为子图。
[0015]
优选地,所述步骤s20中对声学特征提取,包括以下步骤:
[0016]
s201:接收一未知语音信号,对未知语音信号进行预加重和分帧加窗处理;
[0017]
s202:经过音频分帧,每25ms一帧、帧移10ms;
[0018]
s203:对经预处理后的未知语音信号进行fft变换;
[0019]
s204:将经fft变换后的未知语音信号通过mel滤波器组,得到mel频谱;
[0020]
s205:将mel频谱进行对数能量处理,得到对数频谱;
[0021]
s206:将对数频谱经过dct变换,提取得到前13维以及其一阶、二阶差分值,再加上帧能量合并起来组成40维特征作为dnn模型的特征参数;
[0022]
优选地,所述步骤s20中对dnn声学模型构建,模型整体架构包含多个帧级别的tdnn层,一个在片段级上表示聚合的统计池化层,两层句子级别的全连接层,以及最后一个softmax输出层组成;网络的前5层在帧级别构建,采用的是时延神经网络,包括以下步骤:
[0023]
s211:指定人在时间t内读取一段中文文本,以该段语音作为语音信号,对所述语音信号进行预处理;
[0024]
s212:假设t是当前时间步长,首先将(t-2,t-1,t,t+1,t+2)处的帧拼接在一起作为网络输入;
[0025]
s213:并通过接下来的两层分别将前一层在(t-2,t,t+2)和(t-3,t,t+3)处的输出拼接在一起;将第四、五层也在帧级别上运行,但不加入任何额外的时间上下文信息。
[0026]
优选地,所述统计池化层接收帧级层的最终输出作为输入,在输入段上聚合,并计算tdnn网络输出的均值和标准差,再将这些段级别的统计信息连接在一起,并传递给两个句子级别的全连接层。
[0027]
优选地,所述步骤s30中声学模型通过删除任何少于4秒的音频数据来优化数据集,训练数据采用千级别说话人的几百小时语音数据。
[0028]
优选地,所述步骤s50中谱聚类包括以下步骤:
[0029]
s501:根据embedding特征向量构造相似度矩阵s,其中sij是第i个和第j个语音片段embedding向量的的余弦相似度,并将对角元素即i=j时设置为0;
[0030]
s502:计算拉普拉斯矩阵l并执行归一化:
[0031]
l=d-s
[0032]
l
norm
=d-1
l
[0033]
其中,d是对角矩阵,并且
[0034]
s503:计算lnorm的特征值和特征向量;
[0035]
s504:计算簇数k,lnorm的一项属性表示图中的聚类数等于0特征值的代数重数,设置了一个阈值β并将低于β的特征值的数量计为k;
[0036]
s505:取k个最小特征值λ1,λ2,...λk和对应lnorm的特征向量p1,p2,...pk以使用p1,p2,...pk作为列来构造矩阵p∈rn
×
k。
[0037]
s506:使用k-means算法对p的行向量y1,y2,...yn进行聚类。
[0038]
与现有技术相比,本发明的有益效果:本发明在没有任何人工投入的情况下,通过构建多分类交叉熵目标函数,由数据驱动的音色表征,并通过更适合高维聚类的谱聚类算法完成了对音色的聚类,以此来提高对特定人声音的匹配率,从而提高特定人语音识别的正确率。
附图说明
[0039]
图1是本发明的流程图;
[0040]
图2是本发明dnn声学模型结构示意图;
[0041]
图3是本发明语音识别技术语音特征提取的流程示意图。
具体实施方式
[0042]
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本技术的实施例及实施例中的特征可以相互组合。
[0043]
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
[0044]
请结合参照图1至图3,本发明实施例提供的一种基于dnn的文本无关表征音色聚类方法,包括以下步骤:
[0045]
步骤s10:获取大量的说话人语音数据,作为训练数据集;
[0046]
步骤s20:构建声学识别模型,其中,模型整体结构是一个前馈dnn,从可变长度的语音数据计算embedding特征,分为声学特征提取和dnn声学模型构建;
[0047]
步骤s30:声学模型训练,构建多分类交叉熵目标函数为:
[0048][0049]
通过多分类交叉熵目标函数对网络进行训练以对训练说话者进行分类,训练的优化过程为:假设每个人的音色都是一个类别,n个训练段中有k个音色类别,k个说话人即为k
类音色,那么p(spkrk|x(n)1:t)定义为给定t个输入帧x(n)1,x(n)2,...x(n)t时音色类别是k的概率,如果语音片段n的说话者标签为k,则dnk为1,否则为0;声学模型通过删除任何少于4秒的音频数据来优化数据集,训练数据采用千级别说话人的几百小时语音数据;
[0050]
步骤s40:提取音色embedding特征向量,训练网络目标生成包含更多说话人音色信息的embedding特征向量,通过将embedding特征泛化到训练数据中没有出现过的说话者(音色),通过embedding特征捕获整段语音的音色特征,而不是在帧级别;因此,统计池层之后的任何全连接层都是从中提取embedding特征的合理位置,也就是图1中的embedding a或embedding b的位置;其中,embedding a是直接在统计池化层之上的全连接层输出,embedding b是从激活函数relu之后的全连接层提取的,因此它是统计池化的非线性输出。
[0051]
步骤s50:在embedding特征向量上应用谱聚类进行音色聚类,基于图的聚类算法,对于相似度矩阵s,它将sij视为无向图中节点i和j之间的边的权重。通过去除权重较小的弱边,谱聚类将原始图划分为子图。
[0052]
具体地,步骤s20中对声学特征提取,包括还以下步骤:
[0053]
s201:接收一未知语音信号,对未知语音信号进行预加重和分帧加窗处理;预加重的目的是提升高频部分,对语音的高频部分进行加重,去除口唇辐射的影响,增加语音的高频分辨率使信号的频谱变得平坦,保持在低频到高频的整个频带中,能用同样的信噪比求频谱;
[0054]
s202:经过音频分帧,每25ms一帧、帧移10ms;通过分帧加窗处理能够得到输入语音的各个平滑帧;
[0055]
s203:对经预处理后的未知语音信号进行fft变换,即对语音的各个平滑帧进行fft变换;
[0056]
s204:将经fft变换后的未知语音信号通过mel滤波器组,得到mel频谱s(m);
[0057]
s205:将mel频谱s(m)进行对数能量处理,得到对数频谱l(m),即
[0058]
s206:将对数频谱经过dct(离散余弦)变换,提取得到前13维以及其一阶、二阶差分值,再加上帧能量合并起来组成40维特征作为dnn模型的特征参数。
[0059]
具体地,步骤s20中对dnn声学模型构建,模型整体架构包含多个帧级别的tdnn层,一个在片段级上表示聚合的统计池化层,两层句子级别的全连接层,以及最后一个softmax输出层组成;网络的前5层在帧级别构建,采用的是时延神经网络,包括以下步骤:
[0060]
s211:指定人在时间t内读取一段中文文本,以该段语音作为语音信号,对所述语音信号进行预处理;
[0061]
s212:假设t是当前时间步长,首先将(t-2,t-1,t,t+1,t+2)处的帧拼接在一起作为网络输入;
[0062]
s213:并通过接下来的两层分别将前一层在(t-2,t,t+2)和(t-3,t,t+3)处的输出拼接在一起;将第四、五层也在帧级别上运行,但不加入任何额外的时间上下文信息。
[0063]
结构上tdnn每一层仍然是cnn,只是其每层的输入由历史、当前和未来的特征拼接而层,从而引入时序信息;tdnn结构的优势在于,其相对于lstm可以并行化训练,又相对于cnn增加了时序上下文信息。
[0064]
具体地,统计池化层接收帧级层的最终输出作为输入,在输入段上聚合,并计算tdnn网络输出的均值和标准差,再将这些段级别的统计信息连接在一起,并传递给两个句子级别的全连接层;从而得到了句子级别的特征表达,全连接层的维度都为512(其中任何一个都可用于提取embedding特征向量)。声学模型的最后是softmax输出层,softmax的节点数为训练集说话人个数。
[0065]
具体地,步骤s50中谱聚类包括以下步骤:
[0066]
s501:根据embedding特征向量构造相似度矩阵s,其中sij是第i个和第j个语音片段embedding向量的的余弦相似度,并将对角元素即i=j时设置为0;
[0067]
s502:计算拉普拉斯矩阵l并执行归一化:
[0068]
l=d-s
[0069]
l
norm
=d-1
l
[0070]
其中,d是对角矩阵,并且
[0071]
s503:计算lnorm的特征值和特征向量;
[0072]
s504:计算簇数k,lnorm的一项属性表示图中的聚类数等于0特征值的代数重数,设置了一个阈值β并将低于β的特征值的数量计为k;
[0073]
s505:取k个最小特征值λ1,λ2,...λk和对应lnorm的特征向量p1,p2,...pk以使用p1,p2,...pk作为列来构造矩阵p∈rn
×
k。
[0074]
s506:使用k-means算法对p的行向量y1,y2,...yn进行聚类。
[0075]
综上所述,本发明在没有任何人工投入的情况下,通过构建多分类交叉熵目标函数,将深度学习应用到特征提取模块,通过深度神经网络学习音色表征embedding,期望将音色信息映射到一个向量空间,在此空间里,相似音色的语音映射得到的embedding距离会比较近,而不同音色的语音映射得到的embedding距离尽可能远,由数据驱动的音色表征,通过再在embedding特征向量上使用更适合高维数据特征聚类的谱聚类完成音色的分类,以此来提高对特定人声音的匹配率,从而提高特定人语音识别的正确率。
[0076]
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这些仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1