一种基于语音训练克隆口音及声韵方法与流程

文档序号:18457698发布日期:2019-08-17 01:45阅读:391来源:国知局
一种基于语音训练克隆口音及声韵方法与流程

本发明涉及语音克隆技术领域,尤其涉及一种基于语音训练克隆口音及音调方法。



背景技术:

现在语音技术是科技研究最热点最前沿的技术领域之一,语音技术也是许多google、讯飞等国际型科技公司大力研究的课题,国外有家lyrebird(天琴鸟)网站平台提供语音克隆的服务,用户只要通过网站平台的30句左右的文本进行朗读训练后,用户就能获得输入文本内容的的朗读语音,并且所获语音的音质和用户语音相近,现在成为热点,许多用户都在各大视频网站平台发布这种语音克隆的视频,但lyrebird(天琴鸟)网站平台和现有的其他语音模式克隆技术一样,声音的音质虽然和用户语音很接近,是很大的突破,但所发的语音仍然是机械的电子音,全世界的声学工程师也一直致力于研究让机器“说人话”,但搞出来的成果大多数还是跟人类真实的声音有很大差距,生硬、不自然一直是通病;究其根本,就是现有语音模拟克隆技术基本都是基于音质音调的强制一致,没有克隆模拟出用户的语调、韵律、口音等能代表用户个性化特征的语音内容。



技术实现要素:

鉴于以上的技术问题,克隆语音的语音表达的意思往往和用户本身的本意难以统一。

为解这些问题,本发明提供一一种基于语音训练语音克隆口音及音调方法,以语音分割为基础,以训练文本代表不同语调为分类,经训练后获得用户同一音标几个不同语调下的单元(含口音偏向的特征),文本转语音时候,也根据文本的语调和训练经验获得对应的音素单元,经过缓差矫正阶差进行合成,这种技术方案的创造性在于个性化,和主流语音克隆技术的区别在于:使用原始因素修正后为合成的基础单元,不只为音质牺牲个性化的语音特征;具体的技术方案首先部署数据库、系统软硬件环境,配置用户注册模块、用户模块等常规系统的必要模块,还包括如下模块、步骤及要素。

步骤一、语音信息处理模块,收集来自于麦克风或智能设备中语音传感器的功能等等语音硬件的信号,将用户的说话的声音,形成信号输入系统,并将采集后的语音转换成语音数字信号推送或等待系统进行运算处理。

步骤二、构建低通滤波算法;为了最大限度的降低语音中的噪声,屏蔽语音信息里和用户语音内容不相关的内容,就需要进行过滤,容许低于截止频率的信号通过,截止高于截止频率的信号;一种实施例:采用巴特沃斯滤波算法构建低通滤波,巴特沃斯滤波的特点是通频带内的频率响应曲线最大限度平坦,没有起伏,而在阻频带则逐渐下降为零,采用的是巴特沃斯传递函数,允许从直流到某个截止频率(fcutoff)的信号通过,将通用滤波器二阶传递函数的高通和带通系数均设为零,即得到一个低通滤波器传递公式,巴特沃斯低通滤波器可用如下振幅的平方对频率的公式表示:

其中,n为滤波器的阶数,等于截止频率也就是等于振幅下降为3db时的频率,为通频带边缘频率,通过本公式1的传递函数,获取过滤的用户的音频数据;对所述音频数据进行解析。

优选地,根据所述的低通滤波传递公式,以matlab作为滤波的分析运算、编写程序的工具,最新版本的matlab可以利用matlab编译器和c/c++数学库和图形库,将自己的matlab程序自动转换为独立于matlab运行的c和c++代码,允许用户编写可以和matlab进行交互的c或c++语言程序;因此滤波运算后的语音数据方便系统程序无缝对接。

步骤三、语音训练所用文本的选择方法:为充分获得用户语音的发音特征,训练文本必须涵盖有多样性的典型,本发明采用训练文本选择的方法有:

a、所用文本词句单词,需要至少一次涵盖所有的音素、特殊组合发音的音节。

b、设置不同长度的语句,以获得用户朗读时候的换气等必要动作所造成的声韵特征。

c、尽可能涵盖多种典型语气的文本语句,例如疑问句,惊讶句、兴奋句、严肃语句等等,以获得用户在不同文本内涵意思,自然对语气声调影响的特征。

d、在系统中设置语调类,分别映射对应文本内容、音标、音素、语音片段单元等,实施例:疑问声调、陈述声调、感叹声调等。

步骤四、创建用户音库,对所述用户对训练文本朗读的音频数据通过如上步骤1低通滤波等的解析运算,提取所述音频数据的特征信息包括用户音素、特殊语音片段单元、时长、等信息保存到系统中用户信息的相关数据库的用户音库表格及特定服务器特定路径的文件夹中。

优选地,所述创建用户音库,将所述经过滤波分析整理过的用户基于文本朗读的语音,进行分拆,获得与文本中音标对应的语音片段,用户语音训练英语朗读是基于文本内容的,文本的范围局限在很小的范围,将句子文本分拆的音标映射语音分拆成音素、单词、音节。

一种基于音素音节分拆语音的实施例:采循环递推打分分拆识别法,首先将文本分拆成单词组、音素、音节组,以单词、音素、音节的标准语音及其声学特征等作为标准参考模型。

先假设音素、音节、单词被朗读的时长为标准时长,在被测语音上依次分拆该时长的语音段,进行比对获得最高分值的语音段,然后进行向前向后的加减时长的修正,获得音素、音节、单词较为理想匹配的语音段,将所述语音段、语音段时长、语音段声学特征、语音段映射的音节音素、用户信息及根据文本特征认定的语调类别等等一并保存到系统中。

步骤五、创建用户声韵特征库,对所述用户对训练文本朗读的音频数据通过如上步骤1低通滤波等的解析运算,提取所述音频数据中的时长、长短句声中帧组中各自帧的声强均值或平方值等信息保存到系统中用户信息的相关数据库的声韵特征库表格。

优选地,所述记录用户声韵特征信息,常规语音克隆技术所模拟的用户语音,只在音质上相近,缺少真人语音此起彼伏的声韵内容,因此本发明分析用户语音声调声韵特征,将既定时长的语音分解成既定时长帧集合,记载各帧段语音的平均声强或波幅,作为用户的声韵特征标准,等待系统在克隆语音时候调用,用于修正克隆语音的声韵。

一种声韵特征记载的实施例:声音强度只能使用无纲量的相对单位,现在最常用的是分贝(decibel,缩写为db)。通用计算公式如下

分子是测量值的声压,分母是人类所能听到的最小声压(本发明设定为20微帕,)吗,公式2适合于声压震幅平方值运算,公式3适合针对声压震幅绝对平均值运算。

安卓系统中获得音源数据的类有两个:android.media.mediarecorder和android.media.audiorecord,通过申请语音接口权限:<uses-permissionandroid:name="android.permission.record_audio"/>获得音源数据的类:android.media.mediarecorder和android.media.audiorecord,经过本发明技术人员的多次试验,这两个类相比使用android.media.audiorecord的结果更为平稳,将语音数据用read(byte[]audiodata,intoffsetinbytes,intsizeinbytes)方法从缓冲区读取到系统预先设定的数组audiodata后,再等待调用提高运算效率,为了避免极端异常的帧幅值的影响造成巨大误差。

优选地,将语音分成帧长为12ms的时间段获取其绝对值的平均值,使计算的结果更加稳定。

通过如上所述的方法求得各个语音帧时间段平均值之后,代入上述的公式3中,算出语音帧相对的分贝值,和用户信息,映射的音标等一并记载到系统中的声韵特征库。

步骤六、根据用户私有音库实现语音克隆,在用户输入文本需要模拟克隆语音时候,首先以标点符号等文本特征识别文本语调类别,识别无结果是默认陈述语调。

进一步,将文本按照步骤三所述的方法分拆成音素、音节、单词,并根据分拆的音标等特征文本在用户私有音库中检索其对应的音素或语音片段单元,所述检索到多个记录时,根据语调类别进一步筛选,无语调识别结果时,将语调类为陈述的类别设为检索优选的结果。

这样将文本对应一组音素、语音片段单元组y=(,,,…..),并将音所述音素、语音片段单元的标准时长分别调出,获得s=(,,,…..),待系统进一步的运算整理。

步骤七、声韵矫正,每个人的语音会因换气习惯、肺活量等因素的影响,朗读不同长度的文本会有不同的声韵特征,根据目标克隆语音的预判时长对合成语音进行声韵矫正运算,使得克隆所得语音更加个性化。

一种声韵矫正的方法,根据步骤六中所述的语音帧时长,进行叠加求和运算:

j为目标克隆语音的预计时长,将j值为检索条件,在声韵特征库中检索时长和j值最为接近的记录。

读取记录中帧组声强数据组,读取为b=(,,,…..),,按照步骤五的技术方法,计算步骤六目标克隆语音y的在其内部帧单元的声强a=(,,,…..),从目标克隆语音的第一帧开始,修正声韵的声强强度,本发明独创的计算公式如下:

第i帧声强,声韵特征库中检索到合乎条件的第i帧声强,f为系统设置的声韵修正阀值,k为系统预设的声韵修正系数,在i大于等于m、n的前提下,通过循环计算矫正克隆模拟目标语音的声强。

本发明通过实验优选地,系统设置的声韵修正阀值f赋值为28db,系统预设声韵修正系数k赋值为0.13。

步骤八、缓差对齐矫正合成语音(阶差、断点过渡修正),使用原声音库根据文本英标进行语音合成最大的技术困难在于被合成的语音单元之间音量及语调衔接往往是断崖式的落差,合成出的声音会变得非常刺耳机械,因此音素、语音片段合成时候需要做缓冲对齐的修正,才会让克隆出的语音平缓自然,本发明创建了一种缓差对齐的语音合成矫正的方法来克服这些技术缺陷。

通过步骤七,我们获得经过声韵语调修正过的目标克隆语音,其构成是一组被矫正运算过的音素、语音片段单元,其内容为新值的:y=(,,,…..);则每个相邻的音素或语音片段单元就需要进行缓冲对齐的矫正,取任意两个相邻音素或语音片段单元进行矫正运算。

按照步骤5所述的技术方法分别将音素或语音片段单元进行分帧。

优选地,将帧长设定为12ms。

通过分帧,并通过步骤五所述的技术方法分别获得两组序列语音帧的声音强度组对应为c=(,,,…..)、对应根为d=(,,,…..),分别将、根据时间轴上的分布找到重新开始时段设定,根据时长参数分别获得相应的时间段1至h、1至的语音帧。

α=int(音素时长/帧时长*η)。

β=int(音素时长/帧时长*η)。

η为修正比例参数,即表示在音素中取η比例的帧参与缓差对齐的矫正。

优选地,η赋值为0.085。

音素的临界合成点声音强度l设定为:

l为临界合成点声音强度。

以变量i对音素中的帧从1开始编号,将音素中从第h-α+1个帧开始到最后一帧修正声音强度的公式:

以变量i对音素中的帧从1开始编号,将音素中从第一帧开始到第β个帧结束修正声音强度的公式:

通过以上所述及公示6、7、8,就可以完成相邻音素或语音片段单元的语音合成对声音强度的矫正,通过循环依次将所有相邻的音素或语音片段单元进行同样的矫正合成,就能完成目标克隆语音整体的合成矫正,得到声调和谐自然的克隆语音的效果。

通过上述的技术方案的语音克隆,从最为本源的用户训练语音中提取音素、语音片段单元作为音库内容,比较全面的保留了用户个性化的语音中口音、音调等特征,这种技术方案的创造性在于个性化,和主流语音克隆技术的区别在于:使用原始因素修正后为合成的基础单元,不只为音质牺牲个性化的语音特征,独创了语音合成中涉及声韵、语调矫正的技术手法,相比于现有技术具有显著的进步。

特别申明:在本说明书中所述的“实施例”等,指的是结合该实施例描述的具体特征、要素或者特点包括在本申请概括性描述的实施例中。在说明书中多个地方出现同种表述并非限定特指的是同一个实施例。也就是说,结合任一实施例描述一个具体特征、要素或者特点时,所要主张的是结合其他实施例来实现这种特征、要素或者特点被包含于本发明申请保护的权利要求范围中;实施例是参照本发明逻辑架构及思路的多个解释性实施例对本发明进行了描述,但本发明的保护范围并不局限于此,本领域技术人员在本发明技术方案框架下可以设计出很多其他的修改和实施方式,可以对技术方案的要点变换组合/或布局进行多种非本质性变型和改进,对于本领域技术人员来说,其他的用途也将是明显的,可轻易想到实施的非实质性变化或替换,这些修改和实施方式将落在本申请公开的原则范围和精神之内。

附图说明

图1为一种基于语音训练克隆口音及声韵方法整体逻辑框架图。

图2为缓差对齐的语音合成矫正的方法中,两音素合成对齐矫正前后的语音强度对比波形示意图。

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