关注52AI,做AI的行业领先者。QQ人工智能行业交流群:626784247.
01
本期分享的主题是语音合成技术,以下是本次分享的主要内容:
1.语音合成技术简介
1.1 什么是语音合成?
语音合成技术是将任意文本转换成语音的技术。是人与计算机语音交互必不可少的模块。如果说语音识别技术是让计算机学会“听”人的话,将输入的语音信号转换成文字,那么语音合成技术就是让计算机程序把我们输入的文字“说”出来,将任意输入的文本转换成语音输出。
1.2 语音合成的应用场景和研究范围
语音合成技术是人与计算机语音交互中必不可少的模块。从地图导航(例如高德地图高晓松语音导航),语音助手(Apple Siri, Google Assistant,微软 Cortana, Nuance Nina), 小说、新闻朗读(书旗、百度小说), 智能音箱(Amazon Alexa, 天猫精灵, Google Home,Apple Pod Home 等 ),语音实时翻译,到各种大大小小的客服,呼叫中心,甚至机场广播,地铁公交车报站都少不了语音合成技术的身影。
而且不仅仅是文字转语音,语音合成技术研究范围还包括且不限于:说话人转换(看过007么), 语音频带拓展, 歌唱语音合成(例如:日本很火的初音未来),耳语语音合成(whisper), 方言合成(四川话,粤语, 甚至古代汉语发音),动物叫声合成,等等等等。
1.3 一个典型的语音合成系统流程图
如下图所示,一个典型的语音合成系统主要包括前端和后端两个部分。前端部分主要是对输入文本的分析,从输入的文本提取后端建模需要的信息。例如:分词(判断句子中的单词边界),词性标注(名词,动词,形容词等),韵律结构预测(是否韵律短语边界),多音字消岐等等。后端的部分读入前端文本分析结果,并且对语音部分结合文本信息进行建模。在合成过程中,后端会利用输入的文本信息和训练好的声学模型,生成出语音信号,进行输出。
1.4 语音产生的过程
一个人发声的过程可以看成肺部气流通过人的声带,并经过口腔形状调制,最后从嘴唇发出的过程。当人发轻声时,肺部气流通过声带时,声带不会振动,因此我们可以将通过的气流用白噪声信号来表示。相对的,当人发元音或者浊辅音时,当气流通过声带时,声带会有节奏地振动,这时,我们将通过的气流用冲激串表示。同时,我们把声带振动的频率叫做基频(f0)。人的音色和具体发什么音是和发音时的口腔形状相关。因此我们可以将人发生的过程简单的看成一个激励信号(气流)通过滤波器(口腔形状)调制,最后通过嘴唇发射出去的过程。
1.5 三种现阶段主要的语音合成系统
现阶段的语音合成系统,根据所采用的方法和框架不同,主要可以分为三种: A. 参数语音合成系统。B. 拼接语音合成系统。C. 基于波形的统计合成系统(WaveNet) 。其中A, B 是现阶段各大公司线上主流的合成系统,C WaveNet 的方法还在研究阶段,是现阶段研究的热门。
A. 参数语音合成系统的特点是,在语音分析阶段,需要根据语音生成的特点,将语音波形(speech waves) 通过声码器转换成频谱,基频,时长等语音或者韵律参数。在建模阶段对语音参数进行建模。并且在语音合成阶段,通过声码器从预测出来的语音参数还原出时域语音信号。参数语音合成系统的优势在于模型大小较小,模型参数调整方便(说话人转换,升降掉),而且合成语音比较稳定。缺点在于合成语音音质由于经过参数化,所以和原始录音相比有一定的损失。
B. 拼接语音合成系统的特点是,不会对原始录音进行参数化,而会将原始录音剪切成一个一个基本单元存储下来。在合成过程中,通过一些算法或者模型计算每个单元的目标代价和连接代价,最后通过Viterbi算法并且通过PSOLA(Pitch Synchronized Overlap-Add)或者WSOLA(Waveform Similarity based Overlap-Add)等信号处理的方法“拼接”出合成语音。因此,拼接语音合成的优势在于,音质好,不受语音单元参数化的音质损失。但是在数据库小的情况下,由于有时挑选不到合适的语音单元,导致合成语音会有Glitch 或者韵律、发音不够稳定。而且需要的存储空间大。
C. WaveNet 波形统计语音合成是Deep Mind 首先提出的一种结构,主要的单元是 Dilated CNN (卷积神经网络)。这种方法的特点是不会对语音信号进行参数化,而是用神经网络直接在时域预测合成语音波形的每一个采样点。优势是音质比参数合成系统好,略差于拼接合成。但是较拼接合成系统更稳定。缺点在于,由于需要预测每一个采样点,需要很大的运算量,合成时间慢。WaveNet 证明了语音信号可以在时域上进行预测,这一点以前没有方法做到。现阶段WaveNet是一个研究热点。
1.6 合成语音的评价标准
声音的好听与难听是一个相对主观的概念,因此合成语音的好坏主要通过找很多测听人员对合成语音进行打MOS(Mean Opinion Score)分,其中MOS的范围是 1-5 分,分别代表 1: Bad, 2: Poor, 3: Fair, 4: Good, 5: Excellent 。MOS打分可以对合成语音的音质,可懂度,相似度,或者其他的分项进行评价,也可以对语音的整体自然度进行评价。
2. INTERSPEECH 2017 语音合成论文介绍
下面介绍一些INTERSPEEECH 2017 语音合成方面的论文。本次INTERSPEECH会议WaveNet是很火的一个题目,专门有一个部分是讲WaveNet的各种应用。另外,本次会议里,各大公司也发表了介绍自己线上语音合成系统的文章,特别是苹果的Siri, 这也是Siri第一次发表介绍系统结构的论文。
2.1 WaveNet and Novel Paradigms
这个 Section都是以WaveNet为结构来做一些事情。主要介绍一下几篇论文。
2.1.1 PAPER Tue-O-4-1-1 — Speaker-Dependent WaveNet Vocoder
这篇文章是日本名古屋大学的文章,主要是用WaveNet来做声码器,不同于基本的WaveNet,这篇文章不再condition on 每一帧的 linguistic feature, 而是condition on acoustic feature(声学参数,比如频谱参数 ,基频参数)。通过给定每一帧的acoustic feature,通过WaveNet, 而不是传统的声码器,就能得到合成语音。实验证明了,对于不同的说话人集合,WaveNet声码器都好于传统的 MLSA (Mel-Log S)声码器。
但作者也提到训练和WaveNet预测的过程非常慢,用单GPU TITAN X, 对每一个说话人训练需要2天时间,并且合成仅仅2秒钟的语音需要6分钟的时间。
2.1.2 PAPER Tue-O-4-1-2 — Waveform Modeling Using Stacked Dilated Convolutional Neural Networks for Speech Bandwidth Extension
这篇文章是中科大讯飞实验室发表的文章,文章的目标是用WaveNet的结构,从窄带语音信号预测出相应的宽带语音信号。和基础的WaveNet相比,文章将auto-regressive的生成方式换成了直接mapping 的方式,同时尝试了用non-casual CNN 和 casual CNN作比较。结论是用non-casual CNN先只预测高频信号,然后再跟原始低频信号相加生成宽带信号能得到最好的结果。
2.1.3 PAPER Tue-O-4-1-5 — Statistical Voice Conversion with WaveNet-Based Waveform Generation
这篇文章也是名古屋大学的文章,文章用WaveNet的结构实现说话人语音转换(Voice Conversion),结论是好于传统的GMM说话人转换的方法。这篇文章其实也是将WaveNet作为一个声码器,在合成的时候,将转换以后的语音参数作为condition生成speech wave。下图是基于WaveNet语音转换的结构框图。
2.2 公司发表的介绍自己合成系统的文章
2.2.1 Apple : Siri On-Device Deep Learning-Guided Unit Selection Text-to-Speech System
这是 Siri 系统第一次发文章,主要介绍了apple最近 TTS 方面的 deep learning 方面的进展, TTS 的性能提升。从实验结果来看,在各种不同的语种上,基于Mix density network (MDN)的拼接语音合成系统明显优于之前的传统的Siri拼接合成系统。以下是具体结果。
2.2.2 Google’s Next-Generation Real-Time Unit-Selection Synthesizer using Sequence-To-Sequence LSTM-based Autoencoders
2.2.3 Nuance : Unit selection with Hierarchical Cascaded Long Short Term Memory Bidirectional Recurrent Neural Nets
Nuance 公司也发表了介绍自己合成系统的文章。是一个基于Hierarchical LSTM 的拼接合成系统。结果证明Hierarchical LSTM结构在合成语音韵律上好于非Hierarchical LSTM。
2.2.4 Google : Tacotron: Towards End-to-End Speech Synthesis
这篇 google 的文章早前在 arxiv 上放出,和 WaveNet 相比 Tacotron 系统是以 frame 而不是每一个 sample 点为单位进行模型训练和预测,所以速度上会更快。Tacotron 是在 Spectrogram 上建模,不像 WaveNet 是在波形上建模。所以和 WaveNet 相比, Tacotron 还是损失了frame 相位的信息。最后Tacotron 通过 Griffin-Lim 算法直接从 Spectrogram 还原出wave。 在 acoustic model 上面, Tacotron 用了 pre-net 对每一个字的 embedding 进行了进一步的非线性编码, 并且通过 CBHG 结构来增加模型的鲁棒性。在建模过程中,作者使用了 Attention 的机制来控制每一帧的 condition。 模型也是通过 feed in 上一帧的输出来得到当前帧的输入。总的来说,这是一篇非常值得借鉴的文章。
2.3一些其他的论文
02
—
52AI
52AI,专注服务于普通人的AI 学习和发展,让大众受益于人工智能就是我们的愿望。我们坚信只有对大众收益的科技才是有意义的,也是我们追求的方向。