CN113393828A - 一种语音合成模型的训练方法、语音合成的方法及装置 - Google Patents
一种语音合成模型的训练方法、语音合成的方法及装置 Download PDFInfo
- Publication number
- CN113393828A CN113393828A CN202011336173.2A CN202011336173A CN113393828A CN 113393828 A CN113393828 A CN 113393828A CN 202011336173 A CN202011336173 A CN 202011336173A CN 113393828 A CN113393828 A CN 113393828A
- Authority
- CN
- China
- Prior art keywords
- loss value
- trained
- phoneme
- mel spectrum
- text
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L13/00—Speech synthesis; Text to speech systems
- G10L13/02—Methods for producing synthetic speech; Speech synthesisers
- G10L13/04—Details of speech synthesis systems, e.g. synthesiser structure or memory management
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L13/00—Speech synthesis; Text to speech systems
- G10L13/08—Text analysis or generation of parameters for speech synthesis out of text, e.g. grapheme to phoneme translation, prosody generation or stress or intonation determination
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/02—Feature extraction for speech recognition; Selection of recognition unit
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
- G10L15/063—Training
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/03—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
- G10L25/24—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being the cepstrum
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/02—Feature extraction for speech recognition; Selection of recognition unit
- G10L2015/025—Phonemes, fenemes or fenones being the recognition units
Abstract
本申请公开了一种基于人工智能技术实现的语音合成模型训练方法,具体涉及语音处理技术领域。本申请包括:获取待训练样本对;基于待训练文本,通过语音合成模型获取第一梅尔谱;基于第一梅尔谱,通过语音识别模型获取第一音素序列;根据第一梅尔谱与真实梅尔谱之间的损失值,以及第一音素序列以及标注音素序列之间的损失值,对语音合成模型的模型参数进行更新。本申请实施例提供了还一种语音合成的方法及装置,能够结合语音识别误差和频谱误差综合评估语音合成模型,从而有利于训练得到预测效果更佳的语音合成模型,提升合成语音的准确度。
Description
技术领域
本申请涉及语音处理技术领域,尤其涉及一种语音合成模型的训练方法、语音合成的方法及装置。
背景技术
语音是人们日常交流中非常普遍的一种方式。随着人工智能(ArtificialIntelligence,AI)技术的发展,语音合成(Text To Speech,TTS)技术越来越受到人们的重视,利用TTS技术可以将任意文本信息转换成相应语音,使得合成后的语音可懂、清晰、自然且富有表现力。
目前,通常采用主流的端到端语音合成模型来实现语音的合成,首先,将待合成文本转化为音素序列,然后,将音素序列输入至语音合成模型,通过语音合成模型输出合成后的语音。
在训练语音合成模型的过程中,采用均方误差(mean-square error,MSE)损失值来判断是否训练完成。然而,由于频谱上极小的误差可能会导致发音模糊或者出现背景噪声,而MSE损失值是仅考虑到了频谱误差,因此,导致训练好的语音合成模型难以保证合成语音的准确度。
发明内容
本申请实施例提供了一种语音合成模型的训练方法、语音合成的方法及装置,能够结合语音识别误差和频谱误差综合评估语音合成模型,从而有利于训练得到预测效果更佳的语音合成模型,提升合成语音的准确度。
有鉴于此,本申请一方面提供一种语音合成模型的训练方法,包括:
获取待训练样本对,其中,待训练样本对包括具有对应关系的待训练文本以及待训练音频,待训练文本对应于标注音素序列,待训练音频对应于真实梅尔谱;
基于待训练文本,通过语音合成模型获取第一梅尔谱;
基于第一梅尔谱,通过语音识别模型获取第一音素序列;
根据第一梅尔谱与真实梅尔谱之间的损失值,以及第一音素序列以及标注音素序列之间的损失值,对语音合成模型的模型参数进行更新。
本申请另一方面提供一种语音合成的方法,包括:
获取待合成文本;
基于待合成文本,通过语音合成模型获取目标梅尔谱,其中,语音合成模型为根据上述各方面的训练方法训练得到的;
根据目标梅尔谱生成目标合成语音。
本申请另一方面提供一种语音合成模型训练装置,包括:
获取模块,用于获取待训练样本对,其中,待训练样本对包括具有对应关系的待训练文本以及待训练音频,待训练文本对应于标注音素序列,待训练音频对应于真实梅尔谱;
获取模块,还用于基于待训练文本,通过语音合成模型获取第一梅尔谱;
获取模块,还用于基于第一梅尔谱,通过语音识别模型获取第一音素序列;
训练模块,用于根据第一梅尔谱与真实梅尔谱之间的损失值,以及第一音素序列以及标注音素序列之间的损失值,对语音合成模型的模型参数进行更新。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,待训练音频来源于第一对象,第一对象对应于第一身份标识;
获取模块,具体用于基于待训练文本以及第一身份标识,通过语音合成模型获取第一梅尔谱。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
训练模块,具体用于根据第一梅尔谱与真实梅尔谱,确定均方误差损失值;
根据第一音素序列以及标注音素序列,确定第一交叉熵损失值;
根据均方误差损失值以及第一交叉熵损失值,确定第一目标损失值;
根据第一目标损失值对语音合成模型的模型参数进行更新。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
训练模块,具体用于获取第一梅尔谱所对应的M帧预测频率幅度向量,其中,M帧预测频率幅度向量中的每帧预测频率幅度向量对应于待训练音频中的一帧音频信号,M为大于或等于1的整数;
获取真实梅尔谱所对应的M帧标注频率幅度向量,其中,M帧标注频率幅度向量中的每帧标注频率幅度向量对应于待训练音频中的一帧音频信号;
根据M帧预测频率幅度向量确定预测频率幅度平均值;
根据M帧标注频率幅度向量确定标注频率幅度平均值;
根据预测频率幅度平均值以及标注频率幅度平均值,确定M帧频率幅度差值;
对M帧频率幅度差值进行求平均值处理,得到均方误差损失值。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
训练模块,具体用于获取第一音素序列所对应的M帧预测音素向量,其中,M帧预测音素向量中的每帧预测音素向量对应于待训练音频中的一帧音频信号,M为大于或等于1的整数;
获取标注音素序列所对应的M帧标注音素向量,其中,M帧标注音素向量中的每帧标注音素向量对应于待训练音频中的一帧音频信号;
根据M帧预测音素向量以及M帧标注音素向量,确定M帧音素的交叉熵损失值;
对M帧音素的交叉熵损失值进行求平均值处理,得到第一交叉熵损失值。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,语音合成模型训练装置还包括确定模块;
获取模块,还用于在训练模块根据第一梅尔谱与真实梅尔谱之间的损失值,以及第一音素序列以及标注音素序列之间的损失值,对语音合成模型的模型参数进行更新之后,获取待测试文本以及待测试文本所对应的第二身份标识,其中,第二身份标识对应于第二对象;
获取模块,还用于基于待测试文本,通过语音合成模型获取第二梅尔谱;
获取模块,还用于基于第二梅尔谱,通过对象识别模型获取预测身份标识;
获取模块,还用于基于第二梅尔谱,通过语音识别模型获取第二音素序列;
获取模块,还用于基于待测试文本,通过语音合成模型获取权重矩阵;
确定模块,用于根据权重矩阵确定目标音素序列;
训练模块,还用于根据第二身份标识与预测身份标识之间的损失值,以及第二音素序列以及目标音素序列之间的损失值,对语音合成模型的模型参数进行更新。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
训练模块,具体用于根据第二身份标识与预测身份标识,确定第二交叉熵损失值;
根据第二音素序列以及目标音素序列,确定第三交叉熵损失值;
根据第二交叉熵损失值以及第三交叉熵损失值,确定第二目标损失值;
根据第二目标损失值对语音合成模型的模型参数进行更新。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
训练模块,具体用于获取第二身份标识所对应的标注身份向量;
获取预测身份标识所对应的预测身份向量;
根据标注身份向量以及预测身份向量,确定第二交叉熵损失值。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
训练模块,具体用于获取第二音素序列所对应的N帧预测音素向量,其中,N帧预测音素向量中的每帧预测音素向量对应于一帧音频信号,N为大于或等于1的整数;
获取目标音素序列所对应的N帧音素向量,其中,N帧音素向量中的每帧音素向量对应于一帧音频信号;
根据N帧预测音素向量以及N帧音素向量,确定N帧音素的交叉熵损失值;
对N帧音素的交叉熵损失值进行求平均值处理,得到第三交叉熵损失值。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
训练模块,还用于根据第一梅尔谱与真实梅尔谱之间的损失值,以及第一音素序列以及标注音素序列之间的损失值,对语音识别模型的模型参数进行更新。
本申请另一方面提供一种语音合成装置,包括:
获取模块,用于获取待合成文本;
获取模块,还用于基于待合成文本,通过语音合成模型获取目标梅尔谱,其中,语音合成模型为根据上述各方面的训练方法训练得到的;
生成模块,用于根据目标梅尔谱生成目标合成语音。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
获取模块,还用于获取目标身份标识;
获取模块,具体用于基于待合成文本以及目标身份标识,通过语音合成模型获取目标梅尔谱。
本申请另一方面提供一种计算机设备,包括:存储器、处理器以及总线系统;
其中,存储器用于存储程序;
处理器用于执行存储器中的程序,处理器用于根据程序代码中的指令执行上述各方面的方法;
总线系统用于连接存储器以及处理器,以使存储器以及处理器进行通信。
本申请的另一方面提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面的方法。
本申请的另一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方面所提供的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例中,提供了一种语音合成模型的训练方法,首先获取待训练样本对,然后基于待训练文本,通过语音合成模型获取第一梅尔谱,再基于第一梅尔谱,通过语音识别模型获取第一音素序列,最后根据第一梅尔谱与真实梅尔谱之间的损失值,以及第一音素序列以及标注音素序列之间的损失值,对语音合成模型的模型参数进行更新。通过上述方式,将预训练好的语音识别模型引入至模型训练框架中,能够对待训练语音合成模型输出的梅尔谱进行识别,根据识别后的音素序列与标注音素序列确定语音识别误差,并且根据预测到的梅尔谱与真实梅尔谱确定频谱误差,结合语音识别误差和频谱误差综合评估语音合成模型,从而有利于训练得到预测效果更佳的语音合成模型,提升合成语音的准确度。
附图说明
图1为本申请实施例中语音合成方法的一个应用场景示意图;
图2为本申请实施例中语音合成系统的一个架构示意图;
图3为本申请实施例中语音合成模型训练方法的一个实施例示意图;
图4为本申请实施例中基于监督学习训练语音合成模型的一个框架示意图;
图5为本申请实施例中基于监督学习训练语音合成模型的另一个框架示意图;
图6为本申请实施例中语音合成模型的一个结构示意图;
图7为本申请实施例中语音合成模型的另一个结构示意图;
图8为本申请实施例中基于自监督学习训练语音合成模型的一个框架示意图;
图9为本申请实施例中语音合成方法的一个实施例示意图;
图10为本申请实施例中语音合成界面的一个示意图;
图11为本申请实施例中语音合成界面的另一个示意图;
图12为本申请实施例中语音合成模型训练装置的一个实施例示意图;
图13为本申请实施例中语音合成装置的一个实施例示意图;
图14为本申请实施例中服务器的一个结构示意图;
图15为本申请实施例中终端设备的一个结构示意图。
具体实施方式
本申请实施例提供了一种语音合成模型的训练方法、语音合成的方法及装置,能够结合语音识别误差和频谱误差综合评估语音合成模型,从而有利于训练得到预测效果更佳的语音合成模型,提升合成语音的准确度。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“对应于”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
语音合成(Text To Speech,TTS)技术和语音识别技术是实现人机语音通信,建立一个有听和讲能力的口语系统所必需的两项关键技术。使计算机设备具有类似于人一样的说话能力,是当今时代信息产业的重要竞争市场。TTS技术又称为文语转换技术,能将任意文字信息转化为标准流畅的语音朗读出来,相当于给机器装上了人工嘴巴。它涉及声学、语言学、数字信号处理、计算机科学等多个学科技术,是中文信息处理领域的一项前沿技术,解决的主要问题就是如何将文字信息转化为可听的声音信息,也即让机器像人一样开口说话。
TTS技术被用于各种服务,例如,呼叫中心的自动响应,公共交通的语音播报,汽车导航,电子词典,智能电话,智能扬声器,语音助理,娱乐机器人,电视节目,社区广播,电子书朗读等。另外,TTS技术还可语音受损或阅读障碍的人群,例如,由于疾病导致说话困难人群,可以用合成语音代替自己的声音。
TTS技术属于人工智能(Artificial Intelligence,AI)技术的语音技术(SpeechTechnology),其中,AI是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,AI是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。AI也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
AI技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。AI基础技术一般包括如传感器、专用AI芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。AI软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
语音技术的关键技术有ASR技术和TTS技术以及声纹识别技术。让计算机能听、能看、能说、能感觉,是未来人机交互的发展方向,其中语音成为未来最被看好的人机交互方式之一。
以智能客服场景为例,越来越多公司企业尝试用接入智能客服机器人的方式来逐步取代人工客服的岗位,客服机器人的运用变得越来越广泛。智能客服系统是在大规模知识处理基础上发展起来的一项面向行业应用的,适用大规模知识处理、自然语言理解、知识管理、自动问答系统和推理等等技术行业,智能客服不仅为企业提供了细粒度知识管理技术,还为企业与海量用户之间的沟通建立了一种基于自然语言的快捷有效的技术手段,同时还能够为企业提供精细化管理所需的统计分析信息。为了便于理解,请参阅图1,图1为本申请实施例中语音合成方法的一个应用场景示意图,如图所示,示例性地,用户进入应用界面,以进入某个购物应用的界面为例,用户可在界面上输入“请问我身高180,适合穿什么码数的衣服呢”,调用自然语言处理(Nature Language processing,NLP)软件开发工具包(Software Development Kit,SDK)的功能,对用户输入的问题进行检测,从而确定用户的需求,然后结合知识数据库确定待合成文本,例如,“适合穿大码的衣服”。于是调用TTS SDK的功能,将待合成文本转换为目标合成语音,由客服机器人反馈该目标合成语音。
示例性地,用户进入应用界面,以进入某个天气应用的界面为例,用户可通过终端设备的麦克风输入一段语音,例如,“今天天气怎么样呀”,调用自动语音识别(AutomaticSpeech Recognition,ASR)SDK的功能,对用户说出的语音进行检测,从而确定用户的需求,然后结合知识数据库确定待合成文本,例如,“晴转多云”。于是调用TTS SDK的功能,将待合成文本转换为目标合成语音,由客服机器人反馈该目标合成语音。
为了在上述场景中实现合成更准确且更清晰的语音,本申请提出了一种语音合成模型的训练方法以及语音合成的方法,这些方法均可应用于图2所示的语音合成系统。请参阅图2,图2为本申请实施例中语音合成系统的一个架构示意图,如图所示,语音合成系统可以包括服务器和终端设备,且客户端部署于终端设备上。本申请涉及的服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端设备可以是智能手机、平板电脑、笔记本电脑、掌上电脑、个人电脑、智能电视、智能手表等,但并不局限于此。终端设备以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。服务器和终端设备的数量也不做限制。
模型训练可以分为两个阶段,第一阶段为监督学习阶段,第二阶段是自监督学习阶段。在监督学习阶段,服务器可以获取大量的待训练样本对,每个待训练样本对包括一个待训练文本以及一个待训练音频,其中,需要预先对待训练文本进行标注,得到标注音素序列,与此同时,根据待训练音频可以得到真实梅尔谱。在模型训练过程中,先将每个待训练文本输入至待训练的语音合成模型,由此预测得到第一梅尔谱,然后将预测得到第一梅尔谱输入到语音识别模型,由此预测得到第一音素序列。基于此,服务器根据第一梅尔谱与真实梅尔谱之间的损失值,以及第一音素序列以及标注音素序列之间的损失值,对语音合成模型的模型参数进行更新。
在监督学习阶段结束之后,还可以在自监督学习阶段中进一步提升语音合成模型的性能。在自监督学习阶段,服务器可以获取大量的待测试文本以及对每个待测试文本标注好的身份标识,但此时并没有待测试文本对应的音频,因此,需要通过语音合成模型模拟出待测试文本以所对应的目标音素序列。在模型训练过程中,将每个待测试文本输入至待调优的语音合成模型,由此预测得到第二梅尔谱,然后将预测得到第二梅尔谱输入到语音识别模型,由此预测得到第二音素序列。基于此,服务器根据标注好的身份标识与预测身份标识之间的损失值,以及第二音素序列以及目标音素序列之间的损失值,对语音合成模型的模型参数进行调优。
模型训练过程涉及到机器学习(Machine Learning,ML),其中,ML是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。ML是AI的核心,是使计算机具有智能的根本途径,其应用遍及AI的各个领域。ML和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习等技术。
完成语音合成模型的训练之后,服务器可以将该语音合成模型存储在本地,或者发送至终端设备。示例性地,如果语音合成模型存储在服务器侧,则终端设备需要将待合成文本发送至服务器,由服务器将待合成文本输入至语音合成模型,通过语音合成模型输出相应的目标梅尔谱,服务器将该目标梅尔谱转换为语音信号,即生成目标合成语音。最后,服务器向终端设备发送目标合成语音,由终端设备播放该目标合成语音。
示例性地,如果语音合成模型存储在终端设备侧,则终端设备在获取到待合成文本之后,直接调用本地的语音合成模型即可输出相应的目标梅尔谱,于是终端设备将该目标梅尔谱转换为语音信号,即生成目标合成语音。最后,由终端设备播放该目标合成语音。
本申请涉及到相关的专业术语,为了便于理解,下面将分别对这些专业术语进行介绍。
1、梅尔谱(mel spectrogram):即梅尔频谱,是通过对声学信号进行傅立叶变换以后,再经过梅尔尺度进行变换得到的频谱。声谱图往往是很大的一张图,为了得到合适大小的声音特征,可将把声谱图通过梅尔尺度滤波器组之后变换为梅尔频谱。
2、GT mel:真实(Ground Truth,GT)的梅尔频谱,即本申请中涉及的真实梅尔谱。
3、GTA训练:真实梅尔频谱自回归(Ground Truth Autoregressive,GTA)训练,即使用真实梅尔谱作为解码器的输入,进行自回归后预测得到新的频谱。
4、Free Running:自由训练,即不提供真实梅尔谱,只提供文本(待测试文本),让语音合成模型能够自回归地预测新的频谱(第二梅尔谱)。
5、语言学特征(Linguistic Feature),即包含不限于中文音素、英文音素、中文韵母声调、词语边界、短语边界以及句子边界等特征信息。本申请中涉及到的待合成文本、待训练文本以及待测试文本都属于语言学特征。
6、音素(phone):是根据语音的自然属性划分出来的最小语音单位,依据音节里的发音动作来分析,一个动作构成一个音素。音素分为元音与辅音两大类。如汉语音节“啊(ā)”只有一个音素,“爱(ài)”有两个音素,“代(dài)”有三个音素。
7、说话人识别(Speaker Identification):即根据一段梅尔谱来判断该音频是否属于某个说话人。
8、内容编码器(Content Encoder):将原始的音素序列映射到一个包含了上下文信息的分布式向量表示。
9、自回归解码器(Autoregressive Decoder):即每步预测梅尔谱都依赖于上一步预测的梅尔谱。
10、注意力机制(Attention Mechanism):用于为解码器提供每一步解码所需要的上下文信息。
11、梅尔谱后处理网络(Spectrogram Postnet):即对自回归解码器预测的梅尔谱进行后处理,使得梅尔谱更加平滑,质量更好。
12、说话人身份信息(Speaker Identity),通常会用一组向量来表示某个发音人的唯一标识,该标识即为本申请涉及到的身份标识。
13、自监督学习:无需给定输入和输出数据对,模型可以基于任意的输入来得到合理的标签,并进行自我纠正,以此来达到提高模型性能的目的。
14、均方误差(Mean Squared Error,MSE):也可称为平均平方差误差函数,在这里指的是模型预测的梅尔谱与真实梅尔谱之间的平方差作为模型优化的目标,平方差越小,说明模型预测的梅尔谱越精确。
15、交叉熵(Cross Entropy,CE):衡量预测分布与真实分布之间的差距的。在本申请中包括语音识别模型预测的音素分布与真实音素分布之间的误差,以及,对象识别模型预测的身份向量与真实身份向量之间的误差。
16、损失函数(loss):在机器学习中是指模型训练要最小化的目标。
结合上述介绍,下面将对本申请中语音合成模型的训练方法进行介绍,请参阅图3,本申请实施例中语音合成模型训练方法的一个实施例包括:
101、获取待训练样本对,其中,待训练样本对包括具有对应关系的待训练文本以及待训练音频,待训练文本对应于标注音素序列,待训练音频对应于真实梅尔谱;
本实施例中,语音合成模型训练模型获取待训练样本对,在实际训练中,通常需要获取大量的待训练样本对,为了便于说明,下面将以其中一个待训练样本对为例进行介绍。
具体地,一个待训练样本对包括两个部分,分别为待训练文本以及待训练音频,待训练文本表示为语言学特征,以原始文本为“语音合成”为例,其对应的待训练文本表示为为“v3 in1 h e2 ch eng2”,其中,“v”表示“语”字的音素,“3”表示“语”字的声调为第三声。“in”表示“音”字的音素,“1”表示“音”字的声调为第一声。“h”和“e”都是“合”字的音素,第一个“2”表示“合”字的声调为第二声。“ch”和“eng”都是“成”字的音素,第二个“2”表示“成”字的声调为第二声。
待训练音频是指读出原始文本的一个音频,例如,对象A朗读“语音合成”这四个字,并对进行录制,从而得到一个待训练音频(即得到语音信号)。由于待训练音频中高频部分信号较弱,因此,需要通过预加重(pre-emphasis)来提高高频信号,从而平衡高低频信号,这样可以避免傅里叶变换中数值运算问题,另外还可以提高信噪比(signal to noiseratio,SNR)。对待训练音频进行pre-emphasis滤波之后,还需要在时域上对信号进行滑窗傅里叶变换,而在傅里叶变换之前,为了防止能量泄露,可使用窗函数(例如,汉宁窗函数),经过短时傅里叶变换(short-time Fourier transform,STFT)处理之后,即可得到待训练音频的线性谱,线性谱维度通常较高,例如,n_fft=1024,hop size-240,其中,n_fft=1024表示使用尺寸为1024的窗口对输入进行采样,hop size=240表示两个相邻窗口之间错开240个采样点。基于此,取整个频谱,并将整个频谱划分成n_mels=80的等间距频率,其中,这里的等间距频率是指人耳听到的距离。最后,在生成真实梅尔谱时,对于每个窗口而言,信号在其分量中的幅值,与mel比例中的频率相对应。
真实梅尔谱根据分帧情况得到若干个采样点,假设每一帧为5毫秒(millisecond,ms),如果待训练音频共有1.56秒(即1560ms),则待训练音频被划分为312帧。基于此,还需要对每帧音频进行音素标注,由此得到真实的标注音素序列。其中,标注方式可以是机器标注或者人工标注,此处不做限定。
需要说明的是,语音合成模型训练模型部署于计算机设备,计算机设备可以是服务器,也可以是终端设备,本申请以语音合成模型训练模型部署于服务器为例进行说明,然而这不应理解为对本申请的限定。
102、基于待训练文本,通过语音合成模型获取第一梅尔谱;
本实施例中,语音合成模型训练模型将待训练文本输入至待训练的语音合成模型,由该语音合成模型输出第一梅尔谱,其中,该第一梅尔谱即为预测得到的结果。
103、基于第一梅尔谱,通过语音识别模型获取第一音素序列;
本实施例中,语音合成模型训练模型将预测的第一梅尔谱输入至预训练好的语音识别模型中,通过语音识别模型预测出第一音素序列,需要说明的是,第一音素序列与标注音素序列具有对应关系,例如,标注音素序列为312帧被标注过的音素序列,那么第一音素序列为312帧预测得到的音素序列,也就是说,待训练音频中的每一帧对应于一个被标注音素以及一个预测音素。
104、根据第一梅尔谱与真实梅尔谱之间的损失值,以及第一音素序列以及标注音素序列之间的损失值,对语音合成模型的模型参数进行更新。
本实施例中,语音合成模型训练模型在得到第一梅尔谱和第一音素序列之后,可计算第一梅尔谱与真实梅尔谱和之间的损失值,例如,该损失值为L1。还可以计算第一音素序列以及标注音素序列之间的损失值,例如,该损失值为L2。基于此,可采用如下方式计算综合损失值:
L=a*L1+b*L2;
其中,L表示综合损失值,a表示一个权重值,b表示另一个权重值,L1表示第一梅尔谱与真实梅尔谱和之间的损失值,L2表示第一音素序列以及标注音素序列之间的损失值。最后,以最小化综合损失值作为训练目标,通过随机梯度下降(stochastic gradientdescent,SGD)算法来优化语音合成模型的模型参数。
为了便于理解,请参阅图4,图4为本申请实施例中基于监督学习训练语音合成模型的一个框架示意图,如图所示,具体地,首先基于待训练文本以及待训练音频,获取真实梅尔谱以及标注音素序列。然后将待训练文本输入至语音合成模型,通过语音合成模型输出第一梅尔谱,基于第一梅尔谱以及真实梅尔谱,计算得到一个损失值。再将第一梅尔谱输入至语音识别模型,通过语音识别模型输出第一音素序列,基于第一音素序列以及标注音素序列,计算得到另一个损失值,最后,将两个损失值结合起来,对语音合成模型进行模型参数的更新。经过多次迭代之后,可训练得到性能较好的语音合成模型。
本申请实施例中,提供了一种语音合成模型的训练方法,首先获取待训练样本对,然后基于待训练文本,通过语音合成模型获取第一梅尔谱,再基于第一梅尔谱,通过语音识别模型获取第一音素序列,最后根据第一梅尔谱与真实梅尔谱之间的损失值,以及第一音素序列以及标注音素序列之间的损失值,对语音合成模型的模型参数进行更新。通过上述方式,将预训练好的语音识别模型引入至模型训练框架中,能够对待训练语音合成模型输出的梅尔谱进行识别,根据识别后的音素序列与标注音素序列确定语音识别误差,并且根据预测到的梅尔谱与真实梅尔谱确定频谱误差,结合语音识别误差和频谱误差综合评估语音合成模型,从而有利于训练得到预测效果更佳的语音合成模型,提升合成语音的准确度。
可选地,在上述图3对应的实施例的基础上,本申请实施例提供的语音合成模型训练方法的另一个可选实施例中,待训练音频来源于第一对象,第一对象对应于第一身份标识;
基于待训练文本,通过语音合成模型获取第一梅尔谱,具体包括如下步骤:
基于待训练文本以及第一身份标识,通过语音合成模型获取第一梅尔谱。
本实施例中,介绍了一种在GTA训练阶段引入说话人身份进行训练的方式。为了让预测得到合成语音能够更贴近某个说话人的真实语音,在模型训练的过程中,还可以加入第一身份标识,其中,第一身份标识即为第一对象的标识,而第一对象表示待训练音频所对应的说话人。
具体地,由于训练过程中往往会使用大量的待训练样本对,每个待训练样本对包括待训练文本以及待训练音频,有些待训练音频可能来源于同一个对象,有些待训练音频可能来源于不同对象。请参阅表1,表1为待训练音频与身份标识之间关系的一个示意。
表1
待训练音频 | 对象 | 身份标识 | 身份向量 |
1号待训练音频 | 汤姆 | 001 | (1,0,0,0) |
2号待训练音频 | 汤姆 | 001 | (1,0,0,0) |
3号待训练音频 | 汤姆 | 001 | (1,0,0,0) |
4号待训练音频 | 汤姆 | 001 | (1,0,0,0) |
5号待训练音频 | 汤姆 | 001 | (1,0,0,0) |
6号待训练音频 | 杰克 | 002 | (0,1,0,0) |
7号待训练音频 | 杰克 | 002 | (0,1,0,0) |
8号待训练音频 | 杰克 | 002 | (0,1,0,0) |
9号待训练音频 | 安娜 | 003 | (0,0,1,0) |
10号待训练音频 | 安娜 | 003 | (0,0,1,0) |
11号待训练音频 | 贝蒂 | 004 | (0,0,0,1) |
12号待训练音频 | 贝蒂 | 004 | (0,0,0,1) |
由表1可知,假设共有12个待训练样本对,即包括12个待训练音频,这些待训练音频来源于4个说话人,分别为“汤姆”、“杰克”、“安娜”和“贝蒂”,每个对象具有一个身份标识,不同对象的身份标识不一致。以4个对象为例,则身份向量分别包括4个元素,以独热(one-hot)向量的方式对身份标识进行编码,即每个元素对应的位置指示一个对象,比如,第一个元素为“1”,表示对象是“汤姆”,第二个元素为“1”,表示对象为“杰克”,以此类推,此处不做赘述。
基于此,假设本申请中的待训练音频是2号待训练音频,则第一对象为“汤姆”,第一身份标识为“001”。
结合上述介绍,为了便于理解,请参阅图5,图5为本申请实施例中基于监督学习训练语音合成模型的另一个框架示意图,如图所示,首先基于待训练文本以及待训练音频,获取真实梅尔谱以及标注音素序列,同时获取待训练音频所对应的第一身份标识。然后将待训练文本以及第一身份标识所对应的身份向量共同输入至语音合成模型,通过语音合成模型输出第一梅尔谱,基于第一梅尔谱以及真实梅尔谱,计算得到一个损失值。再将第一梅尔谱输入至语音识别模型,通过语音识别模型输出第一音素序列,基于第一音素序列以及标注音素序列,计算得到另一个损失值,最后,将两个损失值结合起来,对语音合成模型进行模型参数的更新。经过多次迭代之后,可训练得到性能较好的语音合成模型。
其次,本申请实施例中,提供了一种在GTA训练阶段引入说话人身份进行训练的方式,通过上述方式,能够更有针对性训练属于某个说话人的语音,使得最后合成的语音更贴近于某个说话人的真实语音,由此提升模型性能,增强语音个性化的效果。
可选地,在上述图3对应的实施例的基础上,本申请实施例提供的语音合成模型训练方法的另一个可选实施例中,根据第一梅尔谱与真实梅尔谱之间的损失值,以及第一音素序列以及标注音素序列之间的损失值,对语音合成模型的模型参数进行更新,具体包括如下步骤:
根据第一梅尔谱与真实梅尔谱,确定均方误差损失值;
根据第一音素序列以及标注音素序列,确定第一交叉熵损失值;
根据均方误差损失值以及第一交叉熵损失值,确定第一目标损失值;
根据第一目标损失值对语音合成模型的模型参数进行更新。
本实施例中,介绍了一种在GTA训练阶段使用交叉熵损失值和MSE损失值共同训练语音合成模型的方式。这里用到了两个损失值,一个是针对于第一梅尔谱与真实梅尔谱,计算得到的MSE,另一个是针对于第一音素序列以及标注音素序列,计算得到的CE损失值。基于此,可采用如下方式计算第一目标损失值:
第一目标损失值=w1*LMSE+w2*CE1;
其中,w1表示第一权重值,w2表示第二权重值,LMSE表示MSE损失值,CE1表示第一CE损失值。最后,以最小化第一目标损失值作为训练目标,通过SGD算法来优化语音合成模型的模型参数。如果第一目标损失值达到收敛,或者,训练迭代次数达到迭代次数阈值,则确定已经满足模型训练条件,即可输出语音合成模型。需要说明的是,语音合成模型还可以采用不同类型的网络结构,例如,tacotron、tacotron 2、clarinet以及Deepvoice等。为了便于理解,下面将分别介绍两种语音合成模型的网络结构。
示例性地,请参阅图6,图6为本申请实施例中语音合成模型的一个结构示意图,如图所示,语音合成模型包括四个模块,分别为内容编码器(Content Encoder)、注意力机制(Attention Mechanism)、自回归解码器(Autoregressive Decoder)以及梅尔谱后处理网络(Spectrogram Postnet)。其中,内容编码器可将输入的待训练文本转化成上下文相关的隐含特征,内容编码器通常由具有前后关联性的模型(例如,卷积滤波器组、高速公路网和双向门控循环单位)构成,经过内容编码器出来的特征具备建模上下文的能力。
注意力机制可结合解码器的当前状态来生成对应的内容上下文信息,以供解码器更好地预测下一帧频谱。语音合成是一个建立从文本序列到频谱序列的单调映射的任务,因此,在生成每一帧梅尔谱的时候,只需要聚焦一小部分音素内容即可,而这部分音素内容则是通过注意力机制来产生。本申请采用的注意力机制可以是位置敏感注意力(locationsensitive attention),即,将上一步的权重向量纳入当前步上下文向量的计算范围。
自回归解码器是以当前注意力机制产生的内容信息和上一帧预测的频谱来生成当前帧的频谱,由于需要依赖于上一帧的输出,所以称之为自回归解码器。也正是因为自回归的性质,在实际生产环境中,如果序列较长可能会出现错误累积而导致的发音错误情况。
梅尔谱后处理网络可以将解码器预测频谱进行平滑化,以便得到更高质量的频谱,即输出第一梅尔谱。由此可见,将之前训练好的语音识别成模型接入到梅尔谱后处理网络,来对每一帧的音素进行分类,并计算语音识别网络预测的类别分布与真实音素对应的标签分布之间的交叉熵。在这一阶段,语音合成网络的模型参数会由梅尔谱重构误差和音素分类CE进行联合更新。
示例性地,请参阅图7,图7为本申请实施例中语音合成模型的另一个结构示意图,如图所示,在待训练文本输入至语音合成模型之后,可以先预测持续时间,也就是需要顾及在说话时这些音素的发音时间,由于音素是基于上下文来决定它们的持续时间,因此,通过理解每个音素可预测它们的发音时长。接下来,需要进行基频预测,也就是说,为了让发音尽可能地接近人声,还想要预测出每个音素的音调和语调。由于相同的声音,读出不同的音调和重音具有完全不同的含义。预测每个音素的频率有助于发好每一个音素,因为频率会告诉系统,什么音素该发什么音高和什么音调。此外,一些音素并不完全都发浊音,这意味着发这些音不需要每次都震动声带。最后合并待训练文本、持续时间和频率,输出音频,于是将音频转换为梅尔谱,即得到的第一梅尔谱。
其次,本申请实施例中,提供了一种在GTA训练阶段使用交叉熵损失值和MSE损失值共同训练语音合成模型的方式,通过上述方式,仅从MSE损失值来判断一个模型是否达到最优,但这并不足以保证模型的发音准确度,因此,还可以结合音素序列之间的交叉熵损失值,从而能够反映模型在发音上的准确度,由此提升合成语音的准确度。
可选地,在上述图3对应的实施例的基础上,本申请实施例提供的语音合成模型训练方法的另一个可选实施例中,根据第一梅尔谱与真实梅尔谱,确定均方误差损失值,具体包括如下步骤:
获取第一梅尔谱所对应的M帧预测频率幅度向量,其中,M帧预测频率幅度向量中的每帧预测频率幅度向量对应于待训练音频中的一帧音频信号,M为大于或等于1的整数;
获取真实梅尔谱所对应的M帧标注频率幅度向量,其中,M帧标注频率幅度向量中的每帧标注频率幅度向量对应于待训练音频中的一帧音频信号;
根据M帧预测频率幅度向量确定预测频率幅度平均值;
根据M帧标注频率幅度向量确定标注频率幅度平均值;
根据预测频率幅度平均值以及标注频率幅度平均值,确定M帧频率幅度差值;
对M帧频率幅度差值进行求平均值处理,得到均方误差损失值。
本实施例中,介绍一种在GTA训练阶段中确定MSE损失值的方式。在GTA阶段主要采用教与学(teacher-student)框架进行训练,基于第一梅尔谱与真实梅尔谱重构误差,将整个模型训练得到一个比较稳定的效果。以图6所示的语音合成模型为例,如果将注意力机制替换为显式的时长模型(例如,长短期记忆网络(Long Short-Term Memory,LSTM)),能够使得对齐的稳定性进一步提高,另外,梅尔谱重构损失可以采用动态时间规整(Dynamic TimeWarping,DTW),可以进一步提升预测的梅尔谱的质量。
具体地,假设梅尔谱包括M帧音频信号,例如,[M,D]中的M表示音频信号帧数,D表示梅尔级别频率分量,具体数值表示幅度。基于此,采用如下方式计算MSE损失值:
其中,MSE表示MSE损失值,M表示音频信号帧数,m表示第m帧音频信号,ym表示第m帧音频信号的预测频率幅度向量,且该预测频率幅度向量可包括D份数值(D可为80),表示第m帧音频信号的标注频率幅度向量。D表示每个频率幅度向量所包括的份数。因此,ym/D表示预测频率幅度平均值,表示标注频率幅度平均值。
再次,本申请实施例中,提供了一种在GTA训练阶段中确定MSE损失值的方式,通过上述方式,能够有效地利用预测得到的第一梅尔谱以及标注得到的真实梅尔谱,计算两者之间的MSE损失值,MSE损失值能够衡量两个梅尔谱之间的平均差异情况,从而在训练过程中能够尽可能缩小梅尔谱之间的差异。
可选地,在上述图3对应的实施例的基础上,本申请实施例提供的语音合成模型训练方法的另一个可选实施例中,根据第一音素序列以及标注音素序列,确定第一交叉熵损失值,具体包括如下步骤:
获取第一音素序列所对应的M帧预测音素向量,其中,M帧预测音素向量中的每帧预测音素向量对应于待训练音频中的一帧音频信号,M为大于或等于1的整数;
获取标注音素序列所对应的M帧标注音素向量,其中,M帧标注音素向量中的每帧标注音素向量对应于待训练音频中的一帧音频信号;
根据M帧预测音素向量以及M帧标注音素向量,确定M帧音素的交叉熵损失值;
对M帧音素的交叉熵损失值进行求平均值处理,得到第一交叉熵损失值。
本实施例中,介绍了一种在GTA训练阶段中确定第一CE损失值的方式。待训练文本中包含了每一帧所代表的音素,因此,从待训练文本中提取出真实的标注音素序列,再跟语音识别网络中预测出来的第一音素序列所对应的概率分布结合计算出CE即可。
具体地,假设梅尔谱包括M帧音频信号,每帧音频信号对应一个音素向量(即概率分布向量),且每帧音频信号对应一个音素。以共有50个音素为例,那么一个音素向量表示为50维度的向量。基于此,采用如下方式计算M帧音素的CE损失值:
最后,对M帧音素的CE损失值求平均,即除以M,由此得到第一CE损失值。
再次,本申请实施例中,提供了一种在GTA训练阶段中确定第一CE损失值的方式,通过上述方式,能够有效地利用预测得到的第一音素序列与标注音素序列,计算两者之间的CE损失,CE损失能够以帧为单位,预测每帧对应音素之间的分类差异,从而在训练的过程中能够尽可能缩小音素之间的差异。
可选地,在上述图3对应的实施例的基础上,本申请实施例提供的语音合成模型训练方法的另一个可选实施例中,根据第一梅尔谱与真实梅尔谱之间的损失值,以及第一音素序列以及标注音素序列之间的损失值,对语音合成模型的模型参数进行更新之后,还包括如下步骤:
获取待测试文本以及待测试文本所对应的第二身份标识,其中,第二身份标识对应于第二对象;
基于待测试文本,通过语音合成模型获取第二梅尔谱;
基于第二梅尔谱,通过对象识别模型获取预测身份标识;
基于第二梅尔谱,通过语音识别模型获取第二音素序列;
基于待测试文本,通过语音合成模型获取权重矩阵;
根据权重矩阵确定目标音素序列;
根据第二身份标识与预测身份标识之间的损失值,以及第二音素序列以及目标音素序列之间的损失值,对语音合成模型的模型参数进行更新。
本实施例中,介绍了一种在free running训练阶段训练语音合成模型的方式。在free running阶段,由于没有真实的梅尔谱,因此,不知道真实的音素序列,而基于注意力机制中的权重矩阵可以近似得到每一帧梅尔谱所对应的音素概率分布,即得到目标音素序列。于是有了计算CE损失值的真实标签,再结合语音识别模型预测的第二音素序列,即可计算两个音素序列之间的交叉熵。
在GTA训练阶段完成以后,可以收集大量不在训练集内部的文本以及偏僻不通顺的句子,并将它们传入语音合成模型,进而得到预测的梅尔谱,由于没有真实梅尔谱,所以无法计算预测梅尔谱与真实梅尔谱之间的重构误差。但是,可以从注意力机制中的权重矩阵提取到频谱与音素之间的对齐关系,基于此对齐关系,再把梅尔谱传入语音识别模型中,即可计算到音素分布之间的交叉熵,把它传递到语音合成模型可进一步提高发音稳定性。
为了便于介绍,请参阅图8,图8为本申请实施例中基于自监督学习训练语音合成模型的一个框架示意图,如图所示,具体地,首先获取待测试文本以及第一身份标识,然后将待测试文本输入至语音合成模型,通过语音合成模型中的注意力网络输出权重矩阵,将权重矩阵与帧对齐之后得到目标音素序列。通过语音合成模型输出第二梅尔谱,再将第二梅尔谱输入至语音识别模型,通过语音识别模型输出第二音素序列。基于目标音素序列以及第二音素序列,计算得到一个损失值。将第二梅尔谱输入至对象识别模型(例如,SpeakerIdentification),由此得到预测身份标识。基于预测身份标识以及第一身份标识,计算得到另一个损失值。最后,将两个损失值结合起来,对语音合成模型进行模型参数的更新。经过多次迭代之后,可训练得到性能较好的语音合成模型。
其次,本申请实施例中,提供了一种在free running训练阶段训练语音合成模型的方式,通过上述方式,将语音识别技术和说话人识别技术应用到基于注意力机制的模型训练任务中,通过分阶段式的训练,让语音合成模型能在少语料或单一语言语料上保持更准确的发音能力和更高的相似度。充分利用了自监督学习的优势,并且显著降低自适应语音合成技术对数据多样性的依赖,从而让模型保持更强的鲁棒性。此外,结合ASR误差能够有效改善现有模型的评估成本太高的问题。由于现有模型的效果只能靠人耳去试听,人工测试句子有限,无法对模型效果有一个较为全面的认知,而本申请可以有效解决这个难题。
可选地,在上述图3对应的实施例的基础上,本申请实施例提供的语音合成模型训练方法的另一个可选实施例中,根据第二身份标识与预测身份标识之间的损失值,以及第二音素序列以及目标音素序列之间的损失值,对语音合成模型的模型参数进行更新,具体包括如下步骤:
根据第二身份标识与预测身份标识,确定第二交叉熵损失值;
根据第二音素序列以及目标音素序列,确定第三交叉熵损失值;
根据第二交叉熵损失值以及第三交叉熵损失值,确定第二目标损失值;
根据第二目标损失值对语音合成模型的模型参数进行更新。
本实施例中,介绍了一种在free running训练阶段使用两个交叉熵损失值共同训练语音合成模型的方式。这里用到了两个损失值,一个是针对于第二音素序列以及目标音素序列,计算得到的第三CE损失值,另一个是针对于第一音素序列以及标注音素序列,计算得到的CE损失值。基于此,可采用如下方式计算第二目标损失值:
第二目标损失值=w3*CE2+w4*CE3;
其中,w3表示第三权重值,w4表示第四权重值,CE2表示第二CE损失值,CE3表示第三CE损失值。最后,以最小化第二目标损失值作为训练目标,通过SGD算法来优化语音合成模型的模型参数。如果第二目标损失值达到收敛,或者,训练迭代次数达到迭代次数阈值,则确定已经满足模型训练条件,即可输出语音合成模型。
再次,本申请实施例中,提供了一种在free running训练阶段使用两个交叉熵损失值共同训练语音合成模型的方式,通过上述方式,结合任意文本的自监督学习,使得模型在训练阶段具有更多不同领域不同难度的文本,这样就降低了对录音语料的数量和内容的要求。同时,本申请将准确朗读每一帧的音素准确性融入CE损失函数函数中,可以显著降低现有语音合成系统在未知文本上出错的概率。
可选地,在上述图3对应的实施例的基础上,本申请实施例提供的语音合成模型训练方法的另一个可选实施例中,根据第二身份标识与预测身份标识,确定第二交叉熵损失值,具体包括如下步骤:
获取第二身份标识所对应的标注身份向量;
获取预测身份标识所对应的预测身份向量;
根据标注身份向量以及预测身份向量,确定第二交叉熵损失值。
本实施例中,介绍了一种在free running训练阶段中确定第二CE损失值的方式。在free running阶段,为了防止因模型更新不稳定而导致的发音人音色偏离原本音色的情况出现,加入对象识别模型,将梅尔谱作为对象识别模型的输入继而得到音色分布的误差,将此误差传递到语音合成模型即可对模型的参数进行约束,以保证模型合成的音频与原始发音人之间保有较高的相似度。在模型训练的过程中,还可以加入第二身份标识,其中,第二身份标识即为第二对象的标识,而第二对象表示在GAT训练阶段中某个待训练音频所对应的说话人。
具体地,每帧身份标识对应一个身份向量(即概率分布向量)。以共有500个对象为例,那么一个身份向量表示为500维度的向量。基于此,可以采用如下方式计算第二CE损失值:
进一步地,本申请实施例中,提供了一种在free running训练阶段中确定第二CE损失值的方式,通过上述方式,将说话人验证技术融入到语音合成模型中,能有效防止因参数更新而对发音人音色发生偏离的现象,进一步提升了语音合成的效果与稳定性。在freerunning阶段,仅以文本而不需要音频来训练网络,摒弃了对录音音频的依赖,并且在freerunning阶段,可以运用大量生僻的文本语料来增强语音合成模型的效果。
可选地,在上述图3对应的实施例的基础上,本申请实施例提供的语音合成模型训练方法的另一个可选实施例中,根据第二音素序列以及目标音素序列,确定第三交叉熵损失值,具体包括如下步骤:
获取第二音素序列所对应的N帧预测音素向量,其中,N帧预测音素向量中的每帧预测音素向量对应于一帧音频信号,N为大于或等于1的整数;
获取目标音素序列所对应的N帧音素向量,其中,N帧音素向量中的每帧音素向量对应于一帧音频信号;
根据N帧预测音素向量以及N帧音素向量,确定N帧音素的交叉熵损失值;
对N帧音素的交叉熵损失值进行求平均值处理,得到第三交叉熵损失值。
本实施例中,介绍了一种在free running训练阶段中确定第三CE损失值的方式。待测试文本中包含了每一帧所代表的音素,因此,基于待测试文本预估出的目标音素序列,再跟语音识别网络中预测出来的第二音素序列所对应的概率分布结合计算出CE即可。
具体地,假设梅尔谱包括N帧音频信号,每帧音频信号对应一个音素向量(即概率分布向量)。以共有50个音素为例,那么一个音素向量表示为50维度的向量。基于此,采用如下方式计算N帧音素的CE损失值:
最后,对N帧音素的CE损失值求平均,即除以N,由此得到第三CE损失值。
进一步地,本申请实施例中,提供了一种在free running训练阶段中确定第三CE损失值的方式,通过上述方式,待测试文本中包含了每一帧所代表的音素,因此,基于待测试文本得到真实的目标音素序列,再跟语音识别网络中预测出来的第二音素序列所对应的概率分布结合计算出CE即可。
可选地,在上述图3对应的实施例的基础上,本申请实施例提供的语音合成模型训练方法的另一个可选实施例中,还可以包括如下步骤:
根据第一梅尔谱与真实梅尔谱之间的损失值,以及第一音素序列以及标注音素序列之间的损失值,对语音识别模型的模型参数进行更新。
本实施例中,介绍了一种在GTA训练阶段还可以对语音识别模型进行调优的方式,这里用到了两个损失值,一个是针对于第一梅尔谱与真实梅尔谱,计算得到的MSE,另一个是针对于第一音素序列以及标注音素序列,计算得到的CE损失值。基于此,得到得到第一目标损失值,最后,以最小化第一目标损失值作为训练目标,通过SGD算法来优化语音识别模型的模型参数。
在free running阶段,也可以对语音识别模型的模型参数进行调优。这里也用到了两个损失值,一个是针对于第二身份标识与预测身份标识,计算得到的CE损失,另一个是针对于第二音素序列以及目标音素序列,计算得到的CE损失值。基于此,得到得到第二目标损失值,最后,以最小化第二目标损失值作为训练目标,通过SGD算法来优化语音识别模型的模型参数。
需要说明的是,本申请涉及的语音识别模型具体可以是ASR模型,ASR模型可采用混合模型(Hybrid Model)的结构,例如,高斯混合模型(Gaussian Mixture Model,GMM)和隐马尔科夫模型(Hidden Markov Model,HMM),深度神经网络(Deep Neural Network,DNN)以及HMM,LSTM和HMM,卷积神经网络(Convolutional Neural Networks,CNN)和HMM,循环神经网络(Recurrent Neural Network,RNN)和HMM。ASR模型也可采用单一模型,例如,LSTM,DNN,CNN,HMM以及RNN等,此处不做限定。
其次,本申请实施例中,提供了一种在GTA训练阶段还可以对语音识别模型进行调优的方式,通过上述方式,在监督学习的过程中,不但可以对语音合成模型进行训练,同时还可以对已训练过的语音识别模型进行调优,这样的话,能够使得语音识别模型输出更准确的音素序列,由此,进一步提升模型的性能。
结合上述介绍,在语音合成模型训练完成之后,能够利用语音合成模型对数据进行增广,极具普适性。本申请可以应用到具有语音合成能力的产品中,包含但不限于智能音箱、有屏音箱、智能手表、智能手机、智能家居以及智能汽车等智能设备,还可以应用于智能机器人、AI客服以及TTS云服务等等,其使用方案都可以通过本申请提出的自监督学习算法来加强发音的稳定性和减少对训练数据的依赖。基于此,下面将对本申请中语音合成方法进行介绍,请参阅图9,本申请实施例中语音合成方法的一个实施例包括:
201、获取待合成文本;
本实施例中,语音合成装置获取待合成文本,待合成文本表示为语言学特征。以原始文本为“语音合成”为例,其对应的待合成文本表示为为“v3 in1 h e2 ch eng2”。
需要说明的是,语音合成装置部署于计算机设备,计算机设备可以是终端设备,也可以是服务器,本申请以语音合成装置部署于终端设备为例进行说明,然而这不应理解为对本申请的限定。
202、基于待合成文本,通过语音合成模型获取目标梅尔谱,其中,语音合成模型为根据上述实施例中描述的训练方法训练得到的;
本实施例中,语音合成装置将调用已训练好的语音合成模型,对待合成文本进行处理,得到目标梅尔谱。
203、根据目标梅尔谱生成目标合成语音。
本实施例中,语音合成装置可将目标梅尔谱逆变换为时域波形样本。具体地,可采用声波网络(WaveNet)模型将目标梅尔谱变换为时域波形样本,根据时域波形样本即可得到目标合成语音。梅尔声谱图与STFT声谱图相关。相对于语言和声音特征而言,梅尔声谱图是一个比较简单,低水平的表现,WaveNet模型通过这种表现能够直接生成音频。需要说明的是,还可以使用其他方式,将目标梅尔谱转换为目标合成语音,此处仅为一个示意,不应理解为对本申请的限定。
具体地,以语音合成产品为例进行介绍,请参阅图10,图10为本申请实施例中语音合成界面的一个示意图,如图所示,用户可以直接在语音合成界面中输入原始文本,例如,“语音合成”,于是在文本预览框中可以看到用户输入的原始文本,或者,用户可点击“上传”按钮,以此选择一段原始文本直接进行上传。基于用户输入的原始文本或者上传的原始文本,可自动生成相应的待合成文本。当用户点击“合成”按钮时,可将待合成文本上传至服务器,由服务器调用语音合成模型对待合成文本进行处理,得到目标梅尔谱。又或者,当用户点击“合成”按钮时,由终端设备调用本地的语音合成模型对待合成文本进行处理,得到目标梅尔谱。最后,根据目标梅尔谱生成目标合成语音。当用户点击“试听”按钮时,可通过终端设备播放目标合成语音。
本申请实施例中,提供了一种语音合成方法,首先获取待合成文本,然后基于待合成文本,通过语音合成模型获取目标梅尔谱,最后根据目标梅尔谱生成目标合成语音。通过上述方式,将预训练好的语音识别模型引入至模型训练框架中,能够对待训练语音合成模型输出的梅尔谱进行识别,根据识别后的音素序列与标注音素序列确定语音识别误差,并且根据预测到的梅尔谱与真实梅尔谱确定频谱误差,结合语音识别误差和频谱误差综合评估语音合成模型,有利于训练得到预测效果更佳的语音合成模型,从而能够提升合成语音的准确度。
可选地,在上述图9对应的实施例的基础上,本申请实施例提供的语音合成方法的另一个可选实施例中,还可以包括如下步骤:
获取目标身份标识;
基于待合成文本,通过语音合成模型获取目标梅尔谱,具体包括如下步骤:
基于待合成文本以及目标身份标识,通过语音合成模型获取目标梅尔谱。
本实施例中,介绍了一种合成某个对象的语音的方式。由于在模型训练的过程中,为了让预测得到合成语音能够更贴近某个说话人的真实语音,还可以加入身份标识作为模型的输入,基于此,在模型预测的过程中,也可以加入需要模拟的对象标识,即输入目标身份标识,语音合成模型根据目标身份标识以及待合成文本,输出目标梅尔谱,最后将目标梅尔谱转换为目标合成语音。
具体地,以语音合成产品为例进行介绍,请参阅图11,图11为本申请实施例中语音合成界面的另一个示意图,如图所示,用户可以直接在语音合成界面中输入原始文本,例如,“语音合成”,于是在文本预览框中可以看到用户输入的原始文本,或者,用户可点击“上传”按钮,以此选择一段原始文本直接进行上传。此外,用户还可以在语音合成界面上选择待合成对象,例如,可以选择合成某个相声演员的语音,即触发针对该相声演员的选择指令,选择指令中携带的目标身份标识为该相声演员的身份标识,例如,006。基于用户输入的原始文本或者上传的原始文本,可自动生成相应的待合成文本。当用户点击“合成”按钮时,可将待合成文本以及用户选择的目标身份标识上传至服务器,由服务器调用语音合成模型对待合成文本和目标身份标识进行处理,得到目标梅尔谱。又或者,当用户点击“合成”按钮时,由终端设备调用本地的语音合成模型对待合成文本以及用户选择的目标身份标识进行处理,得到目标梅尔谱。最后,根据目标梅尔谱生成目标合成语音。当用户点击“试听”按钮时,可通过终端设备播放目标合成语音。
由于本申请所提出的可用于增强语音合成效果的自监督算法,一方面可以提高语音合成模型的效果,另一方面可以降低数据获取成本。基于这两个优势,可用于明星声音的定制,由于明星通常时间安排紧凑,能获取的干净语料较少。同时,也可用于在线教育中老师的声音定制,由于在线教育老师人数众多,同时答疑工作十分繁琐,本申请可以仅需少量的老师的录制音频即可实现对老师声音的定制,减轻老师的负担,并使得答疑音色更加拟人化。
其次,本申请实施例中,提供了一种合成某个对象的语音的方式,通过上述方式,还可以加入目标身份标识,目标身份标识即为目标对象的身份标识,因此,合成的目标合成语音更符合目标对象的语音特色,从而提升语音合成效果。
下面对本申请中的语音合成模型训练装置进行详细描述,请参阅图12,图12为本申请实施例中语音合成模型训练装置的一个实施例示意图,语音合成模型训练装置30包括:
获取模块301,用于获取待训练样本对,其中,待训练样本对包括具有对应关系的待训练文本以及待训练音频,待训练文本对应于标注音素序列,待训练音频对应于真实梅尔谱;
获取模块301,还用于基于待训练文本,通过语音合成模型获取第一梅尔谱;
获取模块301,还用于基于第一梅尔谱,通过语音识别模型获取第一音素序列;
训练模块302,用于根据第一梅尔谱与真实梅尔谱之间的损失值,以及第一音素序列以及标注音素序列之间的损失值,对语音合成模型的模型参数进行更新。
本申请实施例中,提供了一种语音合成模型训练装置,采用上述装置,将预训练好的语音识别模型引入至模型训练框架中,能够对待训练语音合成模型输出的梅尔谱进行识别,根据识别后的音素序列与标注音素序列确定语音识别误差,并且根据预测到的梅尔谱与真实梅尔谱确定频谱误差,结合语音识别误差和频谱误差综合评估语音合成模型,从而有利于训练得到预测效果更佳的语音合成模型,提升合成语音的准确度。
可选地,在上述图12所对应的实施例的基础上,本申请实施例提供的语音合成模型训练装置30的另一实施例中,待训练音频来源于第一对象,第一对象对应于第一身份标识;
获取模块301,具体用于基于待训练文本以及第一身份标识,通过语音合成模型获取第一梅尔谱。
本申请实施例中,提供了一种语音合成模型训练装置,采用上述装置,能够更有针对性训练属于某个说话人的语音,使得最后合成的语音更贴近于某个说话人的真实语音,由此提升模型性能,增强语音个性化的效果。
可选地,在上述图12所对应的实施例的基础上,本申请实施例提供的语音合成模型训练装置30的另一实施例中,
训练模块302,具体用于根据第一梅尔谱与真实梅尔谱,确定均方误差损失值;
根据第一音素序列以及标注音素序列,确定第一交叉熵损失值;
根据均方误差损失值以及第一交叉熵损失值,确定第一目标损失值;
根据第一目标损失值对语音合成模型的模型参数进行更新。
本申请实施例中,提供了一种语音合成模型训练装置,采用上述装置,仅从MSE损失值来判断一个模型是否达到最优,但这并不足以保证模型的发音准确度,因此,还可以结合音素序列之间的交叉熵损失值,从而能够反映模型在发音上的准确度,由此提升合成语音的准确度。
可选地,在上述图12所对应的实施例的基础上,本申请实施例提供的语音合成模型训练装置30的另一实施例中,
训练模块,具体用于获取第一梅尔谱所对应的M帧预测频率幅度向量,其中,M帧预测频率幅度向量中的每帧预测频率幅度向量对应于待训练音频中的一帧音频信号,M为大于或等于1的整数;
获取真实梅尔谱所对应的M帧标注频率幅度向量,其中,M帧标注频率幅度向量中的每帧标注频率幅度向量对应于待训练音频中的一帧音频信号;
根据M帧预测频率幅度向量确定预测频率幅度平均值;
根据M帧标注频率幅度向量确定标注频率幅度平均值;
根据预测频率幅度平均值以及标注频率幅度平均值,确定M帧频率幅度差值;
对M帧频率幅度差值进行求平均值处理,得到均方误差损失值。
本申请实施例中,提供了一种语音合成模型训练装置,采用上述装置,
本申请实施例中,提供了一种语音合成模型训练装置,采用上述装置,能够有效地利用预测得到的第一梅尔谱以及标注得到的真实梅尔谱,计算两者之间的MSE损失值,MSE损失值能够衡量两个梅尔谱之间的平均差异情况,从而在训练过程中能够尽可能缩小梅尔谱之间的差异。
可选地,在上述图12所对应的实施例的基础上,本申请实施例提供的语音合成模型训练装置30的另一实施例中,
训练模块302,具体用于获取第一音素序列所对应的M帧预测音素向量,其中,M帧预测音素向量中的每帧预测音素向量对应于待训练音频中的一帧音频信号,M为大于或等于1的整数;
获取标注音素序列所对应的M帧标注音素向量,其中,M帧标注音素向量中的每帧标注音素向量对应于待训练音频中的一帧音频信号;
根据M帧预测音素向量以及M帧标注音素向量,确定M帧音素的交叉熵损失值;
对M帧音素的交叉熵损失值进行求平均值处理,得到第一交叉熵损失值。
本申请实施例中,提供了一种语音合成模型训练装置,采用上述装置,
本申请实施例中,提供了一种语音合成模型训练装置,采用上述装置,能够有效地利用预测得到的第一音素序列与标注音素序列,计算两者之间的CE损失,CE损失能够以帧为单位,预测每帧对应音素之间的分类差异,从而在训练的过程中能够尽可能缩小音素之间的差异。
可选地,在上述图12所对应的实施例的基础上,本申请实施例提供的语音合成模型训练装置30的另一实施例中,语音合成模型训练装置30还包括确定模块303;
获取模块301,还用于在训练模块根据第一梅尔谱与真实梅尔谱之间的损失值,以及第一音素序列以及标注音素序列之间的损失值,对语音合成模型的模型参数进行更新之后,获取待测试文本以及待测试文本所对应的第二身份标识,其中,第二身份标识对应于第二对象;
获取模块301,还用于基于待测试文本,通过语音合成模型获取第二梅尔谱;
获取模块301,还用于基于第二梅尔谱,通过对象识别模型获取预测身份标识;
获取模块301,还用于基于第二梅尔谱,通过语音识别模型获取第二音素序列;
获取模块301,还用于基于待测试文本,通过语音合成模型获取权重矩阵;
确定模块303,用于根据权重矩阵确定目标音素序列;
训练模块302,还用于根据第二身份标识与预测身份标识之间的损失值,以及第二音素序列以及目标音素序列之间的损失值,对语音合成模型的模型参数进行更新。
本申请实施例中,提供了一种语音合成模型训练装置,采用上述装置,将语音识别技术和说话人识别技术应用到基于注意力机制的模型训练任务中,通过分阶段式的训练,让语音合成模型能在少语料或单一语言语料上保持更准确的发音能力和更高的相似度。充分利用了自监督学习的优势,并且显著降低自适应语音合成技术对数据多样性的依赖,从而让模型保持更强的鲁棒性。此外,结合ASR误差能够有效改善现有模型的评估成本太高的问题。由于现有模型的效果只能靠人耳去试听,人工测试句子有限,无法对模型效果有一个较为全面的认知,而本申请可以有效解决这个难题。
可选地,在上述图12所对应的实施例的基础上,本申请实施例提供的语音合成模型训练装置30的另一实施例中,
训练模块302,具体用于根据第二身份标识与预测身份标识,确定第二交叉熵损失值;
根据第二音素序列以及目标音素序列,确定第三交叉熵损失值;
根据第二交叉熵损失值以及第三交叉熵损失值,确定第二目标损失值;
根据第二目标损失值对语音合成模型的模型参数进行更新。
本申请实施例中,提供了一种语音合成模型训练装置,采用上述装置,结合任意文本的自监督学习,使得模型在训练阶段具有更多不同领域不同难度的文本,这样就降低了对录音语料的数量和内容的要求。同时,本申请将准确朗读每一帧的音素准确性融入CE损失函数函数中,可以显著降低现有语音合成系统在未知文本上出错的概率。
可选地,在上述图12所对应的实施例的基础上,本申请实施例提供的语音合成模型训练装置30的另一实施例中,
训练模块302,具体用于获取第二身份标识所对应的标注身份向量;
获取预测身份标识所对应的预测身份向量;
根据标注身份向量以及预测身份向量,确定第二交叉熵损失值。
本申请实施例中,提供了一种语音合成模型训练装置,采用上述装置,将说话人验证技术融入到语音合成模型中,能有效防止因参数更新而对发音人音色发生偏离的现象,进一步提升了语音合成的效果与稳定性。在free running阶段,仅以文本而不需要音频来训练网络,摒弃了对录音音频的依赖,并且在free running阶段,可以运用大量生僻的文本语料来增强语音合成模型的效果。
可选地,在上述图12所对应的实施例的基础上,本申请实施例提供的语音合成模型训练装置30的另一实施例中,
训练模块302,具体用于获取第二音素序列所对应的N帧预测音素向量,其中,N帧预测音素向量中的每帧预测音素向量对应于一帧音频信号,N为大于或等于1的整数;
获取目标音素序列所对应的N帧音素向量,其中,N帧音素向量中的每帧音素向量对应于一帧音频信号;
根据N帧预测音素向量以及N帧音素向量,确定N帧音素的交叉熵损失值;
对N帧音素的交叉熵损失值进行求平均值处理,得到第三交叉熵损失值。
本申请实施例中,提供了一种语音合成模型训练装置,采用上述装置,待测试文本中包含了每一帧所代表的音素,因此,基于待测试文本得到真实的目标音素序列,再跟语音识别网络中预测出来的第二音素序列所对应的概率分布结合计算出CE即可。
可选地,在上述图12所对应的实施例的基础上,本申请实施例提供的语音合成模型训练装置30的另一实施例中,
训练模块302,还用于根据第一梅尔谱与真实梅尔谱之间的损失值,以及第一音素序列以及标注音素序列之间的损失值,对语音识别模型的模型参数进行更新。
本申请实施例中,提供了一种语音合成模型训练装置,采用上述装置,在监督学习的过程中,不但可以对语音合成模型进行训练,同时还可以对已训练过的语音识别模型进行调优,这样的话,能够使得语音识别模型输出更准确的音素序列,由此,进一步提升模型的性能。
下面对本申请中的语音合成装置进行详细描述,请参阅图13,图13为本申请实施例中语音合成装置的一个实施例示意图,语音合成装置40包括:
获取模块401,用于获取待合成文本;
获取模块401,还用于基于待合成文本,通过语音合成模型获取目标梅尔谱,其中,语音合成模型为根据上述实施例提供的训练方法训练得到的;
生成模块402,用于根据目标梅尔谱生成目标合成语音。
本申请实施例中,提供了一种语音合成装置,采用上述装置,将预训练好的语音识别模型引入至模型训练框架中,能够对待训练语音合成模型输出的梅尔谱进行识别,根据识别后的音素序列与标注音素序列确定语音识别误差,并且根据预测到的梅尔谱与真实梅尔谱确定频谱误差,结合语音识别误差和频谱误差综合评估语音合成模型,有利于训练得到预测效果更佳的语音合成模型,从而能够提升合成语音的准确度。
可选地,在上述图13所对应的实施例的基础上,本申请实施例提供的语音合成装置40的另一实施例中,
获取模块401,还用于获取目标身份标识;
获取模块401,具体用于基于待合成文本以及目标身份标识,通过语音合成模型获取目标梅尔谱。
本申请实施例中,提供了一种语音合成装置,采用上述装置,还可以加入目标身份标识,目标身份标识即为目标对象的身份标识,因此,合成的目标合成语音更符合目标对象的语音特色,从而提升语音合成效果。
本申请提供的语音合成模型训练装置和语音合成装置可部署于服务器,请参阅图14,图14是本申请实施例提供的一种服务器结构示意图,该服务器500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)522(例如,一个或一个以上处理器)和存储器532,一个或一个以上存储应用程序542或数据544的存储介质530(例如一个或一个以上海量存储设备)。其中,存储器532和存储介质530可以是短暂存储或持久存储。存储在存储介质530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器522可以设置为与存储介质530通信,在服务器500上执行存储介质530中的一系列指令操作。
服务器500还可以包括一个或一个以上电源526,一个或一个以上有线或无线网络接口550,一个或一个以上输入输出接口558,和/或,一个或一个以上操作系统541,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
在本申请实施例中,该服务器所包括的CPU 522还具有以下功能:
获取待训练样本对,其中,所述待训练样本对包括具有对应关系的待训练文本以及待训练音频,所述待训练文本对应于标注音素序列,所述待训练音频对应于真实梅尔谱;
基于所述待训练文本,通过语音合成模型获取第一梅尔谱;
基于所述第一梅尔谱,通过语音识别模型获取第一音素序列;
根据所述第一梅尔谱与所述真实梅尔谱之间的损失值,以及所述第一音素序列以及所述标注音素序列之间的损失值,对所述语音合成模型的模型参数进行更新。
在本申请实施例中,该服务器所包括的CPU 522还具有以下功能:
获取待合成文本;
基于所述待合成文本,通过语音合成模型获取目标梅尔谱;
根据所述目标梅尔谱生成目标合成语音。
上述实施例中由服务器所执行的步骤可以基于该图14所示的服务器结构。
本申请提供的语音合成模型训练装置和语音合成装置可部署于服务器,如图15所示,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。在本申请实施例中,以终端设备为智能手机为例进行说明:
图15示出的是与本申请实施例提供的终端设备相关的智能手机的部分结构的框图。参考图15,智能手机包括:射频(radio frequency,RF)电路610、存储器620、输入单元630、显示单元640、传感器650、音频电路660、无线保真(wireless fidelity,WiFi)模块670、处理器680、以及电源690等部件。本领域技术人员可以理解,图15中示出的智能手机结构并不构成对智能手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图15对智能手机的各个构成部件进行具体的介绍:
RF电路610可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器680处理;另外,将设计上行的数据发送给基站。通常,RF电路610包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(low noiseamplifier,LNA)、双工器等。此外,RF电路610还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(globalsystem of mobile communication,GSM)、通用分组无线服务(general packet radioservice,GPRS)、码分多址(code division multiple access,CDMA)、宽带码分多址(wideband code division multiple access,WCDMA)、长期演进(long term evolution,LTE)、电子邮件、短消息服务(short messaging service,SMS)等。
存储器620可用于存储软件程序以及模块,处理器680通过运行存储在存储器620的软件程序以及模块,从而执行智能手机的各种功能应用以及数据处理。存储器620可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据智能手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器620可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元630可用于接收输入的数字或字符信息,以及产生与智能手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元630可包括触控面板631以及其他输入设备632。触控面板631,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板631上或在触控面板631附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板631可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器680,并能接收处理器680发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板631。除了触控面板631,输入单元630还可以包括其他输入设备632。具体地,其他输入设备632可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元640可用于显示由用户输入的信息或提供给用户的信息以及智能手机的各种菜单。显示单元640可包括显示面板641,可选的,可以采用液晶显示器(liquidcrystal display,LCD)、有机发光二极管(organic light-emitting diode,OLED)等形式来配置显示面板641。进一步的,触控面板631可覆盖显示面板641,当触控面板631检测到在其上或附近的触摸操作后,传送给处理器680以确定触摸事件的类型,随后处理器680根据触摸事件的类型在显示面板641上提供相应的视觉输出。虽然在图15中,触控面板631与显示面板641是作为两个独立的部件来实现智能手机的输入和输入功能,但是在某些实施例中,可以将触控面板631与显示面板641集成而实现智能手机的输入和输出功能。
智能手机还可包括至少一种传感器650,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板641的亮度,接近传感器可在智能手机移动到耳边时,关闭显示面板641和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别智能手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于智能手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路660、扬声器661,传声器662可提供用户与智能手机之间的音频接口。音频电路660可将接收到的音频数据转换后的电信号,传输到扬声器661,由扬声器661转换为声音信号输出;另一方面,传声器662将收集的声音信号转换为电信号,由音频电路660接收后转换为音频数据,再将音频数据输出处理器680处理后,经RF电路610以发送给比如另一智能手机,或者将音频数据输出至存储器620以便进一步处理。
WiFi属于短距离无线传输技术,智能手机通过WiFi模块670可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图15示出了WiFi模块670,但是可以理解的是,其并不属于智能手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器680是智能手机的控制中心,利用各种接口和线路连接整个智能手机的各个部分,通过运行或执行存储在存储器620内的软件程序和/或模块,以及调用存储在存储器620内的数据,执行智能手机的各种功能和处理数据,从而对智能手机进行整体监控。可选的,处理器680可包括一个或多个处理单元;可选的,处理器680可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器680中。
智能手机还包括给各个部件供电的电源690(比如电池),可选的,电源可以通过电源管理系统与处理器680逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,智能手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本申请实施例中,该终端设备所包括的处理器680还具有以下功能:
获取待训练样本对,其中,所述待训练样本对包括具有对应关系的待训练文本以及待训练音频,所述待训练文本对应于标注音素序列,所述待训练音频对应于真实梅尔谱;
基于所述待训练文本,通过语音合成模型获取第一梅尔谱;
基于所述第一梅尔谱,通过语音识别模型获取第一音素序列;
根据所述第一梅尔谱与所述真实梅尔谱之间的损失值,以及所述第一音素序列以及所述标注音素序列之间的损失值,对所述语音合成模型的模型参数进行更新。
在本申请实施例中,该终端设备所包括的处理器680还具有以下功能:获取待合成文本;
基于所述待合成文本,通过语音合成模型获取目标梅尔谱;
根据所述目标梅尔谱生成目标合成语音。
上述实施例中由终端设备所执行的步骤可以基于该图15所示的终端设备结构。
本申请实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如前述各个实施例描述的方法。
本申请实施例中还提供一种包括程序的计算机程序产品,当其在计算机上运行时,使得计算机执行前述各个实施例描述的方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (15)
1.一种语音合成模型的训练方法,其特征在于,包括:
获取待训练样本对,其中,所述待训练样本对包括具有对应关系的待训练文本以及待训练音频,所述待训练文本对应于标注音素序列,所述待训练音频对应于真实梅尔谱;
基于所述待训练文本,通过语音合成模型获取第一梅尔谱;
基于所述第一梅尔谱,通过语音识别模型获取第一音素序列;
根据所述第一梅尔谱与所述真实梅尔谱之间的损失值,以及所述第一音素序列以及所述标注音素序列之间的损失值,对所述语音合成模型的模型参数进行更新。
2.根据权利要求1所述的训练方法,其特征在于,所述待训练音频来源于第一对象,所述第一对象对应于第一身份标识;
所述基于所述待训练文本,通过语音合成模型获取第一梅尔谱,包括:
基于所述待训练文本以及所述第一身份标识,通过所述语音合成模型获取所述第一梅尔谱。
3.根据权利要求1所述的训练方法,其特征在于,所述根据所述第一梅尔谱与所述真实梅尔谱之间的损失值,以及所述第一音素序列以及所述标注音素序列之间的损失值,对所述语音合成模型的模型参数进行更新,包括:
根据所述第一梅尔谱与所述真实梅尔谱,确定均方误差损失值;
根据所述第一音素序列以及所述标注音素序列,确定第一交叉熵损失值;
根据所述均方误差损失值以及所述第一交叉熵损失值,确定第一目标损失值;
根据所述第一目标损失值对所述语音合成模型的模型参数进行更新。
4.根据权利要求3所述的训练方法,其特征在于,所述根据所述第一梅尔谱与所述真实梅尔谱,确定均方误差损失值,包括:
获取所述第一梅尔谱所对应的M帧预测频率幅度向量,其中,所述M帧预测频率幅度向量中的每帧预测频率幅度向量对应于所述待训练音频中的一帧音频信号,所述M为大于或等于1的整数;
获取所述真实梅尔谱所对应的M帧标注频率幅度向量,其中,所述M帧标注频率幅度向量中的每帧标注频率幅度向量对应于所述待训练音频中的一帧音频信号;
根据所述M帧预测频率幅度向量确定预测频率幅度平均值;
根据所述M帧标注频率幅度向量确定标注频率幅度平均值;
根据所述预测频率幅度平均值以及所述标注频率幅度平均值,确定M帧频率幅度差值;
对所述M帧频率幅度差值进行求平均值处理,得到所述均方误差损失值。
5.根据权利要求3所述的训练方法,其特征在于,所述根据所述第一音素序列以及所述标注音素序列,确定第一交叉熵损失值,包括:
获取所述第一音素序列所对应的M帧预测音素向量,其中,所述M帧预测音素向量中的每帧预测音素向量对应于所述待训练音频中的一帧音频信号,所述M为大于或等于1的整数;
获取所述标注音素序列所对应的M帧标注音素向量,其中,所述M帧标注音素向量中的每帧标注音素向量对应于所述待训练音频中的一帧音频信号;
根据所述M帧预测音素向量以及所述M帧标注音素向量,确定M帧音素的交叉熵损失值;
对所述M帧音素的交叉熵损失值进行求平均值处理,得到所述第一交叉熵损失值。
6.根据权利要求1至5中任一项所述的训练方法,其特征在于,所述根据所述第一梅尔谱与所述真实梅尔谱之间的损失值,以及所述第一音素序列以及所述标注音素序列之间的损失值,对所述语音合成模型的模型参数进行更新之后,所述方法还包括:
获取待测试文本以及所述待测试文本所对应的第二身份标识,其中,所述第二身份标识对应于第二对象;
基于所述待测试文本,通过所述语音合成模型获取第二梅尔谱;
基于所述第二梅尔谱,通过对象识别模型获取预测身份标识;
基于所述第二梅尔谱,通过所述语音识别模型获取第二音素序列;
基于所述待测试文本,通过所述语音合成模型获取权重矩阵;
根据所述权重矩阵确定目标音素序列;
根据所述第二身份标识与所述预测身份标识之间的损失值,以及所述第二音素序列以及所述目标音素序列之间的损失值,对所述语音合成模型的模型参数进行更新。
7.根据权利要求6所述的训练方法,其特征在于,所述根据所述第二身份标识与所述预测身份标识之间的损失值,以及所述第二音素序列以及所述目标音素序列之间的损失值,对所述语音合成模型的模型参数进行更新,包括:
根据所述第二身份标识与所述预测身份标识,确定第二交叉熵损失值;
根据所述第二音素序列以及所述目标音素序列,确定第三交叉熵损失值;
根据所述第二交叉熵损失值以及所述第三交叉熵损失值,确定第二目标损失值;
根据所述第二目标损失值对所述语音合成模型的模型参数进行更新。
8.根据权利要求7所述的训练方法,其特征在于,所述根据所述第二身份标识与所述预测身份标识,确定第二交叉熵损失值,包括:
获取所述第二身份标识所对应的标注身份向量;
获取所述预测身份标识所对应的预测身份向量;
根据所述标注身份向量以及所述预测身份向量,确定第二交叉熵损失值。
9.根据权利要求7所述的训练方法,其特征在于,所述根据所述第二音素序列以及所述目标音素序列,确定第三交叉熵损失值,包括:
获取所述第二音素序列所对应的N帧预测音素向量,其中,所述N帧预测音素向量中的每帧预测音素向量对应于一帧音频信号,所述N为大于或等于1的整数;
获取所述目标音素序列所对应的N帧音素向量,其中,所述N帧音素向量中的每帧音素向量对应于一帧音频信号;
根据所述N帧预测音素向量以及所述N帧音素向量,确定N帧音素的交叉熵损失值;
对所述N帧音素的交叉熵损失值进行求平均值处理,得到所述第三交叉熵损失值。
10.一种语音合成的方法,其特征在于,包括:
获取待合成文本;
基于所述待合成文本,通过语音合成模型获取目标梅尔谱,其中,所述语音合成模型为根据权利要求1至9中任一项所述的训练方法训练得到的;
根据所述目标梅尔谱生成目标合成语音。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
获取目标身份标识;
所述基于所述待合成文本,通过语音合成模型获取目标梅尔谱,包括:
基于所述待合成文本以及所述目标身份标识,通过所述语音合成模型获取所述目标梅尔谱。
12.一种语音合成模型训练装置,其特征在于,包括:
获取模块,用于获取待训练样本对,其中,所述待训练样本对包括具有对应关系的待训练文本以及待训练音频,所述待训练文本对应于标注音素序列,所述待训练音频对应于真实梅尔谱;
所述获取模块,还用于基于所述待训练文本,通过语音合成模型获取第一梅尔谱;
所述获取模块,还用于基于所述第一梅尔谱,通过语音识别模型获取第一音素序列;
训练模块,用于根据所述第一梅尔谱与所述真实梅尔谱之间的损失值,以及所述第一音素序列以及所述标注音素序列之间的损失值,对所述语音合成模型的模型参数进行更新。
13.一种语音合成装置,其特征在于,包括:
获取模块,用于获取待合成文本;
所述获取模块,还用于基于所述待合成文本,通过语音合成模型获取目标梅尔谱,其中,所述语音合成模型为根据权利要求1至10中任一项所述的训练方法训练得到的;
生成模块,用于根据所述目标梅尔谱生成目标合成语音。
14.一种计算机设备,其特征在于,包括:存储器、处理器以及总线系统;
其中,所述存储器用于存储程序;
所述处理器用于执行所述存储器中的程序,所述处理器用于根据程序代码中的指令执行权利要求1至9中任一项所述的训练方法,或,执行如权利要求10或11所述的方法;
所述总线系统用于连接所述存储器以及所述处理器,以使所述存储器以及所述处理器进行通信。
15.一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1至9中任一项所述的训练方法,或,执行如权利要求10或11所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011336173.2A CN113393828A (zh) | 2020-11-24 | 2020-11-24 | 一种语音合成模型的训练方法、语音合成的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011336173.2A CN113393828A (zh) | 2020-11-24 | 2020-11-24 | 一种语音合成模型的训练方法、语音合成的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113393828A true CN113393828A (zh) | 2021-09-14 |
Family
ID=77616597
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011336173.2A Pending CN113393828A (zh) | 2020-11-24 | 2020-11-24 | 一种语音合成模型的训练方法、语音合成的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113393828A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113837299A (zh) * | 2021-09-28 | 2021-12-24 | 平安科技(深圳)有限公司 | 基于人工智能的网络训练方法及装置、电子设备 |
CN113990296A (zh) * | 2021-12-24 | 2022-01-28 | 深圳市友杰智新科技有限公司 | 语音声学模型的训练方法、后处理方法和相关设备 |
CN114267375A (zh) * | 2021-11-24 | 2022-04-01 | 北京百度网讯科技有限公司 | 音素检测方法及装置、训练方法及装置、设备和介质 |
US20220208172A1 (en) * | 2020-12-25 | 2022-06-30 | Meca Holdings IP LLC | Generating a synthetic voice using neural networks |
CN116895273A (zh) * | 2023-09-11 | 2023-10-17 | 南京硅基智能科技有限公司 | 合成音频的输出方法及装置、存储介质、电子装置 |
-
2020
- 2020-11-24 CN CN202011336173.2A patent/CN113393828A/zh active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220208172A1 (en) * | 2020-12-25 | 2022-06-30 | Meca Holdings IP LLC | Generating a synthetic voice using neural networks |
US11935515B2 (en) * | 2020-12-25 | 2024-03-19 | Meca Holdings IP LLC | Generating a synthetic voice using neural networks |
CN113837299A (zh) * | 2021-09-28 | 2021-12-24 | 平安科技(深圳)有限公司 | 基于人工智能的网络训练方法及装置、电子设备 |
CN113837299B (zh) * | 2021-09-28 | 2023-09-01 | 平安科技(深圳)有限公司 | 基于人工智能的网络训练方法及装置、电子设备 |
CN114267375A (zh) * | 2021-11-24 | 2022-04-01 | 北京百度网讯科技有限公司 | 音素检测方法及装置、训练方法及装置、设备和介质 |
CN114267375B (zh) * | 2021-11-24 | 2022-10-28 | 北京百度网讯科技有限公司 | 音素检测方法及装置、训练方法及装置、设备和介质 |
CN113990296A (zh) * | 2021-12-24 | 2022-01-28 | 深圳市友杰智新科技有限公司 | 语音声学模型的训练方法、后处理方法和相关设备 |
CN113990296B (zh) * | 2021-12-24 | 2022-05-27 | 深圳市友杰智新科技有限公司 | 语音声学模型的训练方法、后处理方法和相关设备 |
CN116895273A (zh) * | 2023-09-11 | 2023-10-17 | 南京硅基智能科技有限公司 | 合成音频的输出方法及装置、存储介质、电子装置 |
CN116895273B (zh) * | 2023-09-11 | 2023-12-26 | 南京硅基智能科技有限公司 | 合成音频的输出方法及装置、存储介质、电子装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110444191B (zh) | 一种韵律层级标注的方法、模型训练的方法及装置 | |
CN110853618B (zh) | 一种语种识别的方法、模型训练的方法、装置及设备 | |
CN110491382B (zh) | 基于人工智能的语音识别方法、装置及语音交互设备 | |
CN111933129B (zh) | 音频处理方法、语言模型的训练方法、装置及计算机设备 | |
US11475881B2 (en) | Deep multi-channel acoustic modeling | |
CN110310623B (zh) | 样本生成方法、模型训练方法、装置、介质及电子设备 | |
CN107195296B (zh) | 一种语音识别方法、装置、终端及系统 | |
CN113393828A (zh) | 一种语音合成模型的训练方法、语音合成的方法及装置 | |
CN110838286A (zh) | 一种模型训练的方法、语种识别的方法、装置及设备 | |
TWI681383B (zh) | 用於確定語音信號對應語言的方法、系統和非暫態電腦可讀取媒體 | |
CN110853617B (zh) | 一种模型训练的方法、语种识别的方法、装置及设备 | |
EP3992965A1 (en) | Voice signal processing method and speech separation method | |
Kaur et al. | Automatic speech recognition system for tonal languages: State-of-the-art survey | |
KR20170034227A (ko) | 음성 인식 장치 및 방법과, 음성 인식을 위한 변환 파라미터 학습 장치 및 방법 | |
CN112259106A (zh) | 声纹识别方法、装置、存储介质及计算机设备 | |
CN107967916A (zh) | 确定语音关系 | |
Sheikhan et al. | Using DTW neural–based MFCC warping to improve emotional speech recognition | |
CN111816162B (zh) | 一种语音变化信息检测方法、模型训练方法以及相关装置 | |
CN113012686A (zh) | 神经语音到意思 | |
CN113643693B (zh) | 以声音特征为条件的声学模型 | |
CN114360510A (zh) | 一种语音识别方法和相关装置 | |
CN112562723B (zh) | 发音准确度确定方法、装置、存储介质和电子设备 | |
Liu et al. | AI recognition method of pronunciation errors in oral English speech with the help of big data for personalized learning | |
CN112906369A (zh) | 一种歌词文件生成方法及装置 | |
CN115132195B (zh) | 语音唤醒方法、装置、设备、存储介质及程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40051739 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |