CN116416966A - 文本到语音合成方法、装置、设备和存储介质 - Google Patents
文本到语音合成方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN116416966A CN116416966A CN202310405824.6A CN202310405824A CN116416966A CN 116416966 A CN116416966 A CN 116416966A CN 202310405824 A CN202310405824 A CN 202310405824A CN 116416966 A CN116416966 A CN 116416966A
- Authority
- CN
- China
- Prior art keywords
- phoneme
- sequence
- voice
- speech
- 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
- 238000001308 synthesis method Methods 0.000 title claims abstract description 29
- 238000000034 method Methods 0.000 claims abstract description 67
- 230000000873 masking effect Effects 0.000 claims abstract description 64
- 230000015572 biosynthetic process Effects 0.000 claims abstract description 60
- 238000003786 synthesis reaction Methods 0.000 claims abstract description 60
- 238000013507 mapping Methods 0.000 claims abstract description 33
- 238000009826 distribution Methods 0.000 claims description 78
- 239000013598 vector Substances 0.000 claims description 61
- 230000015654 memory Effects 0.000 claims description 29
- 238000005070 sampling Methods 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 12
- 230000011218 segmentation Effects 0.000 claims description 8
- 230000002194 synthesizing effect Effects 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 abstract description 28
- 238000013473 artificial intelligence Methods 0.000 abstract description 18
- 230000008569 process Effects 0.000 description 39
- 238000012549 training Methods 0.000 description 31
- 238000004891 communication Methods 0.000 description 13
- 238000001228 spectrum Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 5
- 238000013135 deep learning Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 230000018109 developmental process Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000007418 data mining Methods 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000006403 short-term memory Effects 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 241000238558 Eucarida Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000012502 risk assessment Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000004611 spectroscopical analysis Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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
- G10L13/10—Prosody rules derived from text; Stress or intonation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/213—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
- G06F18/2137—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on criteria of topology preservation, e.g. multidimensional scaling or self-organising maps
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
- G06N3/0442—Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive learning
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L13/00—Speech synthesis; Text to speech systems
- G10L13/02—Methods for producing synthetic speech; Speech synthesisers
- G10L13/027—Concept to speech synthesisers; Generation of natural phrases from machine-based concepts
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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/27—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
- G10L25/30—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2123/00—Data types
- G06F2123/02—Data types in the time domain, e.g. time-series data
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Signal Processing (AREA)
- Probability & Statistics with Applications (AREA)
- Machine Translation (AREA)
Abstract
本发明实施例提供文本到语音合成方法、装置、设备和存储介质,涉及人工智能技术领域。该方法包括:获取输入文本对应的音素序列和语音对象标识,基于预设掩蔽率和预设掩蔽步长掩蔽音素对齐序列得到候选音素序列,基于候选音素序列对音素对齐序列进行无监督映射,将音素对齐序列转化为音素无监督序列,对音素无监督序列进行语音合成,得到音素序列对应的语音内容。本实施例通过无监督学习的方式,对输入文本进行语音合成,提高合成语音的自然性和可解释性,扩展语音合成技术的应用场景。
Description
技术领域
本发明涉及人工智能技术领域,尤其涉及文本到语音合成方法、装置、设备和存储介质。
背景技术
语音合成技术在人机交互等场景中发挥着重要的作用,随着深度学习的发展,语音合成技术进入到端到端的发展阶段,端到端的语音合成模型能够基于输入的文本直接输出与该文本对应的语音。
相关技术中,文本到语音合成技术(Text-to-Speech,TTS)一般都是利用有监督的学习模型实现,有监督模型需要使用标注的数据进行训练,当缺乏足够的先验知识时,其合成的语音数据自然度和可理解性不高,导致其应用场景存在极大的局限性,例如人工智能助手、游戏或娱乐行业等对定制语音合成系统有较多需求,有监督模型无法满足这类需求。因此,如何提高合成语音的自然性和可解释性,成为了亟待解决的技术问题。
发明内容
本发明实施例的主要目的在于提出一种文本到语音合成方法、装置、设备和存储介质,提高合成语音的自然性和可解释性,扩展语音合成技术的应用场景。
为实现上述目的,本发明实施例的第一方面提出了一种文本到语音合成方法,包括:
获取输入文本对应的音素序列和语音对象标识;
根据所述语音对象标识对所述音素序列进行持续时间预测,得到音素对齐序列;
基于预设掩蔽率和预设掩蔽步长掩蔽所述音素对齐序列得到候选音素序列;
对所述候选音素序列进行无监督映射,得到音素无监督序列;
对所述音素无监督序列进行语音合成,得到所述音素序列对应的语音内容。
在一些实施例,所述根据所述语音对象标识对所述音素序列进行持续时间预测,得到音素对齐序列,包括:
获取所述语音对象标识对应的语音对象嵌入和所述音素序列对应的音素嵌入;
利用多头注意力单元对所述音素嵌入进行注意力信息提取,得到音素表示向量;
根据所述音素表示向量和所述语音对象嵌入进行持续时间预测,生成所述音素序列中每个音素的持续时间;
根据所述音素序列和每个音素的所述持续时间得到所述音素对齐序列。
在一些实施例,所述基于预设掩蔽率和预设掩蔽步长掩蔽所述音素对齐序列得到候选音素序列,包括:
利用预设对齐查表信息获得所述音素对齐序列的音素对齐嵌入;
选取起始位置索引信息;
按照所述起始位置索引信息、所述预设掩蔽率和所述预设掩蔽步长掩蔽所述音素对齐嵌入得到所述候选音素序列。
在一些实施例,所述对所述候选音素序列进行无监督映射,得到音素无监督序列,包括:
将所述候选音素序列和所述音素嵌入输入训练好的双向长短期记忆模块进行预测,得到所述音素无监督序列。
在一些实施例,所述对所述音素无监督序列进行语音合成,得到所述音素序列对应的语音内容,包括:
对所述音素无监督序列进行向量编码,得到隐层特征向量;
对所述隐层特征向量进行概率编码,得到语音对象分布和语音内容分布;
利用所述语音对象嵌入对所述语音对象分布进行采样编码,得到语音对象采样编码向量;
利用所述音素嵌入对所述语音内容分布进行采样编码,得到语音内容采样编码向量;
对所述语音对象采样编码向量和所述语音内容采样编码向量进行解码,得到所述语音对象标签对应的所述音素序列的声谱图;
根据所述声谱图生成所述语音对象标识对应的语音内容。
在一些实施例,所述概率编码包括后验概率编码或先验概率编码,所述语音对象分布包括:语音对象后验分布或语音对象先验分布,所述语音内容分布包括:语音内容后验分布或语音内容先验分布。
在一些实施例,所述获取输入文本对应的音素序列,包括:
将所述输入文本转化成分词信息;
利用预设音素词典将所述分词信息映射为对应的所述音素序列。
为实现上述目的,本申请实施例的第二方面提出一种文本到语音合成装置,包括:
获取单元,用于获取输入文本对应的音素序列和语音对象标识;
持续时间预测单元,用于根据所述语音对象标识对所述音素序列进行持续时间预测,得到音素对齐序列;
序列遮蔽单元,用于基于预设掩蔽率和预设掩蔽步长掩蔽所述音素对齐序列得到候选音素序列;
无监督映射单元,用于对所述候选音素序列进行无监督映射,得到音素无监督序列;
语音合成单元,用于对所述音素无监督序列进行语音合成,得到所述音素序列对应的语音内容。
为实现上述目的,本申请实施例的第三方面提出了一种电子设备,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的方法。
为实现上述目的,本申请实施例的第四方面提出了一种存储介质,所述存储介质为计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的方法。
本发明实施例提出的文本到语音合成方法、装置、设备和存储介质,通过获取输入文本对应的音素序列和语音对象标识,基于预设掩蔽率和预设掩蔽步长掩蔽音素对齐序列得到候选音素序列,基于候选音素序列对音素对齐序列进行无监督映射,将音素对齐序列转化为音素无监督序列,对音素无监督序列进行语音合成,得到音素序列对应的语音内容。本实施例通过无监督学习的方式,对输入文本进行语音合成,提高合成语音的自然性和可解释性,扩展语音合成技术的应用场景。
附图说明
图1是本发明实施例提供的文本到语音合成方法的流程图。
图2是图1中的步骤S110的流程图。
图3是图1中的步骤S120的流程图。
图4是本发明实施例提供的文本到语音合成方法的音素对齐序列示意图。
图5是图1中的步骤S130的流程图。
图6是图5中的步骤S132的流程图。
图7是本发明实施例提供的文本到语音合成方法的候选音素序列示意图。
图8是本发明实施例提供的文本到语音合成方法的编解码模型示意图。
图9是图1中的步骤S140的流程图。
图10是本发明实施例提供的文本到语音合成系统示意图。
图11是本发明又一实施例提供的文本到语音合成装置结构框图。
图12是本发明实施例提供的电子设备的硬件结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
首先,对本发明中涉及的若干名词进行解析:
人工智能(artificial intelligence,AI):是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学;人工智能是计算机科学的一个分支,人工智能企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。人工智能可以对人的意识、思维的信息过程的模拟。人工智能还是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
监督学习:是机器学习的类型,其中机器使用“标记好”的训练数据进行训练,并基于该数据,机器预测输出。标记的数据意味着一些输入数据已经用正确的输出标记。在监督学习中,模型学习每种类型的数据,使用标记数据集进行训练,提供给机器的训练数据充当监督者,教导机器正确预测输出,目的是找到一个映射函数来映射输入变量和输出变量,训练过程完成后,模型会根据测试数据进行测试,然后预测输出。监督学习可用于风险评估、图像分类、欺诈检测、垃圾邮件过滤等。
无监督学习:是机器学习的一个重要分支,又称无导师学习,是从不需要人为注释样本的分布中抽取信息,指在没有任何标识的情况下进行分类,不需要样本数据,可以直接建立模型将数据聚类。当面对没有标签的数据时,机器会推断出数据的内部结构进行特征归类。无监督算法只处理“特征”,不操作监督信号。无监督学习在机器学习、数据挖掘、生物医学大数据分析、数据科学等领域有着重要地位。
注意力单元:注意力单元的研究最早出现在心理学中,当人在看到一个画面时,虽然面对的是所有大的画面,但是注意力只集中在某个点上。2014年Bahdanau等人首次将注意力单元引入机器翻译,结合注意力单元和神经网络,提升了机器翻译的正确率。随后很多研究都尝试将注意力单元与神经网络结合应用在不同任务中,并且都不同程度的取得相比传统方法更为显著的优势。
梅尔谱(mel spectrogram):即梅尔频谱,是通过对声学信号进行傅立叶变换以后,再经过梅尔尺度进行变换得到的频谱。声谱图往往是很大的一张图,为了得到合适大小的声音特征,可将把声谱图通过梅尔尺度滤波器组之后变换为梅尔频谱。在梅尔频域内,语音的梅尔频率和人对音调的感知能力之间呈线性关系,梅尔谱由梅尔频率倒谱和语谱图结合得到。
嵌入(Embedding):是深度学习领域中常用的特征方法,将高维原始数据(例如图像、句子、语音等)映射到低维流形,使得高维的原始数据被映射到低维流形之后变得可分,这一映射过程即为嵌入。
长短期记忆人工神经网络(Long Short-Term Memory,LSTM):是RNN(RecurrentNeural Network)的一种。LSTM非常适合用于对时序数据的建模,如文本数据。LSTM模型是由t时刻的输入词Xt、细胞状态Ct、临时细胞状态Ct’、隐层状态ht、遗忘门ft、记忆门it和输出门Ot组成。LSTM的计算过程可以概括为:通过对细胞状态中信息遗忘和记忆新的信息使得对后续时刻计算有用的信息得以传递,而无用的信息被丢弃,并在每个时间步都会输出隐层状态ht,由通过上个时刻的隐层状态ht-1和当前输入Xt计算出来的,根据遗忘门ft、记忆门it和输出门Ot来控制隐层状态ht。
语音合成技术在人机交互等场景中发挥着重要的作用,随着深度学习的发展,语音合成技术进入到端到端的发展阶段,端到端的语音合成模型能够基于输入的文本直接输出与该文本对应的语音。
相关技术中,文本到语音合成技术(Text-to-Speech,TTS)一般都是利用有监督的学习模型实现,有监督模型需要使用标注的数据进行训练,当缺乏足够的先验知识时,其合成的语音数据自然度和可理解性不高,导致其应用场景存在极大的局限性,例如人工智能助手、游戏或娱乐行业等对定制语音合成系统有较多需求,有监督模型无法满足这类需求。因此,如何提高合成语音的自然性和可解释性,成为了亟待解决的技术问题。
基于此,本发明实施例提供一种文本到语音合成方法、装置、设备和存储介质,通过获取输入文本对应的音素序列和语音对象标识,基于预设掩蔽率和预设掩蔽步长掩蔽音素对齐序列得到候选音素序列,基于候选音素序列对音素对齐序列进行无监督映射,将音素对齐序列转化为音素无监督序列,对音素无监督序列进行语音合成,得到音素序列对应的语音内容。本实施例通过无监督学习的方式,对输入文本进行语音合成,提高合成语音的自然性和可解释性,扩展语音合成技术的应用场景。
本发明实施例提供文本到语音合成方法、装置、设备和存储介质,具体通过如下实施例进行说明,首先描述本发明实施例中的文本到语音合成方法。
本发明实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(ArtificialIntelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
本发明实施例提供的文本到语音合成方法,涉及人工智能技术领域,尤其涉及数据挖掘技术领域。本发明实施例提供的文本到语音合成方法可应用于终端中,也可应用于服务器端中,还可以是运行于终端或服务器端中的计算机程序。举例来说,计算机程序可以是操作系统中的原生程序或软件模块;可以是本地(Native)应用程序(APP,Application),即需要在操作系统中安装才能运行的程序,如支持文本到语音合成的客户端,也可以是小程序,即只需要下载到浏览器环境中就可以运行的程序;还可以是能够嵌入至任意APP中的小程序。总而言之,上述计算机程序可以是任意形式的应用程序、模块或插件。其中,终端通过网络与服务器进行通信。该文本到语音合成方法可以由终端或服务器执行,或由终端和服务器协同执行。
在一些实施例中,终端可以是智能手机、平板电脑、笔记本电脑、台式计算机或者智能手表等。此外,终端还可以是智能车载设备。该智能车载设备应用本实施例的文本到语音合成方法提供相关的服务,提升驾驶体验。服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器;也可以是区块链系统中的服务节点,该区块链系统中的各服务节点之间形成组成点对点(P2P,Peer To Peer)网络,P2P协议是一个运行在传输控制协议(TCP,Transmission Control Protocol)协议之上的应用层协议。服务器上可以安装文本到语音合成系统的服务端,通过该服务端可以与终端进行交互,例如服务端上安装对应的软件,软件可以是实现文本到语音合成方法的应用等,但并不局限于以上形式。终端与服务器之间可以通过蓝牙、USB(Universal Serial Bus,通用串行总线)或者网络等通讯连接方式进行连接,本实施例在此不做限制。
本发明可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
为了便于理解本申请实施例,下面首先结合具体应用场景的例子对文本到语音合成的概念进行简单介绍。
文本到语音合成是人机语音通信的一个重要组成部分,利用文本到语音合成技术可以让机器像人一样说话,使一些以文本形式表示或存储的信息能转换为语音,从而人们可以通过听觉方便地获得这些信息。
在一应用场景中:用户A发送对应的文本信息,可以根据需求选择语音对象标识(主要用于标识不同的音色,例如某位名人或者其他的机械音等),另一端用户B收到该文本信息对应的语音信息,播放该语音信息时,实际听到的是被选择的音色声音。该过程就用到了文本到语音合成,将用户A的文本信息转化成对应音色需求的语音信息。
输入:用户A发送的文本信息和选取的语音对象标识;
输出:转换为语音对象标识对应的目标语音。
参照图1,是本发明实施例提供的文本到语音合成方法的一个可选的流程图,图1中的方法可以包括但不限于包括步骤S110至步骤S150。
步骤S110,获取输入文本对应的音素序列和语音对象标识。
在一些实施例中,参照图2,步骤S110获取输入文本对应的音素序列,包括但不限于步骤S111至步骤S112。
步骤S111,将输入文本转化成分词信息。
步骤S112,利用预设音素词典将分词信息映射为对应的音素序列。
在一实施例中,如果输入文本是汉语中汉字时,汉字通常是由声母和韵母组成,根据语言学的原理可以对其再进一步细分,相同的韵母和不同的声母组合可以表现为不同的音素,因此通过语言学原理与构建的预设音素词典将声母和韵母定义为音素集合。
在一实施例中,将声母和韵母定义为66类音素组成预设音素词典,预设音素词典表示如下:
“a”,“aa”,“ai”,“an”,“ang”,“ao”,“b”,“c”,“ch”,“d”,“e”,“ee”,“ei”,“en”,“eng”,“er”,“f”,“g”,“h”,“i”,“ia”,“ian”,“iang”,“iao”,“ie”,“ii”,“in”,“ing”,“iong”,“iu”,“ix”,“iy”,“iz”,“j”,“k”,“l”,“m”,“n”,“o”,“ong”,“oo”,“ou”,“p”,“q”,“r”,“s”,“sh”,“t”,“u”,“ua”,“uai”,“uan”,“uang”,“ueng”,“ui”,“un”,“uo”,“uu”,“v”,“van”,“ve”,“vn”,“vv”,“x”,“z”,“zh”。
在一实施例中,如果输入文本是汉语之外的其他语言,按照语音学原理,将该输入文本中元素细分成不同的音素。例如一实施例中,输入文本是英语文本,英语中最小的语音单位是元音和辅音,因此通过语言学原理构建预设音素词典中将元音和辅音定义为音素集合。
在一实施例中,将元音和辅音定义为48类音素组成预设音素词典,预设音素词典表示如下:
“p”,“m”,“w”,“h”,“t”,“d”,“n”,“j”,“r”,“E:”,“E”,“k”,“g”,“N”,“l”,“C:”,“C”,“f”,“v”,
“s”,“z”,“Q”,“W”,“T”,“e”,“A”,“F”,“V”,“ai”,“ei”,“Ci”,“tF”,“dV”,“ZE”,“tr”,“dr”,“Eu”,“au”,“ts”,“dz”。
以上可以看出,将将输入文本的文本内容转写为分词信息,然后根据语言选择对应的预设音素词典,根据预设音素词典将拼音拆分为单个音素,将单个音素拼接成音素序列,便于后续对音素序列进行处理。
本公开实施例的文本到语音合成方法,不对输入文本的语言进行限定,下述为描述方便,以输入文本为汉语,分词信息为拼音为例进行说明,不代表本公开对输入文本的语言进行限定。
在一实施例中,利用上述步骤得到音序序列后,同时获取用户选取的语音对象标识。
例如,用户选取的语音对象标识为:siri语音,输入文本为“今天天气很好”,首先步骤S111将其转化为分词信息:“jin tian tian qi hen hao”,步骤S112将分词信息转化为音素序列,表示为:{j,in,t,i,an,t,i,an,q,i,h,en,h,ao}。
在一实施例中,获取语音对象标识在后续处理步骤中,根据语音对象标识生成对应的语音发音,满足用户的定制化语音需求。
在一实施例中,上述步骤S110得到音素序列和语音对象标识后,根据语音对象标识对音素序列进行持续时间预测,得到音素对齐序列。
步骤S120,根据语音对象标识对音素序列进行持续时间预测,得到音素对齐序列。
在一实施例中,得到音素对齐序列的过程是:首先训练每类音素的概率模型;然后采用概率模型对音素序列中音素求后验概率,得到概率矩阵;然后采用动态路径规划对概率矩阵求解最优对齐路径;最后对音素位置信息进行映射,得到音素的起始和终止位置,从而得到音素对齐序列。这种方式在多种语言对应多种音素的情况下,进行音素对齐运算量较大。
参照图3,是一实施例示出的步骤S120的一种具体实现流程图,在本实施例中,根据语音对象标识对音素序列进行持续时间预测,得到音素对齐序列的步骤S120,包括:
步骤S121,获取语音对象标识和音素序列对应的语音对象嵌入和音素嵌入。
步骤S122,利用多头注意力单元对音素嵌入进行注意力信息提取,得到音素表示向量。
步骤S123,根据音素表示向量和语音对象嵌入进行持续时间预测,生成音素序列中每个音素的持续时间。
步骤S124,根据音素序列和每个音素的持续时间得到音素对齐序列。
在一实施例中,利用预先训练得到的持续时间预测模型执行上述步骤,可利用训练样本对持续时间预测模型进行训练,得到适用于场景的较优模型参数,本实施例在此不对训练过程做具体限定。
嵌入是将高维原始数据(例如图像、句子、语音等)映射到低维流形的特征处理方法,使得高维的原始数据被映射到低维流形之后变得可分。在一实施例中,步骤S121利用预先训练得到的嵌入特征查找表对输入的音素序列和语音对象标识进行嵌入操作,得到对应的低维特征向量:语音对象嵌入和音素嵌入。其中,嵌入特征查找表可以通过预先训练过程训练得到。
在一实施例中,步骤S122利用多头注意力单元对得到的音素嵌入进行注意力特征提取,得到音素表示向量。其中,多头注意力单元包含多个注意力计算单元,本实施例中多头注意力单元为四层的注意力计算单元,不同注意力计算单元包括不同的注意力权重序列,并行计算得到不同注意力计算单元的注意力特征向量,然后将其拼接形成音素表示向量。
在一实施例中,注意力计算单元的注意力权重序列包括:查询信息Q、键K和值V,其中查询信息Q、键K和值V都是向量,例如查询信息Q可以是输入的分词向量W,注意力计算单元就是将查询信息Q和键K-值V的集合映射成一个注意力特征向量,而多个注意力计算单元包括不同的注意力权重序列,能够得到不同的注意力特征向量。
在一实施例中,注意力权重序列可以通过学习过程得到,注意力计算单元的计算过程表示为:
其中,dk表示查询信息Q的维度,可以是音素嵌入的元素数量,Softmax()表示Softmax函数。
上述得到增加注意力信息的潜在的音素表示向量后,步骤S123根据音素表示向量和语音对象嵌入进行持续时间预测,生成音素序列中每个音素的持续时间。
具体地,步骤S123首先使用两层一维卷积层分别对音素表示向量和语音对象嵌入进行卷积操作,然后对得到的卷积操作结果进行求和,再利用全连接层根据求和结果生成对数域的时间信息,该时间信息表示音素序列中每个音素在该语音对象标识下的持续时间。
例如,不同的说话人的音色不同,体现在对不同词语的重音选择和发音持续时长都不一样,因此对同一音素的持续时间不同,上述步骤针对语音对象标识,得到该语音对象标识下音素序列中每个音素的持续时间。然后按照每个音素的持续时间对音素序列进行语音帧级对齐,得到音素对齐序列。
例如,在一实施例中:
音素序列:{j,in,t,i,an,t,i,an,q,i,h,en,h,ao};
每个音素序列的持续时间表示为:
{j-0.06,in-0.09,t-0.03,i-0.03,an-0.06,t-0.03,i-0.03,an-0.06,q-0.03,i-0.09,h-0.03,en-0.06,h-0.03,ao-0.06};
对应的语音帧一帧持续时间0.03s,将每个音素序列的持续时间转化为语音帧的帧数,表示为:
{j-2,in-3,t-1,i-1,an-2,t-1,i-1,an-2,q-1,i-3,h-1,en-2,h-1,ao-2}。
参照图4,为音素对齐序列示意图。图中以小方格表示一个语音帧持续时间,则上述实施例中音素序列经过对齐后,音素对齐序列按照每一个音素的持续时间进行对齐。
在一实施例中,预先使用大量语音训练数据(包含语音对象与音素持续时间的对应关系)对持续时间预测模型进行训练,训练过程中,利用均方误差作为损失函数,根据训练数据中的持续时间标签和预测得到的持续时间计算均方误差,按照预设的损失收敛条件调整持续时间预测模型的模型,使得该持续时间预测模型能够预测得到更精确的音素持续时间。
以上可以看出,获取语音对象标识和音素序列对应的语音对象嵌入和音素嵌入,然后利用多头注意力单元对音素嵌入进行注意力信息提取,得到音素表示向量。再根据音素表示向量和语音对象嵌入进行持续时间预测,生成音素序列中每个音素的持续时间,最后根据音素序列和每个音素的持续时间得到音素对齐序列。这种方式无需训练不同语言下每类音素的概率模型,也无需采用动态路径规划对概率矩阵求解最优对齐路径,能够降低音素对齐过程的运算量。
在一实施例中,为了扩展语音合成技术的应用场景,适应定制化场景,对上述得到的音素对齐序列进行无监督映射,得到音素无监督序列,引入无监督学习的方式,对输入文本进行语音合成,提高合成语音的自然性和可解释性。
步骤S130,基于预设掩蔽率和预设掩蔽步长掩蔽音素对齐序列得到候选音素序列。
在一实施例中,对候选音素序列进行无监督映射的过程是:利用自组织映射神经网络进行无监督聚类,通过寻找最优参考矢量集合来对输入的音素对齐序列进行分类,每个参考矢量为一输出单元对应的连接权向量,所形成的聚类中心能映射到一个曲面或平面上,而保持拓扑结构不变,得到音素无监督序列。但是这种方式得到的音素无监督序列中不能包含更多的上下文信息。
参照图5,是一实施例示出的步骤S130的一种具体实现流程图,在本实施例中基于预设掩蔽率和预设掩蔽步长掩蔽音素对齐序列得到候选音素序列的步骤S130,包括:
步骤S131,利用预设对齐查表信息获得音素对齐序列的音素对齐嵌入。
步骤S132,选取起始位置索引信息。
步骤S133,按照起始位置索引信息、预设掩蔽率和预设掩蔽步长掩蔽音素对齐嵌入得到候选音素序列。
在一实施例中,嵌入是将高维原始数据(例如图像、句子、语音等)映射到低维流形的特征处理方法,步骤S131利用预设对齐查表信息获得音素对齐序列的音素对齐嵌入,即音素对齐嵌入是音素对齐序列对应的低维特征向量。其中,预设对齐查表信息可以通过预先训练过程训练得到。
在一实施例中,掩蔽预测训练策略是对音素对齐嵌入以迭代的方式选取一定的子集,子集中元素的数量达到预设掩蔽率p%,在每一次迭代过程中,可以随机选取不同的起始位置作为起始位置索引信息,从音素嵌入中从起始位置索引信息开始采样预设掩蔽步长m的元素进行掩蔽,得到候选音素序列,该候选音素序列中被掩蔽的元素与总元素之间比值为预设遮掩率。
参照图6,为音素对齐嵌入得到候选音素序列的一种示意图。图中音素对齐嵌入表示为{S1,S2,S3,S4,S5,S6,S7,S8,S9,S10},预设掩蔽率p%为20%,本次迭代中起始位置索引信息为:3,预设掩蔽步长m为:2,由于在一实施例中音素对齐嵌入的元素个数为10,按照预设掩蔽率,则需要掩蔽2个元素,即将两个元素用掩码代替,掩码可以是0或者其他数,因此按照掩蔽预测训练策略,本次迭代中对音素对齐嵌入的部分元素按照上述参数进行掩蔽,掩蔽掩码表示为“xx”,即可得到图中所示的候选音素序列{S1,S2,S3,xx,xx,S6,S7,S8,S9,S10}。
步骤S140,基于候选音素序列对音素对齐序列进行无监督映射,将音素对齐序列转化为音素无监督序列。
参照图7,是一实施例示出的步骤S140的一种具体实现流程图,在本实施例中基于候选音素序列对音素对齐序列进行无监督映射,将音素对齐序列转化为音素无监督序列的步骤S140,包括:
步骤S141,获取候选音素序列和音素对齐序列的音素对齐嵌入。
步骤S142,将候选音素序列和音素对齐嵌入输入训练好的双向长短期记忆模块进行预测,得到音素无监督序列。
在一实施例中,利用预先训练得到的对齐映射模型执行上述步骤,可利用训练样本对对齐映射模型进行训练,得到适用于场景的较优模型参数,本实施例在此不对训练过程做具体限定。在一实施例中,将候选因素序列和音素对齐嵌入作为输入,利用对齐映射模型预测音素对齐嵌入相应的音素无监督序列,即将监督学习过程转化为无监督学习过程。
在一实施例中,步骤S142利用训练好的双向长短期记忆模块对音素嵌入进行无监督预测,得到音素无监督序列。
在一实施例中,双向长短期记忆模块为(Bi-directional Long Short-TermMemory,Bi-LSTM)模块,是由前向LSTM与后向LSTM组合而成,用来建模音素嵌入对应的上下文信息。例如,运算过程中,前向的LSTM依次输入音素嵌入的{w1,w2,w3},得到对应的隐向量{h1,h2,h3},后向的LSTM依次输入音素嵌入的{w3,w2,w1},得到对应的隐向量{h1’,h2’,h3’},将前向和后向的隐向量拼接起来得到{[h1,h1’],[h2,h2’],[h3,h3’]},进行相应的运算。在一实施例中,双向长短期记忆模块为3层双向长短期记忆模块。
在一实施例中,预先使用大量训练数据对对齐映射模型进行训练,该模型的学习过程是无监督的学习过程,无需对收集的数据进行耗时的标注过程。训练过程中采用掩蔽预测训练策略,掩蔽预测训练策略有利于捕捉不同元素之间的长期时间依赖关系,能够为序列中每个元素赋予更多的上下文信息,从而提升对齐映射模型的预测能力。
在一实施例中,利用交叉熵作为损失函数,根据训练数据中的掩蔽之前的音素嵌入和掩蔽之后得到的候选音素序列在时间步长上计算交叉熵损失,表示为:
L=αLm+(1-α)Lu
其中,X′表示音素嵌入中元素,Lm表示根据音素嵌入计算的损失函数,zt表示预测得到的音素无监督序列中对应的元素,X表示候选音素序列中元素,Lu表示根据候选音素序列计算的损失函数,L表示交叉熵损失值,α表示训练过程得到的损失权重。在一实施例中,按照预设的损失收敛条件调整持续双向长短期记忆模块,使得该双向长短期记忆模块能够预测得到更精确的音素无监督序列。
以上可以看出,引入无监督学习的方式,通过对音素对齐序列进行无监督映射,得到音素无监督序列后,提高合成语音的自然性和可解释性,能够扩展语音合成技术的应用场景,适应定制化场景。
在一实施例中,得到音素无监督序列后,对上述得到音素无监督序列进行语音合成,得到音素序列对应的声谱图,进而根据声谱图得到语音对象标识对应的语音。
步骤S150,对音素无监督序列进行语音合成,得到音素序列对应的语音内容。
在一实施例中,利用预设的音素对应的声谱构成声谱词典,将音素无监督序列中对应的音素在声谱词典中选取声谱图,拼接所有音素的声谱图得到音素序列对应的声谱图,然后将声谱图转化为对应的语音内容。但是利用声谱词典的方式得到的声谱图,其无法满足定制化需求,声谱图与音素序列之间的关联度太低。
在一实施例中,利用编解码模型执行步骤140,参照图8,编解码模型包括:共享编码器810、先验编码器820、后验编码器830和解码器840组成,其中先验编码器820包括:先验语音对象编码器821和先验内容编码器822,后验编码器830包括:后验语音对象编码器831和后验内容编码器832。
在一实施例中,参照图9,是一实施例示出的步骤S150的一种具体实现流程图,在本实施例中,对音素无监督序列进行语音合成,得到音素序列对应的语音内容的步骤S150,包括:
步骤S151,对音素无监督序列进行编码,得到隐层特征向量。
在一实施例中,参照图8,编解码模型中共享编码器在隐变量空间对音素无监督序列进行采样,得到低维的隐层特征向量。在一实施例中采样过程描述为:对输入的音素无监督序列依次卷积、池化,将最后一个卷积层的输出转化为向量,并此向量连接到二维隐空间的密集层,得到低维的隐层特征向量。
步骤S152,对隐层特征向量进行概率编码,得到语音对象分布和语音内容分布。
在一实施例中,概率编码包括:后验概率编码或先验概率编码,对应的语音对象分布包括:语音对象后验分布或语音对象先验分布,对应的语音内容分布包括:语音内容后验分布或语音内容先验分布。
参考图8,在一实施例中,基于音素无监督序列得到先验信息,先验信息包括:语音对象先验信息和语音内容先验信息。然后利用后验语音对象编码器对隐层特征向量进行后验编码,得到语音对象后验分布,利用先验语音对象编码器对语音对象先验信息进行先验编码,得到语音对象先验分布。另外利用后验语音内容编码器对隐层特征向量进行后验编码,得到语音内容后验分布,利用先验语音内容编码器对语音内容先验信息进行先验编码,得到语音内容先验分布。
在一实施例中,利用已知的先验分布知识,得到与音素无监督序列对应的语音对象先验信息和语音内容先验信息。在一实施例中将隐层特征向量对齐到均匀分布得到对应的语音对象先验信息和语音内容先验信息。
在一实施例中,编解码模型采用无监督的训练过程包含训练后验编码器和先验编码器的过程,即训练过程中后验编码器和先验编码器的参数被迭代调整。后验编码器通过对其输入的隐层特征向量进行编码,可以提取隐层特征向量中的特征,得到对应的语音对象后验分布和语音内容后验分布,该语音对象后验分布和语音内容后验分布是后验编码器输入端到输出端的后验分布。先验编码器通过对其输入的先验信息进行编码,提取先验信息中的特征,得到语音对象先验分布和语音内容先验分布。在训练过程中,不断调整先验编码器和后验编码器的参数,使得该先验分布与从后验编码器输入端到输出端的后验分布相互近似,比如使二者尽可能相同。需要注意,这里“尽可能相同”可以指两者的差异低于某一阈值,也可以指两者的差异在特定区间内取得最小值,也可以指在训练过程中两者的差异在一定迭代步数内取得最小值,本申请的具体实施方式不限于此,可根据实际应用需求来确定。
在一实施例中,在训练过程结束后,可根据已训练的后验编码器和/或先验编码器确定的语音对象分布和语音内容分布。由于训练过程中使得先验分布和后验分布尽可能近似,因此在一实施例中,语音对象分布和语音内容分布可以是相关的先验分布也可以是相关的后验分布,本实施例对此不做具体限定。
在一实施例中,语音对象分布和语音内容分布可以是预设类型的分布。比如,如果预设的分布为正态分布(也称为高斯分布),那么语音对象分布和语音内容分布的参数中可包含该正态分布的期望和标准差,或者语音对象分布和语音内容分布的参数经过运算之后可获得该正态分布的期望和标准差。当然,预设类型的分布也可以是其他类型的分布,只要能够通过后验编码器和/或先验编码器确定其表达即可。
得到语音对象分布和语音内容分布后需要进行解码采样,以生成对应的声谱图。
步骤S153,利用语音对象嵌入对语音对象分布进行采样编码,得到语音对象采样编码向量。
步骤S154,利用音素嵌入对语音内容分布进行采样编码,得到语音内容采样编码向量。
在一实施例中,编解码模型中解码器利用上述得到的语音对象后验分布或者语音对象先验分布的相关参数对语音对象嵌入进行采样,其中语音对象后验分布或者语音对象先验分布是一种概率分布,因此按照该概率分布对语音对象嵌入进行采样得到语音对象采样编码向量。同理,在一实施例中,编解码模型中解码器利用音素嵌入得到语音内容采样编码向量。
步骤S155,对语音对象采样编码向量和语音内容采样编码向量进行解码,得到语音对象标签对应的音素序列的声谱图。
在一实施例中,将语音对象采样编码向量和语音内容采样编码向量进行拼接,然后对拼接后的向量进行上采样,然后根据采样结果选取对应的声谱图进行拼接,以完成解码过程得到语音对象标签对应的音素序列的声谱图。
步骤S156,根据声谱图生成语音对象标识对应的语音内容。
在一实施例中,声谱图为梅尔频谱。在一实施例中,利用声码器将梅尔拼图转化成对应的语音内容,语音内容是一种以波(wave)形式表示语音信号的波文件,本实施例在此不对语音内容的表现形式做限制。
以上可以看出,通过编解码模块以无监督的方式根据音素无监督序列生成语音对象分布和语音内容分布,进一步得到语音对象标签对应的音素序列的声谱图,能够根据语音需求实现定制化语音。
在一实施例中,使用统一的框架搭建文本到语音合成系统,参照图10,为本申请一实施例中文本到语音合成系统示意图。其处理流程描述如下:
S1:获取输入文本和语音对象标识。
S2:将输入文本送入预设音素词典,得到对应的音素序列。
S3:利用持续时间预测模型根据语音对象标识对音素序列进行帧级对齐,得到音素对齐序列。
S4:利用对齐映射模块根据音素对齐序列进行无监督映射,得到音素无监督序列。
S5:利用编解码模型根据音素无监督序列生成梅尔谱图。
S6:利用声码器根据梅尔拼谱生成语音波形。
在一实施例中,该文本到语音合成系统连接输入文本和生成的语音,能够更加细粒度的实现定制语音的生成,扩展语音合成技术的应用场景。
本发明实施例提供的技术方案,通过获取输入文本对应的音素序列和语音对象标识,基于预设掩蔽率和预设掩蔽步长掩蔽音素对齐序列得到候选音素序列,基于候选音素序列对音素对齐序列进行无监督映射,将音素对齐序列转化为音素无监督序列,对音素无监督序列进行语音合成,得到音素序列对应的语音内容。相比较有监督的学习过程,本申请技术方案采用无监督的学习,无需使用配对标记语料库进行训练,对输入文本进行语音合成,提高合成语音的自然性和可解释性,扩展语音合成技术的应用场景,能够更好的应用于定制语音的应用场景。
本发明实施例还提供一种文本到语音合成装置,可以实现上述文本到语音合成方法,参照图11,该装置包括:
获取单元1110,用于获取输入文本对应的音素序列和语音对象标识;
持续时间预测单元1120,用于根据语音对象标识对音素序列进行持续时间预测,得到音素对齐序列;
序列遮蔽单元1130,用于基于预设掩蔽率和预设掩蔽步长掩蔽音素对齐序列得到候选音素序列;
无监督映射单元1140,用于对候选音素序列进行无监督映射,得到音素无监督序列;
语音合成单元1150,用于对音素无监督序列进行语音合成,得到音素序列对应的语音内容。
本实施例的文本到语音合成装置的具体实施方式与上述文本到语音合成方法的具体实施方式基本一致,在此不再赘述。
本发明实施例还提供了一种电子设备,包括:
至少一个存储器;
至少一个处理器;
至少一个程序;
所述程序被存储在存储器中,处理器执行所述至少一个程序以实现本发明实施上述的文本到语音合成方法。该电子设备可以为包括手机、平板电脑、个人数字助理(Personal Digital Assistant,简称PDA)、车载电脑等任意智能终端。
请参阅图12,图12示意了另一实施例的电子设备的硬件结构,电子设备包括:
处理器1201,可以采用通用的CPU(CentralProcessingUnit,中央处理器)、微处理器、应用专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本发明实施例所提供的技术方案;
存储器1202,可以采用ROM(ReadOnlyMemory,只读存储器)、静态存储设备、动态存储设备或者RAM(RandomAccessMemory,随机存取存储器)等形式实现。存储器1202可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1202中,并由处理器1201来调用执行本发明实施例的文本到语音合成方法;
输入/输出接口1203,用于实现信息输入及输出;
通信接口1204,用于实现本设备与其他设备的通信交互,可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信;和
总线1205,在设备的各个组件(例如处理器1201、存储器1202、输入/输出接口1203和通信接口1204)之间传输信息;
其中处理器1201、存储器1202、输入/输出接口1203和通信接口1204通过总线1205实现彼此之间在设备内部的通信连接。
本申请实施例还提供了一种存储介质,存储介质为计算机可读存储介质,该存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述文本到语音合成方法。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本发明实施例提出的文本到语音合成方法、文本到语音合成装置、电子设备、存储介质,通过获取输入文本对应的音素序列和语音对象标识,基于预设掩蔽率和预设掩蔽步长掩蔽音素对齐序列得到候选音素序列,基于候选音素序列对音素对齐序列进行无监督映射,将音素对齐序列转化为音素无监督序列,对音素无监督序列进行语音合成,得到音素序列对应的语音内容。相比较有监督的学习过程,本申请技术方案采用无监督的学习,无需使用配对标记语料库进行训练,对输入文本进行语音合成,提高合成语音的自然性和可解释性,扩展语音合成技术的应用场景,能够更好的应用于定制语音的应用场景。
本申请实施例描述的实施例是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域技术人员可知,随着技术的演变和新应用场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本领域技术人员可以理解的是,图中示出的技术方案并不构成对本申请实施例的限定,可以包括比图示更多或更少的步骤,或者组合某些步骤,或者不同的步骤。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括多指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例的方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序的介质。
以上参照附图说明了本申请实施例的优选实施例,并非因此局限本申请实施例的权利范围。本领域技术人员不脱离本申请实施例的范围和实质内所作的任何修改、等同替换和改进,均应在本申请实施例的权利范围之内。
Claims (10)
1.一种文本到语音合成方法,其特征在于,包括:
获取输入文本对应的音素序列和语音对象标识;
根据所述语音对象标识对所述音素序列进行持续时间预测,得到音素对齐序列;
基于预设掩蔽率和预设掩蔽步长掩蔽所述音素对齐序列得到候选音素序列;
基于所述候选音素序列对所述音素对齐序列进行无监督映射,将所述音素对齐序列转化为音素无监督序列;
对所述音素无监督序列进行语音合成,得到所述音素序列对应的语音内容。
2.根据权利要求1所述的一种文本到语音合成方法,其特征在于,所述根据所述语音对象标识对所述音素序列进行持续时间预测,得到音素对齐序列,包括:
获取所述语音对象标识对应的语音对象嵌入和所述音素序列对应的音素嵌入;
利用多头注意力单元对所述音素嵌入进行注意力信息提取,得到音素表示向量;
根据所述音素表示向量和所述语音对象嵌入进行持续时间预测,生成所述音素序列中每个音素的持续时间;
根据所述音素序列和每个音素的所述持续时间得到所述音素对齐序列。
3.根据权利要求1所述的一种文本到语音合成方法,其特征在于,所述基于预设掩蔽率和预设掩蔽步长掩蔽所述音素对齐序列得到候选音素序列,包括:
利用预设对齐查表信息获得所述音素对齐序列的音素对齐嵌入;
选取起始位置索引信息;
按照所述起始位置索引信息、所述预设掩蔽率和所述预设掩蔽步长掩蔽所述音素对齐嵌入得到所述候选音素序列。
4.根据权利要求3所述的一种文本到语音合成方法,其特征在于,所述对所述候选音素序列进行无监督映射,得到音素无监督序列,包括:
获取所述候选音素序列和所述音素对齐嵌入;
将所述候选音素序列和所述音素对齐嵌入输入训练好的双向长短期记忆模块进行预测,得到所述音素无监督序列。
5.根据权利要求2所述的一种文本到语音合成方法,其特征在于,所述对所述音素无监督序列进行语音合成,得到所述音素序列对应的语音内容,包括:
对所述音素无监督序列进行向量编码,得到隐层特征向量;
对所述隐层特征向量进行概率编码,得到语音对象分布和语音内容分布;
利用所述语音对象嵌入对所述语音对象分布进行采样编码,得到语音对象采样编码向量;
利用所述音素嵌入对所述语音内容分布进行采样编码,得到语音内容采样编码向量;
对所述语音对象采样编码向量和所述语音内容采样编码向量进行解码,得到所述语音对象标签对应的所述音素序列的声谱图;
根据所述声谱图生成所述语音对象标识对应的语音内容。
6.根据权利要求5所述的一种文本到语音合成方法,其特征在于,所述概率编码包括后验概率编码或先验概率编码,所述语音对象分布包括:语音对象后验分布或语音对象先验分布,所述语音内容分布包括:语音内容后验分布或语音内容先验分布。
7.根据权利要求1所述的一种文本到语音合成方法,其特征在于,所述获取输入文本对应的音素序列,包括:
将所述输入文本转化成分词信息;
利用预设音素词典将所述分词信息映射为对应的所述音素序列。
8.一种文本到语音合成装置,其特征在于,包括:
获取单元,用于获取输入文本对应的音素序列和语音对象标识;
持续时间预测单元,用于根据所述语音对象标识对所述音素序列进行持续时间预测,得到音素对齐序列;
序列遮蔽单元,用于基于预设掩蔽率和预设掩蔽步长掩蔽所述音素对齐序列得到候选音素序列;
无监督映射单元,用于对所述候选音素序列进行无监督映射,得到音素无监督序列;
语音合成单元,用于对所述音素无监督序列进行语音合成,得到所述音素序列对应的语音内容。
9.一种电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述的文本到语音合成方法。
10.一种计算机可读存储介质,所述存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的文本到语音合成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310405824.6A CN116416966A (zh) | 2023-04-07 | 2023-04-07 | 文本到语音合成方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310405824.6A CN116416966A (zh) | 2023-04-07 | 2023-04-07 | 文本到语音合成方法、装置、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116416966A true CN116416966A (zh) | 2023-07-11 |
Family
ID=87059328
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310405824.6A Pending CN116416966A (zh) | 2023-04-07 | 2023-04-07 | 文本到语音合成方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116416966A (zh) |
-
2023
- 2023-04-07 CN CN202310405824.6A patent/CN116416966A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111312245B (zh) | 一种语音应答方法、装置和存储介质 | |
CN112528637B (zh) | 文本处理模型训练方法、装置、计算机设备和存储介质 | |
CN111914076B (zh) | 一种基于人机对话的用户画像构建方法、系统、终端及存储介质 | |
CN112837669B (zh) | 语音合成方法、装置及服务器 | |
CN113837299B (zh) | 基于人工智能的网络训练方法及装置、电子设备 | |
CN112967725A (zh) | 语音对话数据处理方法、装置、计算机设备及存储介质 | |
CN114298121A (zh) | 基于多模态的文本生成方法、模型训练方法和装置 | |
US11961515B2 (en) | Contrastive Siamese network for semi-supervised speech recognition | |
CN114596844A (zh) | 声学模型的训练方法、语音识别方法及相关设备 | |
CN116564338B (zh) | 语音动画生成方法、装置、电子设备和介质 | |
CN114400005A (zh) | 语音消息生成方法和装置、计算机设备、存储介质 | |
CN116343747A (zh) | 语音合成方法、语音合成装置、电子设备及存储介质 | |
CN112183106A (zh) | 一种基于音素联想及深度学习的语义理解方法及装置 | |
CN115688937A (zh) | 一种模型训练方法及其装置 | |
CN109933773A (zh) | 一种多重语义语句解析系统及方法 | |
CN116611459B (zh) | 翻译模型的训练方法、装置、电子设备及存储介质 | |
CN116580691A (zh) | 语音合成方法、语音合成装置、电子设备及存储介质 | |
CN116564270A (zh) | 基于去噪扩散概率模型的歌唱合成方法、设备及介质 | |
CN116386594A (zh) | 语音合成方法、语音合成装置、电子设备及存储介质 | |
CN116312463A (zh) | 语音合成方法、语音合成装置、电子设备及存储介质 | |
CN114170997A (zh) | 发音技巧检测方法、装置、存储介质及电子设备 | |
CN115995225A (zh) | 模型训练方法和装置、语音合成方法、设备及存储介质 | |
CN114373443A (zh) | 语音合成方法和装置、计算设备、存储介质及程序产品 | |
CN116416966A (zh) | 文本到语音合成方法、装置、设备和存储介质 | |
Ghorpade et al. | ITTS model: speech generation for image captioning using feature extraction for end-to-end synthesis |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |