CN113362803B - 一种arm侧离线语音合成的方法、装置及存储介质 - Google Patents
一种arm侧离线语音合成的方法、装置及存储介质 Download PDFInfo
- Publication number
- CN113362803B CN113362803B CN202110599311.4A CN202110599311A CN113362803B CN 113362803 B CN113362803 B CN 113362803B CN 202110599311 A CN202110599311 A CN 202110599311A CN 113362803 B CN113362803 B CN 113362803B
- Authority
- CN
- China
- Prior art keywords
- training
- phoneme
- sequence
- model
- arm side
- 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.)
- Active
Links
- 230000015572 biosynthetic process Effects 0.000 title claims abstract description 54
- 238000003786 synthesis reaction Methods 0.000 title claims abstract description 54
- 238000001308 synthesis method Methods 0.000 title claims abstract description 15
- 238000003860 storage Methods 0.000 title claims abstract description 9
- 238000012549 training Methods 0.000 claims abstract description 164
- 238000013528 artificial neural network Methods 0.000 claims abstract description 48
- 238000013139 quantization Methods 0.000 claims abstract description 28
- 230000006835 compression Effects 0.000 claims abstract description 24
- 238000007906 compression Methods 0.000 claims abstract description 24
- 238000007667 floating Methods 0.000 claims abstract description 20
- 238000006243 chemical reaction Methods 0.000 claims description 28
- 238000001228 spectrum Methods 0.000 claims description 27
- 238000000034 method Methods 0.000 claims description 20
- 230000011218 segmentation Effects 0.000 claims description 14
- 238000010801 machine learning Methods 0.000 claims description 13
- 238000002372 labelling Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 9
- 230000002194 synthesizing effect Effects 0.000 claims description 9
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 claims description 8
- 238000010586 diagram Methods 0.000 claims description 7
- 230000005012 migration Effects 0.000 claims description 7
- 238000013508 migration Methods 0.000 claims description 7
- 230000006870 function Effects 0.000 claims description 5
- 238000013507 mapping Methods 0.000 claims description 5
- 238000004821 distillation Methods 0.000 abstract description 4
- 230000008447 perception Effects 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 4
- 102100030148 Integrator complex subunit 8 Human genes 0.000 description 3
- 101710092891 Integrator complex subunit 8 Proteins 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000033764 rhythmic process Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 206010021703 Indifference Diseases 0.000 description 1
- 102100029469 WD repeat and HMG-box DNA-binding protein 1 Human genes 0.000 description 1
- 101710097421 WD repeat and HMG-box DNA-binding protein 1 Proteins 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 238000013140 knowledge distillation Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000011946 reduction process Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 238000003892 spreading Methods 0.000 description 1
- 238000013518 transcription Methods 0.000 description 1
- 230000035897 transcription Effects 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
-
- 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/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/18—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 spectral information of each sub-band
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Machine Translation (AREA)
Abstract
本发明提供的一种ARM侧离线语音合成的方法、装置及存储介质,涉及语音合成技术领域。本发明通过对ARM侧设备部署音素序列生成器、音素—时间标签序列生成器、声学特征生成器和声码器来进行离线语音合成,通过对ARM侧设备部署的各生成器进行进行Python toc/c++porting重编译和对Tensorflow平台的32位float型模型浮点参数进行量化压缩,使ARM侧设备能够快速进行离线语音合成且达到节省ARM侧设备所需部署空间、降低ARM侧设备运算要求的目的;通过通过将MelGAN模型作为神经网络声码模型,达到了提升训练速率,在没有额外的蒸馏和感知损失的引入下仍能产生高质量的语音合成模型;将Fastspeech 2模型神经网络声学特征生成模型能达到升模型训练速率和增加了数据的丰富度避免过多的信息损失的目的。
Description
技术领域
本发明涉及语音合成技术领域,尤其涉及一种ARM侧离线语音合成的方法、装置及存储介质。
背景技术
语音合成(Text To Speech,TTS)即“从文本到语音”,是人机对话的一部分,其目的是让机器能够将文本输出转化为自然的语音输出。
语音合成同时运用了语言学和机器学习,通过神经网络的设计,把文字智能地转化为自然语音流。TTS技术对文本文件进行实时转换,转换时间之短可以秒计算,文本输出的语音音律流畅,使得听者在听取信息时感觉自然,毫无机器语音输出的冷漠与生涩感。TTS是语音合成应用的一种,它将储存于电脑中的文件,如帮助文件或者网页,转换成自然语音输出。TTS不仅能帮助有视觉障碍的人阅读计算机上的信息,更能增加文本文档的可读性。TTS应用包括语音驱动的邮件以及声音敏感系统,并常与声音识别程序一起使用。
现有的语音合成方法通常是基于前后端的语音合成系统,申请号为:CN201210093481.6发明申请提出了一种语音合成方法及系统,所述方法包括:对输入文本进行文本分析和语言分析,生成包含相应语音单元的前端脚本,获取和校验所述前端脚本,修正所述前端脚本;以及获取所述修正后的前端脚本并合成修正语音,本发明能够纠正前端脚本的错误如分词错误和多音字注音错误,从而提高合成语音的易理解性和用户的可接受程度,弥补传统TTS对韵律的预测准确度不足的缺点,提高了合成语音的自然度和表现力。
但是该发明申请提出的语音合成方法及系统依赖于建立前后端网络联系,后端也需要建立强大的服务器集群才能满足实际运用的网络负载量,且在脱离网络时便无法正常使用,其局限性较大,无法运用到无网络或者网络较差环境中。
申请号为CN201911174434.2的发明申请公开了一种分布式语音合成方法,旨在将传统TTS系统一般处理流程中的各个处理环节按先后顺序划分为前后两个部分,所述的前端处理环节和语音合成后端处理环节之间通过数据交换标准和协议标准进行通信,共同完成整个TTS处理过程,为在资源敏感的移动终端设备上合成出与PC上大型TTS系统相同自然度的自然语音,尽可能地利用自身的空闲资源,以最大化的释放网络和服务器的负载,使得其它用户可以方便地接入。
该发明申请缓解了设备的网络压力,云端服务器的负载也相应降低,能在网络较差环境下进行很好的工作,但是其原理还是基于前后端的语音合成的方法,在无网络的情况下便无法进行很好的运用推广。
现有阶段,对于语音合成需求最高的场景便是ARM侧设备场景,由于ARM侧设备便于携带,故可以结合TTS组合成智能翻译,智能导航,智能助手,智能变声等功能进行使用,而ARM侧设备很多场景下是无网络跟随的,故基于前后端的语音合成不能完全满足ARM侧设备的运用场景。
因此,我们有必要提出一种ARM侧离线语音合成的方法来解决上述问题。
发明内容
为解决上述技术问题之一,本发明一种ARM侧离线语音合成的方法,运用于具备音频处理、播放和/或传播功能的ARM侧设备中,在ARM侧部署音素序列生成器、音素—时间标签序列生成器、声学特征生成器和声码器;采集需要进行离线语音合成的输入文本;将输入文本通过字符-索引字典转化为以索引为序列元素的输入文本序列;通过所述音素序列生成器将输入文本序列转化为所对应音素标签序列;通过音素—时间标签序列生成器将输入音素标签序列转化为对应音素—时间标签序列;通过声学特征生成器将音素—时间标签序列转化成所对应的梅尔频谱图;通过声码器将梅尔频谱图合成并转换成对应的语音数据;所述ARM侧设备对生成的语音数据进行播放和/或传播操作。
作为更进一步的解决方案,所述音素序列生成器、音素—时间标签序列生成器、声学特征生成器和声码器通过模型训练端产生;所述模型训练端包括机器学习语言学音素序列模型、神经网络时间标签模型、神经网络声学特征生成模型和神经网络声码模型,并通过语音合成训练数据对模型训练端进行训练。作为更进一步的解决方案,所述语音合成训练数据包括训练用待合成语音文本、训练用待合成语音文本序列、训练用音素标签参考序列、训练用音素—时间标签参考序列、训练用梅尔频谱参考图和训练用合成语音参考数据;
所述机器学习语言学音素序列模型通过训练用待合成语音文本序列和训练用音素标签参考序列进行文本序列音素标注训练,得到能够根据输入文本序列输出对应音素标签序列的音素序列生成器;
所述神经网络时间标签模型通过训练用音素—时间标签参考序列和训练用音素标签参考序列进行音素—时间标注训练,得到能够根据输入音素标签序列输出对应音素—时间标签序列的音素—时间标签序列生成器;
所述神经网络声学特征生成模型通过训练用音素—时间标签参考序列和训练用梅尔频谱参考图进行时频图谱转化训练,得到能够根据输入音素—时间标签序列输出对应的梅尔频谱图的声学特征生成器;
所述神经网络声码模型通过训练用梅尔频谱参考图和训练用合成语音参考数据进行图谱-语音转化合成训练,得到能过根据输入梅尔频谱图合成并输出对应语音数据的声码器。
作为更进一步的解决方案,所述语音合成训练数据均为先验数据,并通过以下步骤进行生成:
所述训练用待合成语音文本通过人工或机器进行编写生成;
将所述训练用待合成语音文本通过字符-索引形式进行序列生成,得到训练用待合成语音文本序列;
将所述训练用待合成语音文本进行人工朗读并音频采集,得到训练用合成语音参考数据;
对训练用合成语音参考数据进行梅尔频谱图转换,得到训练用梅尔频谱参考图;
对训练用合成语音参考数据通过人工进行音素级标注,得到训练用音素标签参考序列;
将训练用音素标签参考序列与训练用合成语音参考数据进行时间向对齐并标注,得到训练用音素—时间标签参考序列。
作为更进一步的解决方案,所述音素序列生成器通过机器学习语言学音素序列模型训练迁移产生,所述音素序列生成器包括文字-拼音转换层和拼音-音素转换层;
所述文字-拼音转换层通过隐马尔可夫模型将输入文本序列转化为输入文本拼音序列;
所述拼音-音素转换层对拼音序列进行分割和音素转换;通过对文字-拼音转换层提供的输入文本拼音序列进行声韵母分割得到输入文本拼音分割序列;将输入文本拼音分割序列中每个分割单元通过拼音-音素词典进行查找映射,得到对应的音素标签序列。
作为更进一步的解决方案,所述声学特征生成器通过神经网络声学特征生成模型训练迁移产生,所述神经网络声学特征生成模型为Fastspeech 2模型,包括编码器与差分适配器;
所述编码器通过多层残差卷积网络组成,并用于提取训练用梅尔频谱参考图的高维特征信息,所述高维特征信息包括音素持续时间信息、力度信息和能量信息;
所述差分适配器包括Conv1d+ReLU层、LN+Dropout层和Linear Layer层;通过将音素持续时间信息、力度信息和能量信息输入差分适配器进行训练,得到音素持续时间预测层、力度预测层和能量预测层;通过音素持续时间预测层、力度预测层和能量预测层对音素—时间标签参考序列进行预测,并得到对应的梅尔频谱图。
作为更进一步的解决方案,所述声码器通过神经网络声码模型训练迁移产生,所述神经网络声码模型为MelGAN模型,所述神经网络声码模型包括上采样层、残差块和卷积层,所述残差块包括多个用于调整卷积层中膨胀率的膨胀卷积层,通过调整膨胀率来获得更大的卷积野。
作为更进一步的解决方案,所述机器学习语言学音素序列模型、神经网络时间标签模型、神经网络声学特征生成模型和神经网络声码模型均通过基于Python的Tensorflow平台进行构建,通过对Tensorflow平台搭建的训练模型进行训练,并得到对应的32位float型模型浮点参数,所述模型浮点参数用于生成对应的音素序列生成器、音素—时间标签序列生成器、声学特征生成器和声码器;
在ARM侧部署前,还需进行重编译和量化压缩操作,所述重编译和量化压缩操作步骤包括:
通过基于Python的Tensorflow平台构建训练模型并进行模型训练,得到float型模型浮点参数;
将模型浮点参数进行量化压缩,得到整型参数;
将基于Python的训练模型进行Python to c/c++porting重编译,得到基于C和/或C++的训练模型;
将整型参数迁移至基于C和/或C++的训练模型中,得到对应的ARM侧部署文件。
作为更进一步的解决方案,一种ARM侧离线语音合成的装置,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一所述一种ARM侧离线语音合成的方法的步骤。
作为更进一步的解决方案,一种ARM侧离线语音合成的计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一所述一种ARM侧离线语音合成的方法的步骤。
与相关技术相比较,本发明提供的一种ARM侧离线语音合成的方法、装置及存储介质具有如下有益效果:
1、本发明通过对ARM侧设备部署音素序列生成器、音素—时间标签序列生成器、声学特征生成器和声码器来进行离线语音合成,
2、本发明通过对ARM侧设备部署的各生成器进行进行Python to c/c++porting重编译和对Tensorflow平台的32位float型模型浮点参数进行量化压缩,使ARM侧设备能够快速进行离线语音合成且达到节省ARM侧设备所需部署空间、降低ARM侧设备运算要求的目的;
3、本发明通过通过将MelGAN模型作为神经网络声码模型,达到了提升训练速率,在没有额外的蒸馏和感知损失的引入下仍能产生高质量的语音合成模型;将Fastspeech 2模型神经网络声学特征生成模型能达到升模型训练速率和增加了数据的丰富度避免过多的信息损失的目的。
附图说明
图1为本发明提供的一种ARM侧离线语音合成的方法的较佳实施例语音合成流程图;
图2为本发明提供的一种ARM侧离线语音合成的方法的较佳实施例模型训练流程图。
具体实施方式
下面结合附图和实施方式对本发明作进一步说明。
如图1所示,本发明一种ARM侧离线语音合成的方法,运用于具备音频处理、播放和/或传播功能的ARM侧设备中,在ARM侧部署音素序列生成器、音素—时间标签序列生成器、声学特征生成器和声码器;采集需要进行离线语音合成的输入文本;将输入文本通过字符-索引字典转化为以索引为序列元素的输入文本序列;通过所述音素序列生成器将输入文本序列转化为所对应音素标签序列;通过音素—时间标签序列生成器将输入音素标签序列转化为对应音素—时间标签序列;通过声学特征生成器将音素—时间标签序列转化成所对应的梅尔频谱图;通过声码器将梅尔频谱图合成并转换成对应的语音数据;所述ARM侧设备对生成的语音数据进行播放和/或传播操作。
需要说明的是:通过文本合成对应的语音需要通过文本到序列的转换、序列到音素的转换、音素到时间标签序列的转换并得到音素—时间标签序列、通过加入声学特征来将音素—时间标签序列拟声化,通过声码器将带有声学特征数据、音素-时间数据合称成输出语音的原始波形,并用于播放和/或传播操作,此处声学特征选择梅尔频谱图进行提取。
作为更进一步的解决方案,所述音素序列生成器、音素—时间标签序列生成器、声学特征生成器和声码器通过模型训练端产生;所述模型训练端包括机器学习语言学音素序列模型、神经网络时间标签模型、神经网络声学特征生成模型和神经网络声码模型,并通过语音合成训练数据对模型训练端进行训练。
需要说明的是:通过对不同模型进行训练可以得到能生成音素标签序列、音素—时间标签序列、梅尔频谱图和对应的语音数据生成器,仅需将各生成器部署于ARM侧设备上就能实现离线语音合成,其难点在于模型的构建和训练材料的选用。对于训练数据主要分为训练用待合数据和训练用待参考数据,通过训练用待合数据对模型进行训练并得到初步的输出数据,再通过训练用待参考数据对输出数据进行校准评分,模型通过损失函数来逼近训练用待参考数据直至最后达到精度要求,训练完成。
作为更进一步的解决方案,所述语音合成训练数据包括训练用待合成语音文本、训练用待合成语音文本序列、训练用音素标签参考序列、训练用音素—时间标签参考序列、训练用梅尔频谱参考图和训练用合成语音参考数据;
所述机器学习语言学音素序列模型通过训练用待合成语音文本序列和训练用音素标签参考序列进行文本序列音素标注训练,得到能够根据输入文本序列输出对应音素标签序列的音素序列生成器;
所述神经网络时间标签模型通过训练用音素—时间标签参考序列和训练用音素标签参考序列进行音素—时间标注训练,得到能够根据输入音素标签序列输出对应音素—时间标签序列的音素—时间标签序列生成器;
所述神经网络声学特征生成模型通过训练用音素—时间标签参考序列和训练用梅尔频谱参考图进行时频图谱转化训练,得到能够根据输入音素—时间标签序列输出对应的梅尔频谱图的声学特征生成器;
所述神经网络声码模型通过训练用梅尔频谱参考图和训练用合成语音参考数据进行图谱-语音转化合成训练,得到能过根据输入梅尔频谱图合成并输出对应语音数据的声码器。
作为更进一步的解决方案,所述语音合成训练数据均为先验数据,并通过以下步骤进行生成:
所述训练用待合成语音文本通过人工或机器进行编写生成;
将所述训练用待合成语音文本通过字符-索引形式进行序列生成,得到训练用待合成语音文本序列;
将所述训练用待合成语音文本进行人工朗读并音频采集,得到训练用合成语音参考数据;
对训练用合成语音参考数据进行梅尔频谱图转换,得到训练用梅尔频谱参考图;
对训练用合成语音参考数据通过人工进行音素级标注,得到训练用音素标签参考序列;
将训练用音素标签参考序列与训练用合成语音参考数据进行时间向对齐并标注,得到训练用音素—时间标签参考序列。
作为更进一步的解决方案,所述音素序列生成器通过机器学习语言学音素序列模型训练迁移产生,所述音素序列生成器包括文字-拼音转换层和拼音-音素转换层;所述文字-拼音转换层通过隐马尔可夫模型将输入文本序列转化为输入文本拼音序列。
具体的,文字-拼音转换层,主要是将中文文字序列转换为拼音序列,使用的是隐马尔可夫模型(Hidden Markov Model,HMM)。选用此模型是为了解决中文文字中存在多音字的问题,而多音字映射中文——拼音字库时,会存在的映射错误的情况。例如,句(xxxx调整xxxxx)中的词调整,原音是tiao2 zheng3。但由于调有多个发音,diao4、tiao2存在,而字库中diao4的优先级更高,所以会出现diao4 zheng3的情况发生,为此我们训练了基于HMM的模型以解决多音字映射错误的情况。
所述拼音-音素转换层对拼音序列进行分割和音素转换;通过对文字-拼音转换层提供的输入文本拼音序列进行声韵母分割得到输入文本拼音分割序列;将输入文本拼音分割序列中每个分割单元通过拼音-音素词典进行查找映射,得到对应的音素标签序列。
拼音转换音素中,由于拼音中包含了省略声母的情况,但如不加判断的话,会出现字省略的情况。例如,句“xxxxx搭啊”,音素是“d a1 a1”,由于“搭”的“a1”和“啊”的“a1”一致,所以有可能会导致音素的重叠省略,为此需要做分割处理判断。通过声韵母的分割处理判断便能避免这种情况发生。
作为更进一步的解决方案,所述声学特征生成器通过神经网络声学特征生成模型训练迁移产生,所述神经网络声学特征生成模型为Fastspeech 2模型,包括编码器与差分适配器;所述编码器通过多层残差卷积网络组成,并用于提取训练用梅尔频谱参考图的高维特征信息,所述高维特征信息包括音素持续时间信息、力度信息和能量信息;所述差分适配器包括Conv1d+ReLU层、LN+Dropout层和Linear Layer层;通过将音素持续时间信息、力度信息和能量信息输入差分适配器进行训练,得到音素持续时间预测层、力度预测层和能量预测层;通过音素持续时间预测层、力度预测层和能量预测层对音素—时间标签参考序列进行预测,并得到对应的梅尔频谱图。
具体的,所述Conv1d层即一维卷积层,其主要目的是通过卷积计算,得出当前层的音素特征。由于音素特征伴随着时序信息,有着许多变化,为此为了得出当前帧的音素特征,需要通过带有音素序列信息的卷积操作计算得出。而为了能够使得卷积层的参数更适应所学习的训练样本,需要通过ReLU层进行梯度激活。
LN层即Layer Normalization,其主要目的是为了让各种分布不同的训练数据在经过神经网络层后,获得更加接近的特征分布,以使得网络获得更高的拟合度与泛化性,而Dropout层同理。
Linear Layer即线性层。线性层主要是为了让Conv1d所输出的特征获得更深层、细节的特征。其中就包含了深度的音素持续时间信息、力度信息和能量信息。
需要说明的是:本实施采用的Fastspeech 2模型相较于Fastspeech模型来讲,
Fastspeech模型的训练依赖自回归的teacher model、duration prediction以及knowledge distillation的模块;而模块对应的teacher-student、distillation和pipeline复杂而且耗时;teacher model提取的duration不准确;而且由于数据简化,teacher model提取的mel-spec会有信息的损失;而Fastspeech 2采用ground-truth作为训练模型;引入pitch、energy和more accurate duration等speech变量作为条件输入;从而提升了模型训练速率和增加了数据的丰富度,避免过多的信息损失。
作为更进一步的解决方案,所述声码器通过神经网络声码模型训练迁移产生,所述神经网络声码模型为MelGAN模型,所述神经网络声码模型包括上采样层、残差块和卷积层,所述残差块包括多个用于调整卷积层中膨胀率的膨胀卷积层,通过调整膨胀率来获得更大的卷积野。
具体的,由于在wav生成的过程中,需要把深层的特征信息还原成细节更为细致的波形。为此设置了上采样层、残差块和卷积层的顺序形式对波形进行还原。这些层各有分工,其中,上采样层主要是为了让深层信息进行模糊还原。而残差块能够使得在前层模糊还原后,依旧能够保留部分未还原的深层信息,以防止在还原过程中信息的丢失。而卷积层则是为了让还原的波形更为真实,其主要是通过卷积操作的特性完成的。由于卷积操作时,每个卷积核的大小相同,但通过卷积核之间操作特征点的远近可以实现卷积野大小的改变,这就是膨胀卷积的实现原理。
需要说明的是:传统的声码器是通过对抗网络(GAN)模型进行实现,但是由于声音数据具有较高的时间分辨率(通常为每秒16,000个样本),并且在不同时间尺度上存在具有短期和长期依赖性的结构,故本实施例通过MelGAN模型来进行声音的生成。MelGAN相较于传统对抗网络(GAN)模型的区别在于采用非自回归前馈卷积架构,并通过第一个GAN去实现原始音频的生成,在没有额外的蒸馏和感知损失的引入下仍能产生高质量的语音合成模型。此外,MelGAN模型的速度明显快于其他梅尔频谱图转换到音频的方法,在保证音频质量没有明显下降的情况下比迄今为止最快的可用模型快10倍左右。
作为更进一步的解决方案,所述机器学习语言学音素序列模型、神经网络时间标签模型、神经网络声学特征生成模型和神经网络声码模型均通过基于Python的Tensorflow平台进行构建,通过对Tensorflow平台搭建的训练模型进行训练,并得到对应的32位float型模型浮点参数,所述模型浮点参数用于生成对应的音素序列生成器、音素—时间标签序列生成器、声学特征生成器和声码器;
在ARM侧部署前,还需进行重编译和量化压缩操作,所述重编译和量化压缩操作步骤包括:
通过基于Python的Tensorflow平台构建训练模型并进行模型训练,得到float型模型浮点参数;
将模型浮点参数进行量化压缩,得到整型参数;
将基于Python的训练模型进行Python to c/c++porting重编译,得到基于C和/或C++的训练模型;
将整型参数迁移至基于C和/或C++的训练模型中,得到对应的ARM侧部署文件。
需要说明的是:将模型部署于ARM侧需要对空间进行进一步压缩以匹配ARM侧设备的存储特性,本实施例是通过两方面来进行模型压缩的,一方面是通过对基于Python的训练模型进行Python to c/c++porting重编译来进行,由于现阶段的的基于Python的Tensorflow平台为开源平台,其底层代码可以通过其他语言进行重构,本实施例是通过c/c++进行重构,由于c/c++是比Python更接近底层的语言,故通过c/c++对训练模型进行重编译能进一步压缩空间,且能对不必要的模组进行删减,只保留执行语音合成所必要的组建,通过对编译前的基于Python的Tensorflow平台进行训练可以得到相应的float型模型浮点参数,将这些参数移至基于C和/或C++的训练模型中,便能得到对应的基于C和/或C++的ARM侧部署文件。
另一方面,由于Tensorflow平台的参数均为32位float型模型浮点参数,而浮点参数所占用空间大,占用运算资源严重,故本实施对32位float型模型浮点参数进行量化压缩,本实施例提出的量化压缩分为精度型量化压缩和空间型量化压缩。所述精度型量化压缩为INT8量化压缩,将32位float型模型浮点参数压缩为8位int整型参数,所述空间型量化压缩为三值量化压缩,将32位float型模型浮点参数压缩为2位int整型参数。
所述精度型量化压缩运用于ARM侧资源相对充沛的情况下进行,INT8量化压缩能充分保证模型的精度,本实施采用的是NVIDIA的量化方案,该方案为公开方案,为原理公开但代码未开源的方案,故在此不做赘述。
所述空间型量化压缩运用于ARM侧资源相对不充沛的情况下进行,三值量化压缩相较于INT8量化压缩其精度有所下降,但能节省极大的空间,将原参数W通过三值参数Wt与比例系数α相乘近似表示,所述三值参数Wt表示为:
其中:阈值Δ从原参数W中产生,所述阈值Δ为:
其中:i表示参数对应序列数,n表示参数总数;
缩放因子α为:
其中:IΔ={1≤i≤n||Wi>Δ|},|IΔ|表示IΔ中的元素。
本实施例选用三值量化,与二值量化相比,三值量化在1和-1两种值的基础上再加入0值进行构成三值网络,且不增加计算量。
作为更进一步的解决方案,一种ARM侧离线语音合成的装置,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一所述一种ARM侧离线语音合成的方法的步骤。
作为更进一步的解决方案,一种ARM侧离线语音合成的计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一所述一种ARM侧离线语音合成的方法的步骤。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (7)
1.一种ARM侧离线语音合成的方法,运用于具备音频处理、播放和/或传播功能的ARM侧设备中,其特征在于,在ARM侧部署音素序列生成器、音素—时间标签序列生成器、声学特征生成器和声码器;采集需要进行离线语音合成的输入文本;将输入文本通过字符-索引字典转化为以索引为序列元素的输入文本序列;通过所述音素序列生成器将输入文本序列转化为所对应音素标签序列;通过音素—时间标签序列生成器将输入音素标签序列转化为对应音素—时间标签序列;通过声学特征生成器将音素—时间标签序列转化成所对应的梅尔频谱图;通过声码器将梅尔频谱图合成并转换成对应的语音数据;所述ARM侧设备对生成的语音数据进行播放和/或传播操作;
所述音素序列生成器、音素—时间标签序列生成器、声学特征生成器和声码器通过模型训练端产生;所述模型训练端包括机器学习语言学音素序列模型、神经网络时间标签模型、神经网络声学特征生成模型和神经网络声码模型,并通过语音合成训练数据对模型训练端进行训练;
所述语音合成训练数据包括训练用待合成语音文本、训练用待合成语音文本序列、训练用音素标签参考序列、训练用音素—时间标签参考序列、训练用梅尔频谱参考图和训练用合成语音参考数据;
所述机器学习语言学音素序列模型通过训练用待合成语音文本序列和训练用音素标签参考序列进行文本序列音素标注训练,得到能够根据输入文本序列输出对应音素标签序列的音素序列生成器;
所述神经网络时间标签模型通过训练用音素—时间标签参考序列和训练用音素标签参考序列进行音素—时间标注训练,得到能够根据输入音素标签序列输出对应音素—时间标签序列的音素—时间标签序列生成器;
所述神经网络声学特征生成模型通过训练用音素—时间标签参考序列和训练用梅尔频谱参考图进行时频图谱转化训练,得到能够根据输入音素—时间标签序列输出对应的梅尔频谱图的声学特征生成器;
所述神经网络声码模型通过训练用梅尔频谱参考图和训练用合成语音参考数据进行图谱-语音转化合成训练,得到能过根据输入梅尔频谱图合成并输出对应语音数据的声码器;
所述语音合成训练数据均为先验数据,并通过以下步骤进行生成:
所述训练用待合成语音文本通过人工或机器进行编写生成;
将所述训练用待合成语音文本通过字符-索引形式进行序列生成,得到训练用待合成语音文本序列;
将所述训练用待合成语音文本进行人工朗读并音频采集,得到训练用合成语音参考数据;
对训练用合成语音参考数据进行梅尔频谱图转换,得到训练用梅尔频谱参考图;
对训练用合成语音参考数据通过人工进行音素级标注,得到训练用音素标签参考序列;
将训练用音素标签参考序列与训练用合成语音参考数据进行时间向对齐并标注,得到训练用音素—时间标签参考序列。
2.根据权利要求1所述的一种ARM侧离线语音合成的方法,其特征在于,所述音素序列生成器通过机器学习语言学音素序列模型训练迁移产生,所述音素序列生成器包括文字-拼音转换层和拼音-音素转换层;
所述文字-拼音转换层通过隐马尔可夫模型将输入文本序列转化为输入文本拼音序列;
所述拼音-音素转换层对拼音序列进行分割和音素转换;通过对文字-拼音转换层提供的输入文本拼音序列进行声韵母分割得到输入文本拼音分割序列;将输入文本拼音分割序列中每个分割单元通过拼音-音素词典进行查找映射,得到对应的音素标签序列。
3.根据权利要求1所述的一种ARM侧离线语音合成的方法,其特征在于,所述声学特征生成器通过神经网络声学特征生成模型训练迁移产生,所述神经网络声学特征生成模型为Fastspeech 2模型,包括编码器与差分适配器;
所述编码器通过多层残差卷积网络组成,并用于提取训练用梅尔频谱参考图的高维特征信息,所述高维特征信息包括音素持续时间信息、力度信息和能量信息;
所述差分适配器包括Conv1d+ReLU层、LN+Dropout层和Linear Layer层;通过将音素持续时间信息、力度信息和能量信息输入差分适配器进行训练,得到音素持续时间预测层、力度预测层和能量预测层;通过音素持续时间预测层、力度预测层和能量预测层对音素—时间标签参考序列进行预测,并得到对应的梅尔频谱图。
4.根据权利要求1所述的一种ARM侧离线语音合成的方法,其特征在于,所述声码器通过神经网络声码模型训练迁移产生,所述神经网络声码模型为MelGAN模型,所述神经网络声码模型包括上采样层、残差块和卷积层,所述残差块包括多个用于调整卷积层中膨胀率的膨胀卷积层,通过调整膨胀率来获得更大的卷积野。
5.根据权利要求1所述的一种ARM侧离线语音合成的方法,其特征在于,所述机器学习语言学音素序列模型、神经网络时间标签模型、神经网络声学特征生成模型和神经网络声码模型均通过基于Python的Tensorflow平台进行构建,通过对Tensorflow平台搭建的训练模型进行训练,并得到对应的32位float型模型浮点参数,所述模型浮点参数用于生成对应的音素序列生成器、音素—时间标签序列生成器、声学特征生成器和声码器;
在ARM侧部署前,还需进行重编译和量化压缩操作,所述重编译和量化压缩操作步骤包括:
通过基于Python的Tensorflow平台构建训练模型并进行模型训练,得到float型模型浮点参数;
将模型浮点参数进行量化压缩,得到整型参数;
将基于Python的训练模型进行Python to c/c++porting重编译,得到基于C和/或C++的训练模型;
将整型参数迁移至基于C和/或C++的训练模型中,得到对应的ARM侧部署文件。
6.一种ARM侧离线语音合成的装置,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1-5任一所述一种ARM侧离线语音合成的方法的步骤。
7.一种ARM侧离线语音合成的计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5中任一所述一种ARM侧离线语音合成的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110599311.4A CN113362803B (zh) | 2021-05-31 | 2021-05-31 | 一种arm侧离线语音合成的方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110599311.4A CN113362803B (zh) | 2021-05-31 | 2021-05-31 | 一种arm侧离线语音合成的方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113362803A CN113362803A (zh) | 2021-09-07 |
CN113362803B true CN113362803B (zh) | 2023-04-25 |
Family
ID=77528328
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110599311.4A Active CN113362803B (zh) | 2021-05-31 | 2021-05-31 | 一种arm侧离线语音合成的方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113362803B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108269568A (zh) * | 2017-01-03 | 2018-07-10 | 中国科学院声学研究所 | 一种基于ctc的声学模型训练方法 |
CN111312231A (zh) * | 2020-05-14 | 2020-06-19 | 腾讯科技(深圳)有限公司 | 音频检测方法、装置、电子设备及可读存储介质 |
CN111599343A (zh) * | 2020-05-14 | 2020-08-28 | 北京字节跳动网络技术有限公司 | 用于生成音频的方法、装置、设备和介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10872598B2 (en) * | 2017-02-24 | 2020-12-22 | Baidu Usa Llc | Systems and methods for real-time neural text-to-speech |
US10319364B2 (en) * | 2017-05-18 | 2019-06-11 | Telepathy Labs, Inc. | Artificial intelligence-based text-to-speech system and method |
CN111798832A (zh) * | 2019-04-03 | 2020-10-20 | 北京京东尚科信息技术有限公司 | 语音合成方法、装置和计算机可读存储介质 |
-
2021
- 2021-05-31 CN CN202110599311.4A patent/CN113362803B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108269568A (zh) * | 2017-01-03 | 2018-07-10 | 中国科学院声学研究所 | 一种基于ctc的声学模型训练方法 |
CN111312231A (zh) * | 2020-05-14 | 2020-06-19 | 腾讯科技(深圳)有限公司 | 音频检测方法、装置、电子设备及可读存储介质 |
CN111599343A (zh) * | 2020-05-14 | 2020-08-28 | 北京字节跳动网络技术有限公司 | 用于生成音频的方法、装置、设备和介质 |
Non-Patent Citations (1)
Title |
---|
Xiaolian Zhu等.Pre-Alignment Guided Attention for Improving Training Efficiency and Model Stability in End-to-End Speech Synthesis.《IEEE Access》.2019,全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN113362803A (zh) | 2021-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112017644B (zh) | 一种声音变换系统、方法及应用 | |
CN112863483B (zh) | 支持多说话人风格、语言切换且韵律可控的语音合成装置 | |
CN111739508B (zh) | 一种基于dnn-hmm双模态对齐网络的端到端语音合成方法及系统 | |
Ghai et al. | Literature review on automatic speech recognition | |
CN110767213A (zh) | 一种韵律预测方法及装置 | |
CN112489629B (zh) | 语音转写模型、方法、介质及电子设备 | |
JP2005502102A (ja) | 音声−音声生成システムおよび方法 | |
US11475874B2 (en) | Generating diverse and natural text-to-speech samples | |
Ghai et al. | Analysis of automatic speech recognition systems for indo-aryan languages: Punjabi a case study | |
CN102254554B (zh) | 一种对普通话重音进行层次化建模和预测的方法 | |
US11295725B2 (en) | Self-training WaveNet for text-to-speech | |
Bellegarda et al. | Statistical prosodic modeling: from corpus design to parameter estimation | |
CN113327574B (zh) | 一种语音合成方法、装置、计算机设备和存储介质 | |
CN112580340A (zh) | 逐字歌词生成方法及装置、存储介质和电子设备 | |
Sefara et al. | HMM-based speech synthesis system incorporated with language identification for low-resourced languages | |
CN112509550A (zh) | 语音合成模型训练方法、语音合成方法、装置及电子设备 | |
CN111599339A (zh) | 具有高自然度的语音拼接合成方法、系统、设备及介质 | |
Besacier et al. | ASR and translation for under-resourced languages | |
Wang et al. | CE-Tacotron2: end-to-end emotional speech synthesis | |
CN113362803B (zh) | 一种arm侧离线语音合成的方法、装置及存储介质 | |
Seid et al. | A speaker independent continuous speech recognizer for Amharic | |
CN115359775A (zh) | 一种端到端的音色及情感迁移的中文语音克隆方法 | |
Janyoi et al. | An Isarn dialect HMM-based text-to-speech system | |
JP2021148942A (ja) | 声質変換システムおよび声質変換方法 | |
Wang et al. | Non-parallel Accent Transfer based on Fine-grained Controllable Accent Modelling |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |