1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 一种语音合成方法 装置 可读存储介质及计算设备与流程

一种语音合成方法 装置 可读存储介质及计算设备与流程

时间:2021-04-20 22:14:02

相关推荐

一种语音合成方法 装置 可读存储介质及计算设备与流程

本公开涉及语音处理技术领域,尤其涉及一种语音合成方法、装置、可读存储介质及计算设备。

背景技术:

现有的中文语音合成系统,为了训练一个高质量的语音合成模型,需要使用专业录音棚内录制的高质量语音。主要有以下几种方案:

录制单个说话人的10-20小时的高质量数据,进行人工标注,包括标注拼音、韵律、切音,然后训练模型,得到一个完善的文本到语音(Text To Speech,TTS)系统;

录制10-20个多说话人的10-20小时高质量数据,进行人工标注,包括标注拼音、韵律、切音,然后训练多说话人模型,得到一个完善的TTS系统

这两种方案,都依靠完善的录音设备以及高标准的录音环境,并且依赖精细的人工标注,某一环节出现问题,都会导致模型效果很差。如录音设备以及环境有问题,会导致生成的语音噪声很大;标注出现问题,导致模型训练不收敛,达不到验收标准。除此之外,录制高质量的语音,需要很长的时间以及大量的财力,所以使用这两种方案构造一个高质量的的TTS模型,都有一定的不足。

技术实现要素:

为此,本公开提供了一种语音合成方法、装置、可读存储介质及计算设备,以力图解决或者至少缓解上面存在的至少一个问题。

根据本公开实施例的一个方面,提供了一种语音合成方法,包括:

获取用于语音合成的语音序列和文本序列;

将语音序列和文本序列输入预先训练的神经网络,得到第一谱参数;

根据第一谱参数合成语音。

可选地,将语音序列和文本序列输入预先训练的神经网络,得到第一谱参数,包括:

根据预先训练的神经网络,将语音序列输入说话人编码器,得到第一说话人嵌入向量,将语音序列输入残差编码器,得到第一残差嵌入向量,将文本序列输入文本编码器,得到第一文本嵌入向量,以及,将第一说话人嵌入向量、第一残差嵌入向量和第一文本嵌入向量输入解码器,得到第一谱参数。

可选地,根据第一谱参数合成语音,包括:

根据第一谱参数,采用预先训练的神经网络声码器Neural Vocoder模型合成语音。

可选地,训练神经网络,包括:

获取一一对应的训练语音序列和训练文本序列;

将训练语音序列输入说话人编码器,得到第二说话人嵌入向量;

将训练语音序列输入残差编码器,得到第二残差嵌入向量;

将训练文本序列输入文本编码器,得到第二文本嵌入向量;

将第二说话人嵌入向量、第二残差嵌入向量和第二文本嵌入向量输入解码器,得到第二谱参数。

可选地,训练神经网络,还包括:

将第二说话人嵌入向量输入说话人识别分类器进行分类。

可选地,训练神经网络,还包括:

将第二说话人嵌入向量作梯度反转处理,得到说话人信息。

可选地,训练神经网络,还包括:

将第二说话人嵌入向量输入语音背景分类器进行分类。

可选地,训练神经网络,还包括:

计算语音背景后验概率,用于修正神经网络参数。

根据本公开实施例的又一个方面,提供了一种语音合成装置,包括:

数据获取单元,用于获取用于语音合成的语音序列和文本序列;

神经网络处理单元,用于将语音序列和文本序列输入预先训练的神经网络,得到第一谱参数;

语音合成单元,用于根据第一谱参数合成语音。

可选地,神经网络处理单元具体用于:

根据预先训练的神经网络,将语音序列输入说话人编码器,得到第一说话人嵌入向量,将语音序列输入残差编码器,得到第一残差嵌入向量,将文本序列输入文本编码器,得到第一文本嵌入向量,以及,将第一说话人嵌入向量、第一残差嵌入向量和第一文本嵌入向量输入解码器,得到第一谱参数;

可选地,语音合成单元具体用于:

根据第一谱参数,采用预先训练的神经网络声码器Neural Vocoder模型合成语音。

可选地,还包括神经网络训练单元,用于:

获取一一对应的训练语音序列和训练文本序列;

将训练语音序列输入说话人编码器,得到第二说话人嵌入向量;

将训练语音序列输入残差编码器,得到第二残差嵌入向量;

将训练文本序列输入文本编码器,得到第二文本嵌入向量;

将第二说话人嵌入向量、第二残差嵌入向量和第二文本嵌入向量输入解码器,得到第二谱参数。

可选地,神经网络训练单元还用于:

将第二说话人嵌入向量输入说话人识别分类器进行分类。

可选地,神经网络训练单元还用于:

将第二说话人嵌入向量作梯度反转处理,得到说话人信息。

可选地,神经网络训练单元还用于:

将第二说话人嵌入向量输入语音背景分类器进行分类。

可选地,神经网络训练单元还用于:

计算语音背景后验概率,用于修正神经网络参数。

根据本公开实施例的又一个方面,提供了一种可读存储介质,其上具有可执行指令,当可执行指令被执行时,使得计算机执行上述方法所包括的操作。

根据本公开实施例的又一个方面,提供一种计算设备,包括:处理器;以及存储器,其存储有可执行指令,可执行指令当被执行时使得处理器执行上述方法所包括的操作。

本公开实施例提供的技术方案,获取用于语音合成的语音序列和文本序列,将语音序列和文本序列输入预先训练的神经网络,得到第一谱参数,根据第一谱参数合成语音;根据该方案,仅仅需要普通质量的中文音频,比如手机录制的声音,或者客服人员的声音等,可以自动区分出说话人的信息以及背景噪音,进而能够合成高质量的语音。

附图说明

附图示出了本公开的示例性实施方式,并与其说明一起用于解释本公开的原理,其中包括了这些附图以提供对本公开的进一步理解,并且附图包括在本说明书中并构成本说明书的一部分。

图1是示例性的计算设备的结构框图;

图2是根据本公开实施例的一种语音合成方法的流程图;

图3是根据本公开实施例的神经网络训练方法的流程图;

图4是根据本公开实施例的神经网络训练方法的又一流程图;

图5是根据本公开实施例的一种语音合成装置的结构框图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

图1是布置为实现根据本公开的一种语音合成方法的示例计算设备100的框图。在基本的配置102中,计算设备100典型地包括系统存储器106和一个或者多个处理器104。存储器总线108可以用于在处理器104和系统存储器106之间的通信。

取决于期望的配置,处理器104可以是任何类型的处理,包括但不限于:微处理器((μP)、微控制器(μC)、数字信息处理器(DSP)或者它们的任何组合。处理器104可以包括诸如一级高速缓存110和二级高速缓存112之类的一个或者多个级别的高速缓存、处理器核心114和寄存器116。示例的处理器核心114可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器118可以与处理器104一起使用,或者在一些实现中,存储器控制器118可以是处理器104的一个内部部分。

取决于期望的配置,系统存储器106可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。系统存储器106可以包括操作系统120、一个或者多个程序122以及程序数据124。在一些实施方式中,程序122可以被配置为在操作系统上由一个或者多个处理器104利用程序数据124执行指令。

计算设备100还可以包括有助于从各种接口设备(例如,输出设备142、外设接口144和通信设备146)到基本配置102经由总线/接口控制器130的通信的接口总线140。示例的输出设备142包括图形处理单元148和音频处理单元150。它们可以被配置为有助于经由一个或者多个A/V端口152与诸如显示终端或者扬声器之类的各种外部设备进行通信。示例外设接口144可以包括串行接口控制器154和并行接口控制器156,它们可以被配置为有助于经由一个或者多个I/O端口158和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备146可以包括网络控制器160,其可以被布置为便于经由一个或者多个通信端口164与一个或者多个其他计算设备162通过网络通信链路的通信。

网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。

计算设备100可以实现为小尺寸便携(或者移动)电子设备的一部分,这些电子设备可以是诸如蜂窝电话、个人数字助理(PDA)、个人媒体播放器设备、无线网络浏览设备、个人头戴设备、应用专用设备、或者可以包括上面任何功能的混合设备。计算设备100还可以实现为包括桌面计算机和笔记本计算机配置的个人计算机。

其中,计算设备100的一个或多个程序122包括用于执行根据本公开的一种语音合成方法的指令。

图2示例性示出根据本公开一个实施例的一种语音合成方法200的流程图,语音合成方法200始于步骤S210。

S210、获取用于语音合成的语音序列和文本序列;

S220、将语音序列和文本序列输入预先训练的神经网络,得到第一谱参数;

S230、根据第一谱参数合成语音。

步骤S210中,用于语音合成的语音序列既可以是新录入的某一说话人的语音序列,也可以是从用于训练神经网络的训练语音序列中选取的。用于语音合成的文本序列可以是用户输入的任意的文本序列。

步骤S220中,具体的神经网络数据处理过程包括:

根据预先训练的神经网络,将语音序列输入说话人编码器,得到第一说话人嵌入向量,将语音序列输入残差编码器,得到第一残差嵌入向量,将文本序列输入文本编码器,得到第一文本嵌入向量,以及,将第一说话人嵌入向量、第一残差嵌入向量和第一文本嵌入向量输入解码器,得到第一谱参数。

步骤S220中,神经网络是经过预先训练的,如图3所示,训练过程包括如下步骤:

S310、获取一一对应的训练语音序列和训练文本序列;

S320、将训练语音序列输入说话人编码器,得到第二说话人嵌入向量;

S330、将训练语音序列输入残差编码器,得到第二残差嵌入向量;

S340、将训练文本序列输入文本编码器,得到第二文本嵌入向量;

S350、将第二说话人嵌入向量、第二残差嵌入向量和第二文本嵌入向量输入解码器,得到第二谱参数。

其中,训练数据可以是质量不高的语音数据,包含多个说话人的语音数据,其中,可以包含带噪声的数据和干净的(不带噪声)的数据。

可选地,在步骤S230中,根据所述第一谱参数,采用预先训练的神经网络声码器Neural Vocoder模型合成语音。Neural Vocoder为一个单独训练的卷积神经网络模型,该模型抛弃了传统的声码器方案,对采样点直接建模,所以具有声音高度保真的特点。

可选地,在神经网络训练过程中,通过分解对抗因子,提高神经网络的性能,具体包括:

将第二说话人嵌入向量输入说话人识别分类器进行分类,从而区分不同说话人的信息。

可选地,还包括:

将第二说话人嵌入向量作梯度反转处理,使得说话人嵌入向量,仅包含说话人信息,如性别、标识ID等。

可选地,还包括:

将第二说话人嵌入向量输入语音背景分类器进行分类,从而区分出干净的和带噪的语音。

可选地,还包括:

在语音背景分类后,计算语音背景后验概率,用于修正神经网络参数。

为了进一步说明本公开的构思,下面结合图4,给出本公开的具体实施例。

本公开具体实施例中,采用端到端神经网络架构。

1、数据准备阶段。

准备约50小时通用语音识别数据(即质量不高的语音识别数据),数据包含多个说话人的语音数据,其中包含带噪声和不带噪声的数据。

2、训练阶段。

a、将文本和语音一一对应,输入以下模块并用于训练。

b、语音编码模块。

i、语音序列经过说话人编码器(Encoder)处理,得到说话人的嵌入向量(Embedding)。

ii、语音序列经过残差Encoder处理,得到去除说话人信息的残差Embedding,其中包含环境噪声以及情感等声学特征信息。

c、对抗因子分解模块。

i、说话人Embedding经过说话人分类器处理,从而区分不同说话人的信息。

ii、说话人Embedding,经过语音背景分类器处理,目的是区分干净和带噪的语音。以及,经过梯度反转,使得说话人Embedding,仅包含有说话人的信息,如性别,说话人ID等。

d、合成器模块。

i、文本序列经过文本Encoder,得到文本Embedding,包含文本的信息。

ii、文本Embedding+说话人Embedding+残差Embedding一起输入到解码器(Decoder),得到谱参数。

3、生成阶段。

a、给定任意文本以及要引用的说话人语音。

b、引用的说话人语音经过说话人Encoder,得到说话人Embedding。

c、引用的说话人语音经过残差Encoder,得到残差Embedding。

d、输入文本经过文本Encoder,得到文本Embedding。

e、文本Embedding+说话人Embedding+残差Embedding一起输入到decoder,得到最后的谱参数。

f、最后,谱参数经过Neural Vocoder得到语音。

得到的语音和引用的说话人语音一致,并且声学情感以及背景声音也与引用的语音一致。引用的说话人语音有噪音,合成的语音就有噪音;引用的说话人语音无噪音,合成的语音就没有噪音。

本公开具体实施例实现了如下技术效果:

1、提出一种使用通用中文语音即可进行语音合成的方案,大大增加了可用的数据量,提升了模型质量。

2、使用通用中文语音识别数据,而不是专业录音设备录制的高质量的录音,大大减少录制和标注的成本。

3、模型加入梯度反转模块,可以有效分离说话人信息和语音特性。

4、模型引入了Neural Vocoder,可以提升合成的语音质量。

如图5所示,本公开还提供了一种语音合成装置,包括:

数据获取单元510,用于获取用于语音合成的语音序列和文本序列;

神经网络处理单元520,用于将语音序列和文本序列输入预先训练的神经网络,得到第一谱参数;

语音合成单元530,用于根据第一谱参数合成语音。

可选地,神经网络处理单元520具体用于:

根据预先训练的神经网络,将语音序列输入说话人编码器,得到第一说话人嵌入向量,将语音序列输入残差编码器,得到第一残差嵌入向量,将文本序列输入文本编码器,得到第一文本嵌入向量,以及,将第一说话人嵌入向量、第一残差嵌入向量和第一文本嵌入向量输入解码器,得到第一谱参数;

可选地,语音合成单元530具体用于:

根据第一谱参数,采用预先训练的神经网络声码器Neural Vocoder模型合成语音。

可选地,还包括神经网络训练单元540,用于:

获取一一对应的训练语音序列和训练文本序列;

将训练语音序列输入说话人编码器,得到第二说话人嵌入向量;

将训练语音序列输入残差编码器,得到第二残差嵌入向量;

将训练文本序列输入文本编码器,得到第二文本嵌入向量;

将第二说话人嵌入向量、第二残差嵌入向量和第二文本嵌入向量输入解码器,得到第二谱参数。

可选地,神经网络训练单元540还用于:

将第二说话人嵌入向量输入说话人识别分类器进行分类。

可选地,神经网络训练单元540还用于:

将第二说话人嵌入向量作梯度反转处理,得到说话人信息。

可选地,神经网络训练单元540还用于:

将第二说话人嵌入向量输入语音背景分类器进行分类。

可选地,神经网络训练单元540还用于:

计算语音背景后验概率,用于修正神经网络参数。

关于语音合成装置的具体限定可以参见上文中对于语音合成方法的限定,在此不再赘述。

应当理解,这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本公开的方法和设备,或者本公开的方法和设备的某些方面或部分可采取嵌入有形媒介,例如软盘、CD-ROM、硬盘驱动器或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被该机器执行时,该机器变成实践本公开的设备。

在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的该程序代码中的指令,执行本公开的各种方法。

以示例而非限制的方式,计算机可读介质包括计算机存储介质和通信介质。计算机可读介质包括计算机存储介质和通信介质。计算机存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在计算机可读介质的范围之内。

应当理解,为了精简本公开并帮助理解各个公开方面中的一个或多个,在上面对本公开的示例性实施例的描述中,本公开的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本公开要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,公开方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本公开的单独实施例。

本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本公开的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该公开的目的的元素所执行的功能。

如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。

尽管根据有限数量的实施例描述了本公开,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本公开的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本公开的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本公开的范围,对本公开所做的公开是说明性的,而非限制性的,本公开的范围由所附权利要求书限定。

技术特征:

1.一种语音合成方法,其特征在于,包括:

获取用于语音合成的语音序列和文本序列;

将所述语音序列和所述文本序列输入预先训练的神经网络,得到第一谱参数;

根据所述第一谱参数合成语音。

2.如权利要求1所述的方法,其特征在于,将所述语音序列和所述文本序列输入预先训练的神经网络,得到第一谱参数,包括:

根据预先训练的神经网络,将所述语音序列输入说话人编码器,得到第一说话人嵌入向量,将所述语音序列输入残差编码器,得到第一残差嵌入向量,将所述文本序列输入文本编码器,得到第一文本嵌入向量,以及,将所述第一说话人嵌入向量、所述第一残差嵌入向量和所述第一文本嵌入向量输入解码器,得到第一谱参数。

3.如权利要求1所述的方法,其特征在于,根据所述第一谱参数合成语音,包括:

根据所述第一谱参数,采用预先训练的神经网络声码器Neural Vocoder模型合成语音。

4.如权利要求1所述的方法,其特征在于,训练所述神经网络,包括:

获取一一对应的训练语音序列和训练文本序列;

将所述训练语音序列输入所述说话人编码器,得到第二说话人嵌入向量;

将所述训练语音序列输入所述残差编码器,得到第二残差嵌入向量;

将所述训练文本序列输入所述文本编码器,得到第二文本嵌入向量;

将所述第二说话人嵌入向量、所述第二残差嵌入向量和所述第二文本嵌入向量输入所述解码器,得到第二谱参数。

5.如权利要求4所述的方法,其特征在于,训练所述神经网络,还包括:

将所述第二说话人嵌入向量输入说话人识别分类器进行分类。

6.如权利要求4所述的方法,其特征在于,训练所述神经网络,还包括:

将所述第二说话人嵌入向量作梯度反转处理,得到说话人信息。

7.如权利要求4所述的方法,其特征在于,训练所述神经网络,还包括:

将所述第二说话人嵌入向量输入语音背景分类器进行分类。

8.一种语音合成装置,其特征在于,包括:

数据获取单元,用于获取用于语音合成的语音序列和文本序列;

神经网络处理单元,用于将所述语音序列和所述文本序列输入预先训练的神经网络,得到第一谱参数;

语音合成单元,用于根据所述第一谱参数合成语音。

9.一种可读存储介质,其上具有可执行指令,当所述可执行指令被执行时,使得计算机执行权利要求1-7中的任意一个所包括的操作。

10.一种计算设备,包括:

处理器;以及

存储器,其存储有可执行指令,所述可执行指令当被执行时使得所述处理器执行权利要求1-7中的任意一个所包括的操作。

技术总结

本公开实施例提供了一种语音合成方法、装置、可读存储介质及计算设备,实现使用通用中文语音即可进行语音合成。方法包括:获取用于语音合成的语音序列和文本序列;将语音序列和文本序列输入预先训练的神经网络,得到第一谱参数;根据第一谱参数合成语音。

技术研发人员:陈云琳

受保护的技术使用者:出门问问(苏州)信息科技有限公司

技术研发日:.07.24

技术公布日:.09.13

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。