面向语音通信的身份信息隐藏方法与流程

文档序号:15391497发布日期:2018-09-08 01:12阅读:301来源:国知局

本发明属于信息安全技术领域,具体涉及一种面向语音通信的身份信息隐藏方法。



背景技术:

说话人身份隐藏技术是指保持语言语义信息不变的情况下,改变说话人的个性特征,达到隐藏说话人身份的目的,在保密通信领域具有非常重要的应用。目前,在说话人身份隐藏技术中,常用的方法是通过改变语音的基频,达到变声的效果,但是这种方法语音的听觉质量较差。此外还有一种是通过语音转换技术,实现基频和声道谱同时转换,合成具有更高质量的语音,但是这种方式,需要获取大量源、目标说话人的对称语音数据(即语义内容相同的语音),建立语音的转换函数,不同的说话人需要建立不同的转换函数。在使用过程中,用户需要录制较多的语音数据,费时费力,在实际应用中使用不方便。



技术实现要素:

针对现有技术存在的上述问题,本发明提出了一种面向语音通信的身份信息隐藏方法,其通过建立预训练的语音转换函数库,可以便捷、实时地进行说话人身份隐藏。

为达到上述技术目的,本发明采取如下技术方案:

一种面向语音通信的身份信息隐藏方法,其按如下步骤进行:

一、说话人即语音源建模

具体的,利用gmm对每个说话人即语音源的语音特征参数空间进行建模,它是用多个高斯分布的概率密度的组合来描述特征矢量在概率空间的分布状况,每个人对应一个gmm,即

其中,x为d维特征矢量;ωm为混合权重,且满足为d维高斯函数,表示gmm模型的第m个高斯分量;μm表示该高斯分量的均值矢量;∑m表示协方差矩阵。整个高斯混合模型(gmm)由各混合分量的均值矢量、协方差矩阵以及混合权重来描述,用λ来表示该模型,有:

λ={ωm,μm,∑m},m=1,2,...,m(3)

模型参数λ是通过期望最大(expectationmaximization,em)算法求得,假设语音特征参数空间是长度为t的矢量序列x={xt,t=1,2,...,t},则有:

通过上述em算法求解gmm模型参数,为每个说话人分别构建一个gmm模型。

二、生成语音字典

具体的,对语音库中的n个说话人,分别通过straight模型进行信号建模,提取每帧语音的声道谱和基频,并从声道谱中求出梅尔倒谱系数(mel-cepstralcoefficients,mcc)。声道谱参数用于生成语音字典和进行特征参数的转换,mcc参数用于动态时间规整(dynamictimewarping,dtw)和说话人特征参数空间的gmm建模。用dtw对n个说话人的mcc矢量序列进行时间对齐,再根据这些时间对齐信息,将n个说话人的声道谱特征参数矢量序列进行相应的时间对齐,然后在每个对齐的声道谱特征参数矢量序列的相同位置上随机地抽取出l个特征参数矢量。每个说话人分别用各自随机抽取的l个的声道谱特征参数矢量构成的字典,这样就获得了n个对称的字典,即{an,n=1,2,l,n}。同时对每个说话的基音频率进行统计分析,得到均值μ和方差σ。

三、身份信息隐藏算法

本发明由两部分构成,第一部分为对任意用户(源说话人)语音,分别计算在n个gmm模型下的概率,作为用户语音与库中任一说话人之间相似度度量指标,分别找到对应的n个概率值中最大和最小值,概率最大表明用户语音与语音库中的该说话人语音最相似,概率最小说明它们之间差异最为明显。这样就找到最相似的说话人i和差异最大的说话人j,在语音转换阶段,利用说话人i和j对应的语音字典通过nmf算法实现声道谱的转换,最后结合基频的均值方差转换合成目标语音。因此,整个过程就将用户的语音转换成了与他差异最大的说话人的声音,达到了说话人身份信息隐藏的目的。详细的算法过程如下。

(1)建立包含n个说话人的语音库;

(2)分别为每个说话人的特征参数矢量空间建立gmm模型,求得gmm模型参数,即可得到n个gmm模型。此处所采用的特征参数矢量是mcc参数。

(3)分别为每个说话人确定语音字典和基频转换参数。利用上一步mcc参数,通过动态时间规整算法(dtw)对语音库中n个说话人的语音进行时间对齐;根据时间对齐信息,为n个说话人的straight声道谱参数矢量序列进行规整对齐;在n个时间对齐的声道谱矢量序列中,分别随机抽取相同位置上的声道谱参数矢量构成语音字典,这样就建立n个说话人的对齐的语音字典并储存。同时,分别为语音库中每个说话人的基音频率进行统计,得到均值和方差。

(4)对于任意的用户,获取一小段语音,并由straight模型提取声道谱和基频,并通过声道谱得到mcc参数,然后分别计算mcc参数矢量序列在n个gmm模型下的概率,以用于用户语音和库中各个说话人之间语音相似度的判决,即:

其中,t是mcc参数矢量序列的长度。

(5)找出n个概率中的最大值所对应的说话人i和最小值所对应的说话人j,即:

(6)找出对应存储的说话人i和说话人j的语音字典ai和aj以及他们的基频均值μi、μj和方差σi、σj。

(7)由用户声道谱参数矢量序列s和说话人i的语音字典ai通过非负矩阵分解算法(nmf)计算权值矩阵h。在s和ai已知的情况下,通过最小化损失函数来估计权值矩阵h,即:

h=argmin{dkl(s,aih)+||ελ1×l.*h||1}s.t.h≥0(11)

其中,dkl(·)表示kl散度,||·||1表示l1范数,ε表示稀疏惩罚因子,λ表示全1矩阵,l表示特征参数矢量维数。公式(11)可由nmf算法迭代求解h。

(8)由说话人j的语音字典aj与上一步求得的权值矩阵h获得合成目标语音谱;

(9)基频转换利用统计的方法,通过上述说话人i和说话人j对应的基频均值μi、μj和方差σi、σj,得到转换后的基频为:

其中,fx表示用户语音的基频,表示转换基频。

(10)利用步骤(8)、(9)得到的目标频谱和转换基频通过straight模型合成语音,从而使得用户的语音转换成了第j个说话人的声音,达到隐藏说话人身份信息的目的。

本发明具有如下优点:

(1)通过建立n个说话人的语音库,并提取特征参数储存的方式,解决传统语音转换方法中需要对不同说话人建立不同转换函数的弊端。在本发明中,对于不同的用户,只需要少量语音数据就可以根据相似度选择转换函数,而不再需要重新训练转换函数即可实现身份信息隐藏,方便用户使用。

(2)通过gmm评分确定说话人差异性,结合构建语音字典,以这种说话人识别系统和语音转换系统相结合的方式,实现用户语音和相似语音字典的匹配,通过nmf算法实现语音转换,避免在用户使用过程中复杂的转换函数训练过程,极大的减少计算量,提高了系统的实时性。

附图说明

图1身份信息隐藏系统工作流程示意图。

图2字典生成和基频建模框图。

图3身份信息隐藏系统中声道谱转换流程框图。

具体实施方式

下面结合附图对本发明优选实施例作详细说明。

本发明实施例一种面向语音通信的身份信息隐藏方法,其通过建立预训练的语音转换函数库,可以便捷、实时地进行说话人身份隐藏。在预训练阶段,从语音库中提取任意n个说话人的对称语音并用高斯混合模型(gaussianmixturemodel,gmm)为每个说话人语音的特征参数空间进行概率分布密度建模。同时,根据这n个说话人的对称语音,利用非负矩阵分解(non-negativematrixfactorization,nmf)技术建立相应的n个对称语音字典。当用户使用系统时,仅需要少量的用户语音数据,计算在各个gmm模型下的概率大小,将概率大的作为源说话人,概率小的作为目标说话人,从而建立所选定的源说话人与目标说话人直接的转换关系,实现用户的身份隐藏。该过程如图1所示。根据用户的语音数据x,计算其在每个说话人gmm模型下的概率,假设在第i个说话人模型下的概率p(x|λi)最大,在第j个说话人模型下的概率p(x|λj)最小,则认为用户的声音与第i个人的声音最相近,与第j个人的声音最不同,因此利用第i个说话人与第j个说话人之间的转换函数fij(g)将用户语音x转换成第j个说话人的声音,从而隐藏了用户的身份信息。

下面详细介绍本发明的结构和工作原理。

一、说话人建模

利用gmm对每个说话人的语音特征参数空间进行建模,它是用多个高斯分布的概率密度的组合来描述特征矢量在概率空间的分布状况,每个人对应一个gmm,即

其中,x为d维特征矢量;ωm为混合权重,且满足为d维高斯函数,表示gmm模型的第m个高斯分量;μm表示该高斯分量的均值矢量;∑m表示协方差矩阵。整个高斯混合模型(gmm)由各混合分量的均值矢量、协方差矩阵以及混合权重来描述,用λ来表示该模型,有:

λ={ωm,μm,∑m},m=1,2,...,m(3)

模型参数λ是通过期望最大(expectationmaximization,em)算法求得,假设语音特征参数空间是长度为t的矢量序列x={xt,t=1,2,...,t},则有:

通过上述em算法求解gmm模型参数,为每个说话人分别构建一个gmm模型。

二、生成语音字典

对语音库中的n个说话人,分别通过straight模型进行信号建模,提取每帧语音的声道谱和基频,并从声道谱中求出梅尔倒谱系数(mel-cepstralcoefficients,mcc)。声道谱参数用于生成语音字典和进行特征参数的转换,mcc参数用于动态时间规整(dynamictimewarping,dtw)和说话人特征参数空间的gmm建模。用dtw对n个说话人的mcc矢量序列进行时间对齐,再根据这些时间对齐信息,将n个说话人的声道谱特征参数矢量序列进行相应的时间对齐,然后在每个对齐的声道谱特征参数矢量序列的相同位置上随机地抽取出l个特征参数矢量。每个说话人分别用各自随机抽取的l个的声道谱特征参数矢量构成的字典,这样就获得了n个对称的字典,即{an,n=1,2,l,n}。同时对每个说话的基音频率进行统计分析,得到均值μ和方差σ。上述过程如图2所示。

三、身份信息隐藏算法

本发明所提系统由两部分构成,第一部分为对任意用户(源说话人)语音,分别计算在n个gmm模型下的概率,作为用户语音与库中任一说话人之间相似度度量指标,分别找到对应的n个概率值中最大和最小值,概率最大表明用户语音与语音库中的该说话人语音最相似,概率最小说明它们之间差异最为明显。这样就找到最相似的说话人i和差异最大的说话人j,在语音转换阶段,利用说话人i和j对应的语音字典通过nmf算法实现声道谱的转换,最后结合基频的均值方差转换合成目标语音。因此,整个过程就将用户的语音转换成了与他差异最大的说话人的声音,达到了说话人身份信息隐藏的目的。详细的算法过程如下。

1、建立包含n个说话人的语音库;

2、分别为每个说话人的特征参数矢量空间建立gmm模型,求得gmm模型参数,即可得到n个gmm模型。这里所采用的特征参数矢量是mcc参数。

3、分别为每个说话人确定语音字典和基频转换参数。利用上一步mcc参数,通过动态时间规整算法(dtw)对语音库中n个说话人的语音进行时间对齐;根据时间对齐信息,为n个说话人的straight声道谱参数矢量序列进行规整对齐;在n个时间对齐的声道谱矢量序列中,分别随机抽取相同位置上的声道谱参数矢量构成语音字典,这样就建立n个说话人的对齐的语音字典并储存。同时,分别为语音库中每个说话人的基音频率进行统计,得到均值和方差。

4、对于任意的用户,获取一小段语音,并由straight模型提取声道谱和基频,并通过声道谱得到mcc参数,然后分别计算mcc参数矢量序列在n个gmm模型下的概率,以用于用户语音和库中各个说话人之间语音相似度的判决,即:

其中,t是mcc参数矢量序列的长度。

5、找出n个概率中的最大值所对应的说话人i和最小值所对应的说话人j,即:

6、找出对应存储的说话人i和说话人j的语音字典ai和aj以及他们的基频均值μi、μj和方差σi、σj。

7、由用户声道谱参数矢量序列s和说话人i的语音字典ai通过非负矩阵分解算法(nmf)计算权值矩阵h。在s和ai已知的情况下,通过最小化损失函数来估计权值矩阵h,即:

h=argmin{dkl(s,aih)+||ελ1×l.*h1}s.t.h≥0(11)

其中dkl(·)表示kl散度,||·1表示l1范数,ε表示稀疏惩罚因子,λ

表示全1矩阵,l表示特征参数矢量维数。公式(11)可由nmf算法迭代求解h。

8、由说话人j的语音字典aj与上一部求得的权值矩阵h获得合成目标语音谱;

9、基频转换利用统计的方法,通过上述说话人i和说话人j对应的基频均值μi、μj和方差σi、σj,得到转换后的基频为:

其中fx表示用户语音的基频,表示转换基频。

10、利用步骤(8)(9)得到的目标频谱和转换基频通过straight模型合成语音,从而使得用户的语音转换成了第j个说话人的声音,达到隐藏说话人身份信息的目的。

整个算法中声道谱的转换流程如图3所示。

以上对本发明的优选实施例及原理进行了详细说明,对本领域的普通技术人员而言,依据本发明提供的思想,在具体实施方式上会有改变之处,而这些改变也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1