一种基于LSTM的独立说话人语音发音逆求解的方法与流程

文档序号:16888534发布日期:2019-02-15 22:51阅读:382来源:国知局
一种基于LSTM的独立说话人语音发音逆求解的方法与流程

本发明涉及试验系统及其方法,更具体地涉及一种基于lstm的独立说话人语音发音逆求解的方法。



背景技术:

语音发音逆求解是通过采集到发音器官的轨迹数据以及同步音频,通过神经网络模型训练从而获得拟求解模型,试图从声音语音信号中推断声道发音器位置。系统能够从声学信号中预测发音器的位置。该系统能够从以下几个方面得以应用:在语音识别中,发音信息可以提高识别系统性能;语音合成中,可以提高语音质量以及修改合成语音的特征;角色动画中,可以用来自动化电影或视频游戏中虚拟人物的面部动画。

但是这种系统存在以下问题:

第一、以往的逆求解问题都是预测已知说话人,采集a数据,预测a的发音轨迹。训练集和验证集是同一人。不仅采集耗时,而且不能实践应用。

第二、特征选取效果不够好,均方根误差(rootmean-squarederror,rmse)在2-5mm左右和相关系数r为0.7左右,而且是在预测已知说话人的轨迹,并不是未知说话人的轨迹的预测。并且在预测发音轨迹时仍存在偏差。

第三、网络不具备时序性。以往采用的都是dnn作为网络,不具备时序特性,需要将多帧特征合并作为网络输入。

数据不平滑,轨迹数据采样率一般为100hz,存在锯齿形波形,数据不连续的问题。长时间大规模数据采集也会存在数据波动范围不稳定的情况。



技术实现要素:

本发明为克服上述现有技术所述的至少一种缺陷,提供一种基于lstm的独立说话人语音发音逆求解的方法,通过设置,预测了未在训练集中出现说话人的语音发音轨迹;改变输入特征,选取了效果更好、更合适的的声学特征作为网络输入,提升了rmse和相关系数r

为解决上述技术问题,本发明采用的技术方案是:

提供一种基于lstm的独立说话人语音发音逆求解的方法,具体步骤如下:

(1)首先对指定4个人音频信号以及同步的轨迹信号进行采集,通过安放传感器对上唇(upperlip,ul)、下唇(lowerlip,ll)、下齿龈(lowerincisor,li)、舌尖(tonguetip,tp)、舌中(tonguebody,tb),舌根(tonguedorsum,td)六个点的数据进行采集;

(2)在步骤(1)之后,选定鼻梁(rf)为参考点,在参考点处也放置传感器进行数据的采集;

(3)在步骤(2)之后,选定其中三个记为a、b、c作为训练人,d作为测试人;

(4)将训练人的语音信号进行特征提取,提取梅尔频率倒谱系数(melfrequencycepstrumcoefficient,mfcc)以及音素后验概率(phonemeposteriorprobabilities,ppp);并且将梅尔频率倒谱系数(melfrequencycepstrumcoefficient,mfcc)以及音素后验概率(phonemeposteriorprobabilities,ppp)作为联合输入特征(tandem),输入到长短期记忆网络(longshort-termmemory,lstm)网络中;

(5)选定训练好的模型,将d的联合输入特征(tandem)作为输入,发音轨迹作为输出;对轨迹与采集到的轨迹计算rmse和相关系数r进行数据推测,并与参考数据对比。

优选地,在步骤(5)中,推测出的rmse为1mm-2mm,相关系数r为0.5-0.75。

优选地,所述lstm为适合于处理和预测时间序列中间隔和延迟相对较长的重要事件的时间递归神经网络。

优选地,在步骤(4)中采用低通滤波器平滑轨迹。

优选地,所述音素后验概率(phonemeposteriorprobabilities,ppp)为零阶统计量。

优选地,在步骤(4)中,长短期记忆网络(longshort-termmemory,lstm)网络为四层网络,前两层lstm,每层100个节点,后两层采用全连接层,每层300个节点。

优选地,使用relu作为activationfunction,采用rmse作为lossfunction,选用adam作为optimizer,并设置dropout为0.2;语音轨迹选择传感器的x轴、y轴,2*6作为输出。

具体的:

选择a、b、c三人作为训练人,d作为测试人。这就让验证集中的说话人不在训练集中,从而预测一个未知说话人的发音轨迹。这是以往实验没有解决的一个问题,就是去预测未知说话人的发音轨迹。

将训练人的语音信号进行特征提取,提取梅尔频率倒谱系数(melfrequencycepstrumcoefficient,mfcc)以及音素后验概率(phonemeposteriorprobabilities,ppp)。ppp特征是将mfcc基于dnn的声学模型得到音素后验概率。我们采用已公开发布的hkust数据集来训练基于dnn的声学模型,但此时训练得到的音素后验概率维度很高,在5000-6000维。所以使用pca降维至40维,得到ppp。将ppp(40*1)与mfcc(39*1)作为联合输入特征(tandem)。这里我们使用kaldi进行特征提取。

将tandem作为输入,输入到长短期记忆网络(longshort-termmemory,lstm)网络中。这里我们采用的是四层网络,前两层lstm,每层100个节点,后两层采用全连接层,每层300个节点。使用relu作为activationfunction,采用rmse作为lossfunction,选用adam作为optimizer,并设置dropout为0.2。语音轨迹选择传感器的x轴、y轴,2*6作为输出。从而训练模型。我们选用pytorch实现神经网络的训练。

通过训练好的模型,将d的tandem特征作为输入,发音轨迹作为输出。预测出的轨迹与采集到的轨迹计算rmse和相关系数。通过实验可得,我们的rmse为1mm-2mm左右,相关系数r为0.5-0.75左右,其中舌位轨迹预测的相关系数为0.8左右。优于现阶段使用的dnn网络和只使用mfcc特征作为输入。这里网络选用的是lstm,是一种时间递归神经网络,适合于处理和预测时间序列中间隔和延迟相对较长的重要事件,具有很强的时序特性,也是语音领域常用的模型之一。dnn在处理具有时间特性的问题上能力不如lstm效果好。

特征选用新的特征,mfcc是一种在自动语音识别和说话人识别应用中广泛使用的特征。由于ppp是音素后验概率,属于零阶统计量,可以弱化单个说话人的特征。将mfcc和ppp作为联合输入特征,既保留了语音的特征又使得输入的特征具有良好的泛化能力。

对于语音轨迹的不平滑。采集到的轨迹往往会存在锯齿形的形状,这并不符合人说话发音轨迹的特点。因此我们使用一个低通滤波器来平滑轨迹,使得轨迹预测更加精准。

实验证明,我们基于lstm模型解决独立说话人的语音发音逆求解问题是可行的。

与现有技术相比,本发明的有益效果是:

第一:预测了未在训练集中出现说话人的语音发音轨迹;

第二:改变输入特征,选取了效果更好、更合适的的声学特征作为网络输入,提升了rmse和相关系数;

第三:克服了轨迹采集时不连续、不平滑的特性。

附图说明

图1为本发明实施例的一种基于lstm的独立说话人语音发音逆求解的方法的独立人语音发音逆求解模型图。

图2为本发明图1的采集点的结构示意图。

图3为本发明图1中的联合输入特征提取的流程图。

图4为本发明图1的预测轨迹部分示意图。

图5为本发明获取mfcc的流程图。

图6为本发明relu的数学状态图。

图7为本发明adam的线性回归图。

具体实施方式

下面结合具体实施方式对本发明作进一步的说明。其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本专利的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。

本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若有术语“上”、“下”、“左”、“右”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本专利的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。

实施例

如图1至7所示为本发明一种基于lstm的独立说话人语音发音逆求解的方法的实施例,具体步骤如下:

(1)首先对指定4个人音频信号以及同步的轨迹信号进行采集,通过安放传感器对上唇(upperlip,ul)、下唇(lowerlip,ll)、下齿龈(lowerincisor,li)、舌尖(tonguetip,tp)、舌中(tonguebody,tb),舌根(tonguedorsum,td)六个点的数据进行采集;

(2)在步骤(1)之后,选定鼻梁(rf)为参考点,在参考点处也放置传感器进行数据的采集;

(3)在步骤(2)之后,选定其中三个记为a、b、c作为训练人,d作为测试人;

(4)将训练人的语音信号进行特征提取,提取梅尔频率倒谱系数(melfrequencycepstrumcoefficient,mfcc)以及音素后验概率(phonemeposteriorprobabilities,ppp);并且将梅尔频率倒谱系数(melfrequencycepstrumcoefficient,mfcc)以及音素后验概率(phonemeposteriorprobabilities,ppp)作为联合输入特征(tandem),输入到长短期记忆网络(longshort-termmemory,lstm)网络中;

mfcc是一种在asr(自动语音识别)中广泛使用的特征。搞清楚语音如何发音对于我们预测语音发音轨迹有相当大的帮助。人通过声道产生语音,那么声道的形状极大程度上决定了会发出怎样的声音。声道的形状在语音短时功率谱的包络中会显示出来。而mfcc就是能够准确描述这一包络的特征。获取mfcc步骤如图5所示;

其中,mel滤波公式为,

(5)选定训练好的模型,将d的联合输入特征(tandem)作为输入,发音轨迹作为输出;对轨迹与采集到的轨迹计算rmse和相关系数r进行数据推测,并与参考数据对比;

rmse和相关系数r是衡量系统的两个指标;rmse越小,误差越小,r越大,预测的轨迹与真实值的轨迹趋势越接近;公式如下:

其中ei是网络预测的输出,ti是在i时间的真实值;

其中e’是预测值的均值,t’是实际值的均值;

语音音频和语音轨迹同步数据是利用ndi公司的wave系统采集。

其中,在步骤(5)中,推测出的rmse为1mm-2mm,相关系数r为0.5-0.75。

另外,所述lstm为适合于处理和预测时间序列中间隔和延迟相对较长的重要事件的时间递归神经网络。

其中,在步骤(4)中采用低通滤波器平滑轨迹。

另外,所述音素后验概率(phonemeposteriorprobabilities,ppp)为零阶统计量。

其中,在步骤(4)中,长短期记忆网络(longshort-termmemory,lstm)网络为四层网络,前两层lstm,每层100个节点,后两层采用全连接层,每层300个节点。

另外,使用relu作为激活函数(activationfunction),采用rmse作为损失函数(lossfunction),选用adam作为优化器(optimizer),并设置dropout为0.2;语音轨迹选择传感器的x轴、y轴共六个传感器,2*6维作为输出。

由于本方法是一个有监督的回归问题,选用relu作为激活函数的原因是因为sigmoid函数和tanh函数的梯度在饱和区非常平缓,接近于0,非常容易造成梯度消失的问题,减缓收敛速度。而relu的导数大多情况下是常数,有助于解决梯度问题。因此这是我们选用relu函数作为激活函数的原因。relu的数学形式如图6所示。

adam是目前深度学习领域最常用的算法,能够快速高效的实现模型收敛。在adam的原论文(https://arxiv.org/abs/1412.6980)中,通过对mnist手写字符识别和imdb情感分析上应用优化回归问题都表现出了良好的效果;如图7所示。

通过论文中的实验结果表明,adam优化算法是收敛速度最快,损失函数最小的优化器。本专利中,我们也实验了多种优化器的结果,证明adam是效果最优的。

dropout,选用默认的0.2。dropout的含义是每一层以p的概率丢弃神经元,q=1-p的概率被保留,被舍弃的神经元输出设置为零。

具体的:

选择a、b、c三人作为训练人,d作为测试人。这就让验证集中的说话人不在训练集中,从而预测一个未知说话人的发音轨迹。这是以往实验没有解决的一个问题,就是去预测未知说话人的发音轨迹。

将训练人的语音信号进行特征提取,提取梅尔频率倒谱系数(melfrequencycepstrumcoefficient,mfcc)以及音素后验概率(phonemeposteriorprobabilities,ppp)。ppp特征是将mfcc基于dnn的声学模型得到音素后验概率。我们采用已公开发布的hkust数据集来训练基于dnn的声学模型,但此时训练得到的音素后验概率维度很高,在5000-6000维。所以使用pca降维至40维,得到ppp。将ppp(40*1)与mfcc(39*1)作为联合输入特征(tandem)。这里我们使用kaldi进行特征提取。

将tandem作为输入,输入到长短期记忆网络(longshort-termmemory,lstm)网络中。这里我们采用的是四层网络,前两层lstm,每层100个节点,后两层采用全连接层,每层300个节点。使用relu作为activationfunction,采用rmse作为lossfunction,选用adam作为optimizer,并设置dropout为0.2。语音轨迹选择传感器的x轴、y轴,2*6作为输出。从而训练模型。我们选用pytorch实现神经网络的训练。

通过训练好的模型,将d的tandem特征作为输入,发音轨迹作为输出。预测出的轨迹与采集到的轨迹计算rmse和相关系数。通过实验可得,我们的rmse为1mm-2mm左右,相关系数r为0.5-0.75左右,其中舌位轨迹预测的相关系数为0.8左右。优于现阶段使用的dnn网络和只使用mfcc特征作为输入。

这里网络选用的是lstm,是一种时间递归神经网络,适合于处理和预测时间序列中间隔和延迟相对较长的重要事件,具有很强的时序特性,也是语音领域常用的模型之一。dnn在处理具有时间特性的问题上能力不如lstm效果好。

特征选用新的特征,mfcc是一种在自动语音识别和说话人识别应用中广泛使用的特征。由于ppp是音素后验概率,属于零阶统计量,可以弱化单个说话人的特征。将mfcc和ppp作为联合输入特征,既保留了语音的特征又使得输入的特征具有良好的泛化能力。

对于语音轨迹的不平滑。采集到的轨迹往往会存在锯齿形的形状,这并不符合人说话发音轨迹的特点。因此我们使用一个低通滤波器来平滑轨迹,使得轨迹预测更加精准。

实验证明,我们基于lstm模型解决独立说话人的语音发音逆求解问题是可行的。

显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

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