一种语音合成方法、系统及计算机设备技术方案

技术编号:26892964 阅读:21 留言:0更新日期:2020-12-29 16:14
本发明专利技术公开了一种语音合成方法,所述方法步骤如下:采集语音文件,构建语音数据库,语音数据库为同一汉字或词组不同语调的语音文件的集合;获取文本,将文本分割为若干个具有独立语义和语调的文本块,并将文本块转化为拼音序列;使语音文件与拼音序列之间产生映射关联,对语音文件进行预处理后确定语音文件的物理参数,对语音文件进行标注并导入到DCNN深度卷积网络模型中进行训练;将需要转化为语音的文本输入到DCNN深度卷积网络模型中,输出相应的声波文件。

【技术实现步骤摘要】
一种语音合成方法、系统及计算机设备
本专利技术涉及语音合成领域,具体涉及一种语音合成方法、系统及计算机设备。
技术介绍
语音合成是通过机械或者电子的方法产生人造语音的技术。文语转换技术隶属于语音合成的范畴,它将计算机自己产生的、或外部输入的文字信息转变为可以听得懂的、流利的汉语口语进行输出。现有的语音合成方法中,需要前期录制大量的音频,尽可能全的覆盖所有的音节音素,合成的声音机械感强、生硬,不够自然。
技术实现思路
为解决上述技术问题,本专利技术提供一种语音合成方法、系统及计算机设备。为解决上述技术问题,本专利技术采用如下技术方案:一种语音合成方法,所述方法步骤如下:步骤一:采集语音文件,构建语音数据库,语音数据库为同一汉字或词组不同语调的语音文件的集合;步骤二:获取文本,将文本分割为若干个具有独立语义和语调的文本块,并将文本块转化为拼音序列;步骤三:使语音文件与拼音序列之间产生映射关联,对语音文件进行预处理后确定语音文件的物理参数,对语音文件进行标注并导入到DCNN深度卷积网络模型中进行训练;步骤四:将需要转化为语音的文本输入到DCNN深度卷积网络模型中,输出相应的声波文件。具体地,步骤二中,通过文本输入的方式获取文本,并在文本输入时检测文本的正确性。具体地,步骤三中,对语音文件进行标注时,通过隐马尔可夫模型标注语音文件的声母、韵母和语调。具体地,进行步骤三之前,先将拼音序列以TF-IDF方式进行编码,生成拼音序列向量,继而使拼音序列向量具有固定长度:拼音序列向量超过该固定长度的,对其进行截取并舍弃其末尾;拼音序列向量短于该固定长度的,在其末尾补零填充;将具有固定长度的拼音序列向量作为拼音序列的特征向量。具体地,进行步骤三之前,提取语音文件的MFCC向量作为语音文件的特征向量。具体地,步骤三中,使语音文件与拼音序列之间产生映射关联时,计算拼音序列的特征向量和语音文件的特征向量,计算上述两种特征向量之间的欧式距离,两种特征向量之间的欧式距离小于阈值时,使所述拼音序列和语音文件产生一一对应关系。具体地,步骤三中,语音文件的物理参数包括语音持续时间和语音音高。一种语音合成系统,包括:语音采集模块,用于采集语音文件,构建语音数据库,语音数据库为同一汉字或词组不同语调的语音文件的集合;文本采集模块,用于获取文本,将文本分割为若干个具有独立语义和语调的文本块,并将文本块转化为拼音序列;模型生成模块,其使语音文件与拼音序列之间产生映射关联,对语音文件进行预处理后确定语音文件的物理参数,对语音文件进行标注并导入到DCNN深度卷积网络模型中进行训练;语音合成模块,其将需要转化为语音的文本输入到DCNN深度卷积网络模型中,输出相应的声波文件。一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述的语音合成方法。与现有技术相比,本专利技术的有益技术效果是:本专利技术通过预先对文本分块,增强语义的完成度,避免输出声音的不自然,输出模型基于DCNN深度卷积神经网络,训练过程简单,花费时间少,训练速度快,卷积神经网络的算法模型泛化能力较强,对于各种场景采集的音频数据的拟合效果都很好,使本专利技术的技术方案拥有更广泛的应用范围。附图说明图1为本专利技术语音合成方法的流程示意图;图2为本专利技术DCNN深度卷积网络模型结构图。具体实施方式下面结合附图对本专利技术的一种优选实施方式作详细的说明。如图1所示,一种语音合成方法,所述方法步骤如下:S1:采集语音文件,构建语音数据库,语音数据库为同一汉字或词组不同语调的语音文件的集合。语音数据库是由语音文件组成的,同一汉字有不同的语调,将这些具有不同语调的语音文件与该汉字产生对应关系后进行存储;词组与语音文件的对应关系与上述原理相同。S2:获取文本,将文本分割为若干个具有独立语义和语调的文本块,并将文本块转化为拼音序列。步骤二中,通过文本输入的方式获取文本,并在文本输入时检测文本的正确性;例如在网页中进行文本输入,可以利用JavaScript技术对输入内容进行验证,避免输入内容不符合要求。采用split函数对文本进行分割,得到文本块;split函数是编程语言中使用的一种函数名称,它返回一个下标从零开始的一维数组,split函数包含指定数目的子字符串;基于Python编程环境下使用,Pythonsplit()通过指定分隔符对字符串进行切片,如果参数num有指定值,则分隔num+1个子字符串。split()方法语法如下:str.split(str=″″,hum=string.count(str));其中str为分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符()等;num为分割次数,默认为1,即分隔所有;其返回值为分割后的字符串列表。进行步骤三之前,先将拼音序列以TF-IDF方式进行编码,生成拼音序列向量,继而使拼音序列向量具有固定长度:拼音序列向量超过该固定长度的,对其进行截取并舍弃其末尾;拼音序列向量短于该固定长度的,在其末尾补零填充;将具有固定长度的拼音序列向量作为拼音序列的特征向量。上述过程即为提取拼音序列的特征向量的过程,其中TF-IDF是信息检索中常用的一种文本表示方法,TF-IDF由两部分组成,即TF和IDF;IDF(x)=logN/N(x);N代表语料库中文本的总数,而N(x)代表语料库中包含词x的文本总数;TF-IDF(x)=TF(x)*IDF(x);其中TF(x)指词x在当前文本中的词频,TF-IDF向量计算方法:TF-IDF(q,d)=sum{i=1..k|TF(w[i],d)*IDF(w[i])};拼音序列向量长度不一,不利于后续计算,需要截取较长的拼音序列向量,保留其前部,需要在较短拼音序列向量的末尾补零,其目的在于使各拼音序列向量具有统一的长度,能够加快处理速度。进行步骤三之前,提取语音文件的MFCC向量作为语音文件的特征向量。声音是模拟信号,声音的时域波形只代表声压随时间变化的关系,不能很好的代表声音的特征,因此,必须将声音波形转换为声学特征向量;目前有许多声音特征提取方法,如梅尔频率倒谱系数MFCC、线性预测倒谱系数LPCC、多媒体内容描述接口MPEG7等,其中MFCC是基于倒谱的,更符合人的听觉原理,因而是最普遍、最有效的声音特征提取算法,在提取MFCC前,需要对语音文件做预处理,包括预加重、加窗、分帧、快速傅里叶变换、Mel滤波器组处理、离散余弦变换进行倒谱处理、能量和差分处理,进而将提取出的MFCC向量作为语音文件的特征向量。S3:使语音文件与拼音序列之间产生映射关联,对语音文件进行预处理后确定语音文件的物理参数,对语音文件进行标注并导入到DCNN深度卷积网络模型中进行训练。物理参数的确定过程如下。本文档来自技高网...

【技术保护点】
1.一种语音合成方法,其特征在于:所述方法步骤如下:/n步骤一:采集语音文件,构建语音数据库,语音数据库为同一汉字或词组不同语调的语音文件的集合;/n步骤二:获取文本,将文本分割为若干个具有独立语义和语调的文本块,并将文本块转化为拼音序列;/n步骤三:使语音文件与拼音序列之间产生映射关联,对语音文件进行预处理后确定语音文件的物理参数,对语音文件进行标注并导入到DCNN深度卷积网络模型中进行训练;/n步骤四:将需要转化为语音的文本输入到DCNN深度卷积网络模型中,输出相应的声波文件。/n

【技术特征摘要】
1.一种语音合成方法,其特征在于:所述方法步骤如下:
步骤一:采集语音文件,构建语音数据库,语音数据库为同一汉字或词组不同语调的语音文件的集合;
步骤二:获取文本,将文本分割为若干个具有独立语义和语调的文本块,并将文本块转化为拼音序列;
步骤三:使语音文件与拼音序列之间产生映射关联,对语音文件进行预处理后确定语音文件的物理参数,对语音文件进行标注并导入到DCNN深度卷积网络模型中进行训练;
步骤四:将需要转化为语音的文本输入到DCNN深度卷积网络模型中,输出相应的声波文件。


2.根据权利要求1所述的语音合成方法,其特征在于:步骤二中,通过文本输入的方式获取文本,并在文本输入时检测文本的正确性。


3.根据权利要求1所述的语音合成方法,其特征在于:步骤三中,对语音文件进行标注时,通过隐马尔可夫模型标注语音文件的声母、韵母和语调。


4.根据权利要求1所述的语音合成方法,其特征在于,进行步骤三之前,先将拼音序列以TF-IDF方式进行编码,生成拼音序列向量,继而使拼音序列向量具有固定长度:拼音序列向量超过该固定长度的,对其进行截取并舍弃其末尾;拼音序列向量短于该固定长度的,在其末尾补零填充;将具有固定长度的拼音序列向量作为拼音序列的特征向量。


5.根据权利要求1所述的语音合成方法,其特征在于,进行步骤三之...

【专利技术属性】
技术研发人员:钟生王鹏贾玮民
申请(专利权)人:中用科技有限公司
类型:发明
国别省市:安徽;34

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1