技术领域
[0001] 本
发明涉及互联网技术领域,特别是端到端的语音合成方法、端到端的语音合成装置、端到端的语音合成模型训练方法、端到端的语音合成模型训练装置及存储介质。
背景技术
[0002] 语音合成,又称文语转换(TTS,Text To Speech)技术,能将任意文本转化为标准语音,即将文字信息转化为可听的声音信息,涉及声学、语言学、数字
信号处理以及计算机科学。
[0003] 在使用端到端语音合成技术时,前端处理十分重要,需要分析、学习文本中包含的语言学信息,以便为后续语音合成打下
基础。利用神经网络进行前端处理,输入对象的选取关系着神经网络的优劣程度。
发明内容
[0004] 为了解决
现有技术中存在的上述问题,本发明提供端到端的语音合成方法、端到端的语音合成装置、端到端的语音合成模型训练方法、端到端的语音合成模型训练装置及存储介质。
[0005] 一方面,本发明
实施例提供端到端的语音合成方法,包括:获取待处理文本;基于待处理文本,生成待处理文本对应的拼音序列;基于拼音序列,根据拼音的声母、韵母及声调得到拼音序列的模型数据;将模型数据输入端到端的语音合成模型,得到待处理文本对应的
声波数据;合成声
波数据,得到待处理文本对应的语音数据。
[0006] 在一实施例中,模型数据包括编码序列;基于拼音序列,根据拼音的声母、韵母及声调得到拼音序列的模型数据,包括:基于拼音序列,得到对应的
音素序列,其中音素包括声母和带调韵母;基于音素序列,得到编码序列。
[0007] 在一实施例中,基于待处理文本,生成待处理文本对应的拼音序列,包括:基于待处理文本,转换得到纯字文本;基于纯字文本,生成拼音序列。
[0008] 在一实施例中,基于纯字文本,生成所述拼音序列,包括:对纯字文本进行分词,得到分词文本;基于分词文本,生成拼音序列。
[0009] 在一实施例中,基于分词文本,生成拼音序列,包括:根据分词文本进行发音预测,得到拼音序列。
[0010] 本发明实施例的又一方面提供端到端的语音合成模型训练方法,端到端的语音合成模型用于如前任一项所述的端到端的语音合成方法,端到端的语音合成模型训练方法包括:获取训练集,其中训练集包括多个文本以及与多个文本对应的多个语音;将语音转换为标准声波数据;将文本输入端到端的语音合成模型,得到待测声波数据;根据标准声波数据和待测声波数据,训练端到端的语音合成模型。
[0011] 本发明实施例的又一方面提供端到端的语音合成装置,端到端的语音合成装置包括:获取模
块,用于获取待处理文本;生成模块,用于基于待处理文本,生成待处理文本对应的拼音序列;模型数据生成模块,用于基于拼音序列,根据拼音的声母、韵母及声调得到拼音序列的模型数据;声波数据生成模块,用于将模型数据输入端到端的语音合成模型,得到待处理文本对应的声波数据;合成模块,用于合成声波数据,得到待处理文本对应的语音数据。
[0012] 本发明实施例的又一方面提供端到端的语音合成模型训练装置,端到端的语音合成模型用于如前任一项所述的端到端的语音合成方法,端到端的语音合成模型训练装置包括:获取模块,用于获取训练集,其中训练集包括多个文本以及与多个文本对应的多个语音;转换模块,用于将语音转换为标准声波数据;数据生成模块,用于将文本输入端到端的语音合成模型,得到待测声波数据;训练模块,用于根据标准声波数据和待测声波数据,训练端到端的语音合成模型。
[0013] 本发明实施例的又一方面提供一种
电子设备,其中,电子设备包括:
存储器,用于存储指令;以及处理器,用于调用存储器存储的指令执行端到端的语音合成方法或端到端的语音合成模型训练方法。
[0014] 本发明实施例的又一方面提供一种计算机可读存储介质,其中,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令在由处理器执行端到端的语音合成方法或端到端的语音合成模型训练方法。
[0015] 本发明实施例将待处理文本拆分为拼音的声母、韵母及声调分别作为整体得到模型数据,将模型数据输入端到端的语音合成模型得到待处理文本对应的声波数据,更符合中文文本发音规律,使端到端的语音合成模型对文本的语音合成更加准确。
附图说明
[0016] 通过参考附图阅读下文的详细描述,本发明实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:图1示出了本发明实施例提供的一种端到端的语音合成方法示意图;
图2示出了本发明实施例提供的一种端到端的语音合成方法的
流程图;
图3示出了本发明实施例提供的一种端到端的语音合成模型训练方法示意图;
图4示出了本发明实施例提供的一种端到端的语音合成装置示意图;
图5示出了本发明实施例提供的一种端到端的语音合成模型训练装置示意图;
图6示出了本发明实施例提供的一种电子设备示意图;
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
[0017] 下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。
[0018] 需要注意,虽然本文中使用“第一”、“第二”等表述来描述本发明的实施方式的不同模块、步骤和数据等,但是“第一”、“第二”等表述仅是为了在不同的模块、步骤和数据等之间进行区分,而并不表示特定的顺序或者重要程度。实际上,“第一”、“第二”等表述完全可以互换使用。
[0019] 图1示出了本发明实施例提供的一种端到端的语音合成方法的流程图。如图1所示,该方法包括:在步骤S101中,获取待处理文本。
[0020] 待处理文本可以是包括汉字短语、语句或多条语句,例如“你好”、“中国人”、“我爱祖国”。待处理文本可以是实时获取也可以来自存储设备中。
[0021] 在步骤S102中,基于待处理文本,生成待处理文本对应的拼音序列。
[0022] 每个汉字对应自己的读音,用拼音来表征汉字的读音。拼音用到的字母称拼音字母,拼音字母包括声母、韵母以及声调,每个汉字对应一个或多个拼音字母。待处理文本可以包括多个汉字,将多个汉字中的每个汉字对应拼音字母按照汉字的排列顺序排列,多个按顺序的拼音字母构成待处理文本对应的拼音序列。
[0023] 例如上述待处理文本为“你好”,对应的拼音序列为“nǐhāo”。待处理文本为“中国人”,对应的拼音序列为“zhōngguórén”。可以理解地,拼音序列中的
音调可以以其所在顺序及音调对应的数字表示。仍以上述待处理文本为例,“你好”对应的拼音序列可以是“ni3 hao3”。“中国人”对应的拼音序列可以是“zhong1 guo2 ren2”。汉字之间可以包括空格以间隔不同的文字。进一步地,“你好”对应的拼音序列可以是“ni3空格hao3”。“中国人”对应的拼音序列可以是“zhong1空格guo2空格 ren2”。
[0024] 在步骤S103中,基于拼音序列,根据拼音的声母、韵母及声调得到拼音序列的模型数据。
[0025] 将待处理文本对应的拼音序列进行拆分,拆分成声母、韵母以及声调,作为拼音序列的模型数据。可以理解地,根据汉字的拼音的声母以及韵母的发音习惯,在构建拼音序列的模型数据时,根据拼音的声母、韵母及声调的规则进行拆分,符合中文文本发音中的声母、韵母的结构划分。
[0026] 仍以上述待处理文本为“你好”、“中国人”为例,根据上述拆分原则,“你”被拆分成n、i、3,“好”被拆分成h、ao、3,则“你好”对应的拼音序列可以是“n i 3空格h ao 3”。“中国人”对应的拼音序列可以是“zh ong 1空格g uo 2 空格r en2”。
[0027] 在步骤S104中,将模型数据输入端到端的语音合成模型,得到待处理文本对应的声波数据。
[0028] 将上述待处理文本对应的拼音序列作为模型数据输入端到端的语音合成模型,得到待处理文本对应的声波数据。语音合成模型为端到端的模型,其输入为待处理文本或待处理文本对应的拼音序列,输出为待处理文本对应的声波数据。
[0029] 本公开的端到端语音合成方法中,直接输入文本或者拼音序列,输出音频
波形,对分词、词性、多音字标注等文本特征信息提取过程得到极大简化、降低语言学知识的要求、减少人工干预,语音合成效果好。
[0030] 根据拼音的声母、韵母及声调得到拼音序列的模型数据,有利于端到端的语音合成模型学习拼音序列中每个单元的声音特征,使端到端的语音合成模型的学习更加有效。
[0031] 在步骤S105中,合成声波数据,得到待处理文本对应的语音数据。
[0032] 本发明实施例将待处理文本拆分为拼音的声母、韵母及声调分别作为整体得到模型数据,将模型数据输入端到端的语音合成模型得到待处理文本对应的声波数据,更符合中文文本发音规律,使端到端的语音合成模型对文本的语音合成更加准确。
[0033] 在一实施例中,模型数据包括编码序列。基于拼音序列,得到对应的音素序列,其中音素包括声母和带调韵母。基于音素序列,得到编码序列。
[0034] 将汉语拼音韵母
和声调划分在一起,组成带调韵母,符合中文文本发音中的声母、韵母的结构划分。声母和带调韵母构成音素。每个拼音字母在语音中是没有严格对应的语音波形
片段,每个音素对应语音波形中的一个片段。
[0035] 将待处理文本的拼音序列转换成音素序列,拆分规则可以是划分23个声母:b、p、m、f、d、……c、s、y、w,24个韵母:a、o、e、i、u…… eng、ing、ong,以及声调标识1-5,其中5表示轻声。将汉字对应的拼音的声调标识放在拼音韵母后面,组成带调韵母,例如“ong1”“uo2”来表示文本“中”“国”对应的拼音的带调韵母。
[0036] 进一步地,还可以是根据预设编码规则,对上述音素进行编码,每个编码ID对应一个音素,建立音素与编码ID之间的映射关系,映射关系可以以表格的方式进行记录以及存储。
[0037] 表1编码ID 音素
1 a1
2 a2
…… ……
18 g
23 zh
56 ong1
78 uo2
98 空格
示例性地,参见表1中的音素编码表。文本“中”“国”对应的音素为“zh”“ong1”“g”“uo2”,根据表1中,音素与编码ID对的对应关系,上述音素对应的编码ID分别为23、56和18、
78。文本之间可以包括空格以表示间隔,则文本“中国”对应的编码序列分别为23、56、98、18和78。
[0038] 将编码序列作为模型数据作为端到端的语音合成模型的输入,可以简便模型数据的输入,使得端到端的语音合成模型对文本的处理更加有效。
[0039] 在一实施例中,基于待处理文本,转换得到纯字文本。基于纯字文本,生成拼音序列。
[0040] 待处理文本中可以是包括一些特殊字符或者数字,例如“36℃”,即非纯文字文本。在将待处理文本转换为拼音序列之前,可以是先对存在的特殊字符或者数字进行转换,得到纯字文本。
[0041] 仍以“36℃”为例,可以将其转换成“三十六摄氏度”的纯字文本,可以为后续拼音序列的处理做准备,使端到端的语音合成模型的输入对象更准确,改善语音合成效果。
[0042] 处理纯字文本得到其对应的拼音序列,拼音序列的生成方式与上述实施例中类似,在此不再赘述。
[0043] 在一实施例中,对纯字文本进行分词,得到分词文本。基于分词文本,生成拼音序列。
[0044] 对纯字文本进行分词,例如对纯字文本进行语义解析,根据词性、词义、在语句中的成分,将语句划分为词组,例如,纯字文本为“我爱祖国”,得到的分词文本为“我”“爱”“祖国”。
[0045] 基于分词文本“我”“爱”“祖国”,生成拼音序列,进一步使端到端的语音合成模型的输入对象更准确,可以达到良好的语音合成效果。
[0046] 基于分词文本,生成拼音序列的方式与上述实施例中类似,在此不再赘述。
[0047] 在一实施例中,根据分词文本进行发音预测,得到拼音序列。
[0048] 汉字中的多音字,即一个汉字可以是对应多个读音,其读法可以根据语义确定。为了得到待处理文本对应的准确的语音数据,对分词文本进行发音预测,即对可能包括多音字的待处理文本中的多音字确定其读音。
[0049] 例如,纯字文本为“出
门当心上当”,得到的分词文本为“出门”“当心”“上当”。其中,“当心”与“上当”中的当的声调为别为1和4。纯字文本“出门在外当心上当”对应的拼音依次为“chu1空格 men2”,“dang1空格 xin1”,“shang4空格dang4”,由这些拼音按照汉字出现的先后顺序,组成拼音序列。
[0050] 图3示出了本发明实施例提供的一种端到端的语音合成方法的流程图,即将待处理文本对应的拼音序列拆分成对应的声母和带调韵母,并按照上述表1进行编码,得到编码序列的方法。
[0051] 待处理文本为“中国”,根据待处理文本“中国”,生成其对应的拼音序列“zhong1 guo2”。
[0052] 对上述拼音序列进行声母和带调韵母的音素拆分,得到音素序列“zh”“ong1”空格“g”“uo2”,每个音素作为一个整体生成建模单元进行建模。
[0053] 对每个建模单元对应编码,得到编码序列,将编码序列作为模型数据输入端到端的语音合成模型。
[0054] 图2示出了本发明实施例提供的一种端到端的语音合成模型训练方法的流程图,端到端的语音合成模型用于如前任一所述的端到端的语音合成方法。语音合成模型是一个端到端的神经网络模型,输入为文本,输出的是文本对应的声音波形。如图2所示,该端到端的语音合成模型训练方法包括:在步骤S201中,获取训练集,其中训练集包括多个文本以及与多个文本对应的多个语音。
[0055] 多个文本对应的多个语音可以是来自标准文本语音库,也可以是采用人工标注的方法,标注多个文本对应的多个语音。
[0056] 在步骤S202中,将语音转换为标准声波数据。将语音转换成标准声波数据可以采用当前技术中各种处理方法,本公开实施例对此不作限定。
[0057] 在步骤S203中,将文本输入端到端的语音合成模型,得到待测声波数据。
[0058] 将多个文本输入端到端的语音合成模型,得到待测声波数据。
[0059] 在步骤S204中,根据标准声波数据和待测声波数据,训练端到端的语音合成模型。可以理解的是,对标准声波数据和待测声波数据的训练次数越多,得到的端到端的语音合成模型越优化。
[0060] 图4示出了本发明实施例提供的一种端到端的语音合成装置
框图。参照图4,该端到端的语音合成装置300包括获取模块310、生成模块320、模型数据生成模块330、声波数据生成模块340和合成模块350。
[0061] 所述各个模块可分别执行上文中描述的端到端的语音合成方法的各个步骤/功能。以下仅对该端到端的语音合成装置300的各部件的主要功能进行描述,而省略以上已经描述过的细节内容。
[0062] 获取模块310,用于获取待处理文本。
[0063] 生成模块320,用于基于待处理文本,生成待处理文本对应的拼音序列。
[0064] 模型数据生成模块330,用于基于拼音序列,根据拼音的声母、韵母及声调得到拼音序列的模型数据。
[0065] 声波数据生成模块340,用于将模型数据输入端到端的语音合成模型,得到待处理文本对应的声波数据。
[0066] 合成模块350,用于合成声波数据,得到待处理文本对应的语音数据。
[0067] 在一实施例中,模型数据包括编码序列。模型数据生成模块330采用如下方式基于拼音序列,根据拼音的声母、韵母及声调得到拼音序列的模型数据。基于拼音序列,得到对应的音素序列,其中音素包括声母和带调韵母。基于音素序列,得到编码序列。
[0068] 在一实施例中,生成模块320还用于基于待处理文本,转换得到纯字文本,基于纯字文本,生成拼音序列。
[0069] 在一实施例中,生成模块320还用于对纯字文本进行分词,得到分词文本,基于分词文本,生成拼音序列。
[0070] 在一实施例中,生成模块320还用于根据分词文本进行发音预测,得到拼音序列。
[0071] 图5示出了本发明实施例提供的一种端到端的语音合成模型训练装置框图。参照图5,该端到端的语音合成模型训练装置400包括:获取模块410、转换模块420、数据生成模块430和训练模块440。
[0072] 所述各个模块可分别执行上文中描述的端到端的语音合成模型训练方法的各个步骤/功能。以下仅对该端到端的语音合成模型训练装置400的各部件的主要功能进行描述,而省略以上已经描述过的细节内容。
[0073] 获取模块410,用于获取训练集,其中训练集包括多个文本以及与多个文本对应的多个语音。
[0074] 转换模块420,用于将语音转换为标准声波数据。
[0075] 数据生成模块430,用于将文本输入端到端的语音合成模型,得到待测声波数据。
[0076] 训练模块440,用于根据标准声波数据和待测声波数据,训练端到端的语音合成模型。
[0077] 装置中的各个模块所实现的功能与上文描述的方法中的步骤相对应,其具体实现和技术效果请参见上文对于方法步骤的描述,在此不再赘述。
[0078] 如图6所示,本发明的一个实施方式提供了一种电子设备50。其中,该电子设备50包括存储器510、处理器520、输入/输出(Input/Output,I/O)
接口530。其中,存储器510,用于存储指令。处理器520,用于调用存储器510存储的指令执行本发明实施例的用于端到端的语音合成方法或端到端的语音合成模型训练方法。其中,处理器520分别与存储器510、I/O接口530连接,例如可通过总线系统和/或其他形式的连接机构(未示出)进行连接。存储器510可用于存储程序和数据,包括本发明实施例中涉及的用于端到端的语音合成方法或端到端的语音合成模型训练方法的程序,处理器520通过运行存储在存储器510的程序从而执行电子设备50的各种功能应用以及
数据处理。
[0079] 本发明实施例中处理器520可以采用
数字信号处理器(Digital Signal Processing,DSP)、
现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少一种
硬件形式来实现,所述处理器520可以是中央处理单元(Central Processing Unit,CPU)或者具有数据处理能
力和/或指令执行能力的其他形式的处理单元中的一种或几种的组合。
[0080] 本发明实施例中的存储器510可以包括一个或多个
计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或
非易失性存储器。所述易失性存储器例如可以包括
随机存取存储器(Random Access Memory,RAM)和/或
高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括
只读存储器(Read-Only Memory,ROM)、快闪存储器(Flash Memory)、
硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD)等。
[0081] 本发明实施例中,I/O接口530可用于接收输入的指令(例如数字或字符信息,以及产生与电子设备50的用户设置以及功能控制有关的键信号输入等),也可向外部输出各种信息(例如,图像或声音等)。本发明实施例中I/O接口530可包括物理
键盘、功能按键(比如音量控制按键、
开关按键等)、
鼠标、操作杆、
轨迹球、麦克
风、扬声器、和触控面板等中的一个或多个。
[0082] 在一些实施方式中,本发明提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,计算机可执行指令在由处理器执行时,执行上文所述的任何方法。
[0083] 尽管在附图中以特定的顺序描述操作,但是不应将其理解为要求按照所示的特定顺序或是串行顺序来执行这些操作,或是要求执行全部所示的操作以得到期望的结果。在特定环境中,多任务和并行处理可能是有利的。
[0084] 本发明的方法和装置能够利用标准编程技术来完成,利用基于规则的逻辑或者其他逻辑来实现各种方法步骤。还应当注意的是,此处以及
权利要求书中使用的词语“装置”和“模块”意在包括使用一行或者多行
软件代码的实现和/或
硬件实现和/或用于接收输入的设备。
[0085] 此处描述的任何步骤、操作或程序可以使用单独的或与其他设备组合的一个或多个硬件或
软件模块来执行或实现。在一个实施方式中,软件模块使用包括包含计算机程序代码的计算机可读介质的计算机程序产品实现,其能够由计算机处理器执行用于执行任何或全部的所描述的步骤、操作或程序。
[0086] 出于示例和描述的目的,已经给出了本发明实施的前述说明。前述说明并非是穷举性的也并非要将本发明限制到所公开的确切形式,根据上述教导还可能存在各种
变形和
修改,或者是可能从本发明的实践中得到各种变形和修改。选择和描述这些实施例是为了说明本发明的原理及其实际应用,以使得本领域的技术人员能够以适合于构思的特定用途来以各种实施方式和各种修改而利用本发明。