一种多说话人、多语言的语音合成方法及系统

文档序号:925429 发布日期:2021-03-02 浏览:11次 >En<

阅读说明:本技术 一种多说话人、多语言的语音合成方法及系统 (Multi-speaker and multi-language voice synthesis method and system ) 是由 朱海 王昆 周琳珉 刘书君 于 2020-11-11 设计创作,主要内容包括:本发明公开了一种多说话人、多语言的语音合成方法,包括提取语音声学特征;将不同语言的文本处理为统一的表征方式,并将音频和文本对齐,获取时长信息;构建说话人空间和语言空间,生成说话人id和语言id,提取说话人向量和语言向量加入到初始语音合成模型,采用对齐后的文本、时长信息和语音声学特征对初始语音合成模型进行训练,得到语音合成模型;对待合成文本处理后生成说话人id和语言id;将说话人id、文本以及语言id,输入到语音合成模型,输出语音声学特征并转换为音频。还公开了一种系统。本发明实现了对说话人的特征以及语言特征的“解纠缠”,并且只需要变换id就可以实现说话人或语言的转换。(The invention discloses a multi-speaker and multi-language voice synthesis method, which comprises the steps of extracting voice acoustic characteristics; processing texts of different languages into a uniform representation mode, aligning audio and the texts, and acquiring duration information; constructing a speaker space and a language space, generating a speaker id and a language id, extracting a speaker vector and a language vector, adding the speaker vector and the language vector into an initial voice synthesis model, and training the initial voice synthesis model by adopting aligned text, duration information and voice acoustic characteristics to obtain a voice synthesis model; processing a text to be synthesized to generate a speaker id and a language id; and inputting the speaker id, the text and the language id into a speech synthesis model, outputting the acoustic characteristics of the speech and converting the acoustic characteristics into audio. A system is also disclosed. The invention realizes the de-entanglement of the characteristics and the language characteristics of the speaker, and can realize the conversion of the speaker or the language only by transforming the id.)

一种多说话人、多语言的语音合成方法及系统

技术领域

本发明涉及语音合成技术领域,具体的说,是一种多说话人、多语言的语音合成方法及系统。

背景技术

语音合成是一种将文本信息转换为语音信息的技术,即将文字信息转换为任意的可听的语音,涉及到声学、语言学和计算机科学等多门学科。然而如何在保持说话人一致性的条件下,用单语语音数据库建立多说话人、多语言的语音合成系统一直是个难题。传统的多语言语音合成系统依赖多语语音数据库,然而多语数据库在实际中难以得到(很难找到精通多国语言的说话人来录制语音数据),并且不能随意对说话人音色、语言发音等进行转换。

发明内容

本发明的目的在于提供一种多说话人、多语言的语音合成方法及系统,用于解决现有技术中尚不能满足在说话人一致的条件下,用单语语音数据库实现多说话人、多语言的语音合成的问题。

本发明通过下述技术方案解决上述问题:

一种多说话人、多语言的语音合成方法,包括:

步骤S100:训练语音合成模型,具体包括:

步骤S110:获取多说话人、单语言的语音训练数据库,提取语音声学特征;

步骤S120:将语音训练数据库不同语言的文本处理为统一的表征方式,并将音频和文本进行对齐,获取文本对应的时长信息;

步骤S130:构建说话人空间和语言空间,生成对齐后的文本对应的说话人id以及对齐后的文本中每个字符对应的语言id,并从说话人空间提取说话人id对应的说话人向量,从语言空间提取语言id对应的语言向量;

步骤S140:将说话人向量和语言向量加入到初始语音合成模型的各个部分,采用所述对齐后的文本、时长信息和语音声学特征对说话人空间、语言空间和初始语音合成模型进行训练,得到训练好的语音合成模型;

步骤S200:将待合成文本转换为音频,具体包括:

步骤S210:对待合成文本进行规范化处理,并按文本语言分类;

步骤S220:将分类后的文本处理成统一的表征方式,并将音频和文本进行对齐,由预测器预测文本对应的时长信息,生成对齐后的文本对应的说话人id以及对齐后的文本中每个字符对应的语言id;

步骤S230:指定说话人id,将说话人id、经S220处理后的文本以及对应字符的语言id,输入到训练好的语音合成模型,输出语音声学特征;

步骤S240:将语音声学特征转换为音频。

所述语音声学特征包括梅尔频谱特征、频谱能量特征和基频特征。

所述步骤S120具体包括:

将语音训练数据库不同语言的文本处理为统一的音素表达方式,可以是拼音音素或CMU音素,或将不同语言的文本处理为统一的Unicode编码表达方式;

采用MFA算法将不同语言的文本及音频进行对齐,获得对齐后的文本及文本对应的时长;

将时长转化为帧数,时长帧数的总和与梅尔频谱特征的帧数之和相等。

所述步骤S130具体为:

设置每一条语音训练数据的语言id的长度与对齐后的文本的时长相等;设置每一条语音训练数据的说话人id的长度为1,对不同的说话人、不同的语言分别取不同的id值;

根据语音训练数据中的说话人数量、语言数量构建说话人空间与语言空间,并进行初始化,将说话人id、语言id转换为one-hot向量,并提取说话人向量和语言向量。

所述步骤S240采用Multi-band MelGAN声码器将语音声学特征转换为音频。

一种多说话人、多语言的语音合成系统,包括文本处理模块、信息标记模块、信息编码模块、声学特征输出模块和声码器模块,其中:

文本处理模块,用于对文本进行规范化处理,将文本按对语言分类并且将不同语言的文本处理为统一的表达方式;

可选的,将语音数据库不同语言的文本处理为统一的音素表达方式,或将不同语言的文本处理为统一的Unicode编码表达方式;若是用于训练,则采用MFA算法将不同语言的文本及音频进行对齐,获得对齐后的文本及文本对应的时长,将时长转化为帧数,时长帧数的总和与提取的梅尔频谱特征的帧数之和相等;

信息标记模块,用于对文本的每个字符生成对应的语言id,同时根据用户需要,生成说话人id;

语言id的长度与经文本处理模块处理后的文本长度相等,说话人id的长度为1,对不同的说话人、不同的语言取不同的id值;

信息编码模块,用于构建说话人空间和语言空间,根据语言id、说话人id在语言空间、说话人空间中提取对应的语言向量、说话人向量;说话人空间与语言空间需要根据训练数据中的说话人数量、语言数量来进行构建;

声学特征输出模块,用于训练阶段将输入经过处理的文本、语言向量、说话人向量,输入到语音合成模型进行模型训练得到训练好的语音合成模型;并在推理阶段将经过处理的文本、语言向量、说话人向量输入训练好的语音合成模型,转换成语音的声学特征并输出;

在说话人空间提取的说话人向量,直接加入到语音合成模型的编码器、可变信息适配器、解码器;在语言空间提取的语言向量,在加入解码器之前,需要经过语言调节器对说语言向量的长度调节,得到每一帧频谱对应的语言向量;

声码器模块,用于根据输入语音的声学特征输出音频。优选地,声码器模块可以采用Multi-band MelGAN声码器。

本发明与现有技术相比,具有以下优点及有益效果:

本发明构建了说话人空间、语言空间,并且通过说话人id、语言id提取说话人向量、语言向量,并加入到语音合成模型的各个部分,实现了对说话人的特征以及语言特征的“解纠缠”,并且只需要变换id就可以实现说话人或语言的转换(如实现外国人说中文的风格);本发明只需要使用多说话人的单语数据,并且语音合成速度极快,合成的语音音质高,稳定性好,能在保持说话人音色一致性的条件下实现不同语言间的流利转换。

附图说明

图1为本发明的流程图;

图2为语音合成模块的模型结构示意图。

具体实施方式

下面结合实施例对本发明作进一步地详细说明,但本发明的实施方式不限于此。

实施例1:

结合附图1所示,一种多说话人、多语言的语音合成方法,包括:

训练阶段:

步骤S11:获取多说话人、单语言的语音训练数据库,提取语音声学特征,多说话人、单语言的语音训练数据包括至少两种以上不同语言的多说话人语音数据以及对应的文本;所述语音声学特征包括梅尔频谱特征、频谱能量特征和基频特征;可选地,选取中文、英文语音数据库作为训练数据库,中文数据集可以使用标贝的公开女声数据库以及我们自己录制的的涵盖20多个人的语音数据库;英文语音数据库可以使用LJSpeech、VCTK等公开数据库;

步骤S12:将语音训练数据库不同语言的文本处理为统一的表征方式,即处理为统一的音素表达方式,或将不同语言的文本处理为统一的Unicode编码表达方式,并采用MFA(Montreal Forced Aligner)算法将音频和文本进行对齐,获取对齐后的文本及文本对应的时长信息;将时长转化为帧数,时长帧数的总和与梅尔频谱特征的帧数之和相等;

举例说明,英文文本为“who met him at the door.”,将英文文本转换为音素表达方式,得到“h u1 m ai1 t h i1 m a1 t s i a0 d uo1 r pp4”;中文文本为“我是中国人,我爱中国”,处理为统一的音素表达,得到“uo3 sh iii4 pp1 zh ong1 g uo2r en2 pp3uo3 ai4 zh ong1 g uo2 pp4”。采用MFA算法获得对齐后的文本(会多出sil,sp等字符)以及文本中每个字符对应的时长,并将时长转换为帧数,保证时长帧数的总和与所提取的梅尔频谱特征的帧数之和相等。

步骤S13:构建说话人空间、语言空间,对将步骤S12处理后的文本生成对应的说话人id,对每个字符生成对应的语言id,用生成的id在说话人空间、语言空间分别提取说话人向量、语言向量;即:设置每一条语音训练数据的语言id的长度与对齐后的文本的时长相等;设置每一条语音训练数据的说话人id的长度为1,对不同的说话人、不同的语言分别取不同的id值;

根据语音训练数据中的说话人数量、语言数量构建说话人空间与语言空间,并进行初始化,将说话人id、语言id转换为one-hot向量,并提取说话人向量和语言向量。

举例说明,经S12处理后的英文文本为“sil h u1 m ai1 t h i1 m a1 t s i a0d uo1r pp4”,语音对应的说话人id为[20],对应的语言id为[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],经S12处理的中文文本为“sil uo3 sh iii4 pp1 zh ong1 g uo2 r en2pp3 sp uo3 ai4 zh ong1 g uo2 pp4”,语音对应的说话人id为[7],对应的语言id为[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],将语言id、说话人id转换为one-hot向量后,在空间中提取出说话人向量、语言向量。

步骤S14:将步骤S130得到的说话人向量和语言向量加入到初始语音合成模型的各个部分,具体,结合附图2所示,带韵律的音素序列经过嵌入层变为音素嵌入向量,并在音素嵌入向量中加入位置编码(将不同音素的位置直接带入正弦函数得到的绝对位置编码),目的是加入音素之间的位置信息;在经过可变信息适配器后,由于经过长度调节器的扩帧操作,为了保证位置信息不丢失,需要再次加入位置编码信息;其中可变信息适配器中的韵律时长预测器主要预测音素序列的停顿时长,用于控制合成语音的韵律;将在说话人空间提取的说话人向量,直接加入到语音合成模型的编码器、可变信息适配器、解码器;在语言空间提取的语言向量,在加入解码器之前,需要经过长度调节器对说语言向量的长度调节;此处的长度调节器主要作用是根据时长预测结果,对语言向量进行扩帧操作,将以便于加入到解码器。

采用所述对齐后的文本、时长信息和语音声学特征对说话人空间、语言空间和初始语音合成模型进行训练,得到训练好的语音合成模型。

推理阶段:

步骤S21:对待合成文本进行规范化处理,并按文本语言分类;

步骤S22:将分类后的文本处理成统一的表征方式,并将音频和文本进行对齐,由预测器预测文本对应的时长信息,生成文本每个字符对应的语言id;

步骤S23:指定说话人id,将说话人id、经S22处理后的文本以及对应字符的语言id,输入到训练好的语音合成模型,输出语音声学特征;

步骤S24:采用Multi-band MelGAN声码器将语音声学特征转换为音频。

实施例2:

一种多说话人、多语言的语音合成系统,包括文本处理模块、信息标记模块、信息编码模块、声学特征输出模块和声码器模块,其中:

文本处理模块,用于对文本进行规范化处理,将文本按对语言分类并且将不同语言的文本处理为统一的表达方式;

可选的,将语音数据库不同语言的文本处理为统一的音素表达方式,或将不同语言的文本处理为统一的Unicode编码表达方式;若是用于训练,则采用MFA算法将不同语言的文本及音频进行对齐,获得对齐后的文本及文本对应的时长,将时长转化为帧数,时长帧数的总和与提取的梅尔频谱特征的帧数之和相等;

信息标记模块,用于对文本的每个字符生成对应的语言id,同时根据用户需要,生成说话人id;

语言id的长度与经文本处理模块处理后的文本长度相等,说话人id的长度为1,对不同的说话人、不同的语言取不同的id值;

信息编码模块,用于构建说话人空间和语言空间,根据语言id、说话人id在语言空间、说话人空间中提取对应的语言向量、说话人向量;说话人空间与语言空间需要根据训练数据中的说话人数量、语言数量来进行构建;

声学特征输出模块,用于训练阶段将输入经过处理的文本、语言向量、说话人向量,输入到语音合成模型进行模型训练得到训练好的语音合成模型;并在推理阶段将经过处理的文本、语言向量、说话人向量输入训练好的语音合成模型,转换成语音的声学特征并输出;

在说话人空间提取的说话人向量,直接加入到语音合成模型的编码器、可变信息适配器、解码器;在语言空间提取的语言向量,在加入解码器之前,需要经过语言调节器对说语言向量的长度调节,得到每一帧频谱对应的语言向量;

声码器模块,用于根据输入语音的声学特征输出音频。优选地,声码器模块可以采用Multi-band MelGAN声码器。

尽管这里参照本发明的解释性实施例对本发明进行了描述,上述实施例仅为本发明较佳的实施方式,本发明的实施方式并不受上述实施例的限制,应该理解,本领域技术人员可以设计出很多其他的修改和实施方式,这些修改和实施方式将落在本申请公开的原则范围和精神之内。

10页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种语音数据自动标注的质量评估方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!