业界 | 吴恩达盛赞的Deep Voice详解教程,教你快速理解百度的语音合成原理(上)

AI科技评论按:百度前段时间推出了语音合成应用 Deep Voice,AI科技评论也于近日回顾了百度在语音识别及语音合成的研究历程《从SwiftScribe说起,回顾百度在语音技术的七年积累》,但对于不了解TTS的同学们来说,要理解 Deep Voice 同样困难。

而近日,百度首席科学家吴恩达在 Twitter 上转发了MIT Dhruv Parthasarathy 的一篇medium 文章,其详细阐述了Baidu Deep Voice 的具体原理及操作方法。吴恩达表示,“如果你是语音合成的新手,那么这篇文章便是 Deep Voice 优秀且可读性强的一个总结。感谢@dhruvp! ”AI科技评论编译,未经许可不得转载,以下为原文内容:

我希望把 ML/AI 领域最新的重要文章做成一个系列,该领域的文章里有相当多非常直观的思路,希望这些直观的思路能在本文中有所展现。百度 Deep Voice 是一个应用深度学习把文本转换成语音的系统, 这篇文章是本系列的第一篇博文,也是分析 Deep Voice 文章的上篇。

百度 Deep Voice

首先贴上Deep Voice 的 Arxiv链接:https://arxiv.org/abs/1702.07825

最近,吴恩达所在的百度人工智能团队发布了一篇令人叹为观止的文章,文章介绍了一种基于深度学习把文本转换成语音的新系统。文章中百度 Deep Voice 生成的录音例子如下所示,让结果来说话(录音内容)

百度文本转换语音系统成果。录音来源:http://research.baidu.com/deep-voice-production-quality-text-speech-system-constructed-entirely-deep-neural-networks/

显而易见,与 MacOS 的 TTS (文本转换成语音)系统相比,百度 Deep Voice 生成的录音听起来更自然,更像人类朗读的声音。但以上结果应当注意到一个大前提——百度 Deep Voice 原型有一个先天优势,那就是它利用人类朗读的一个录音源件来进行训练,这给它添加了一点人类说话的韵味。除此之外,Deep Voice还可以访问频率和持续时间数据。

除了能输出高质量的语音,论文创新的几个关键点是:

1. Deep Voice 将深度学习应用于语音合成的全过程。

以前的 TTS 系统会在某些环节上采用深度学习,但在Deep Voice之前,没有团队采用全深度学习的框架。

2.需要提取的特征非常少,因此容易应用于不同的数据集。

传统语音合成需要进行大量的特征处理和特征构建,但百度通过使用深度学习避免了这些问题。这使得 Deep Voice 的应用范围更加广泛,使用起来也更加方便。论文中也提到,如果需要应用于新的数据集,与传统系统动辄几个星期的时间相比,Deep Voice 可以在几个小时内完成重新调试:

传统的 TTS 系统完成(重新训练)需数天到数周的时间进行调节,而对Deep Voice进行手动操作和训练模型所需的时间只要几个小时就足够。

3.与现有技术相比,这个系统非常高效,专为生产系统而设计。

相比于 DeepMind 关于人类音频合成的开创性论文中实现的 WaveNet ,现在这个系统的有效速度提升了400倍。

我们专注于创建一个能迅速实现产品化的系统,这需要我们的模型能运行实时推断。Deep Voice 可以在几分之一秒内合成音频,并在合成速度和音频质量之间提供可调和的权衡。相比之下, WaveNet 合成一秒钟的音频,系统需要跑好几分钟。

一、背景材料

光说说这些创新点就足以令人感到兴奋不已了!但是它是如何工作的呢?这篇博文的剩余部分,将尝试深入研究 Deep Voice 的不同部分,以及分析它们是如何融合在一起的。在此之前,可能你需要先看看这个视频,了解一下基础知识:

  • 曾在斯坦福大学与Andrew Ng 一起工作的 Adam Coates 是 Deep Voice 的作者之一, Coates 博士在百度发表了关于把深度学习应用到语音的演讲(从3:49处开始观看)。

做好了功课,现在是时候深入探究 Deep Voice 的工作原理了!这篇博客的其余部分将遵循以下结构:

1.首先,看看 Deep Voice 如何理解一个例句并将其转换为与人声相似的语音(这一步就是大家熟知的合成流程)。 2.然后将推理流程进一步拆解,了解每个部分的作用。 3.接下来,我们将介绍这些独立部分实际上是如何训练的,以及实际的培训数据和标签。 4.最后,在下一篇博文中,我们将深究用于实现这些不同组件的深度学习架构。

二、合成流程——将新文本转换为语音

现在让我们立足高点,看看 Deep Voice 如何识别一个简单的句子,并将其转换为我们听得见的音频。

我们即将探究的流程具有以下结构:

Deep Voice 的推理线路。来源:https://arxiv.org/pdf/1702.07825.pdf

为了理解这些组件是什么,以及它们如何组合在一起,我们一起逐步细究合成的具体过程。我们来看看 Deep Voice 是如何处理下面这个句子的:

It was early spring.

步骤1:将语素(文本)转换为音素

以英语为代表的语言不是语音语言(phonetic)。

(雷锋网AI科技评论按:语音语言指的是单词拼写与读音一致的语言,比如拉丁语就是一种典型的语音语言,即单词中没有不发音的字母,每个字母都有固定的发音。 )

例如以下单词(参考于linguisticslearner),都带后缀“ough”:

1.thoug (和 go 里面的 o 类似 )

2.through (和 too 里面的 oo 类似)

3.cough (和 offer 里面的 off 类似 )

4.rough (和 suffer 里面的的 uff 类似)

注意,即使它们有相同的拼写,但它们的发音却完全不同。如果我们的 TTS 系统使用拼写作为其主要输入,即使有相同的后缀,在接受为什么"thoug"和"rough"发音如此不同上,会不可避免地会陷入困境。 因此,我们需要使用稍微不同的表达方式,展示出更多的发音信息。

音素正是这样的一样东西。我们发出来的声音由不同音素单位组成。将因素组合在一起,我们几乎可以 重复发出任何单词的发音。这里有几个拆分成音素的词语(改编自CMU的音素字典):

· White Room - [ W, AY1, T, ., R, UW1, M,. ]

· Crossroads - [ K, R, AO1, S, R, OW2, D, Z, . ]

在音素旁边的1,2等数字表示应该发重音的位置。此外,句号表示音间停顿。

因此 Deep Voice 的第一步是,利用一个简单的音素字典,把每个句子直接转换为对应的音素。

我们的句子

处理我们句子的第一步, Deep Voice 将具有以下输入和输出。

· Input - "It was earky spring"

· Output - [IH1, T, ., W, AA1, Z, ., ER1, L, IY0, ., S, P, R, IH1, NG,. ]

在下一篇博文中我们将介绍如何训练这样的模型。

步骤2,第1部分:预测持续时间

现在有了音素后,我们需要估计在说话时,这些音素的发音时间。这也是一个有趣的问题,因为音素应该基于上下文来决定它们或长或短的持续时间。拿下面围绕音素“AH N”的单词举例:

· Unforgettable

· Fun

相比第二个单词,“AH N”显然需要在第一个单词里发更长的发音时间,我们可以训练系统做到这一点。能够理解每个音素,并预测它们的发音时长(以秒为单位)是关键。

我们的句子

在这一步我们的例句会变成以下形式:

· Input - [IH1, T, ., W, AA1, Z, ., ER1, L, IY0, ., S, P, R, IH1, NG,.]

· Output - [IH1 (0.1s), T(0.05s),. (0.01s),...]

步骤2,第2部分:基频预测

基本频率(蓝线)是声带发出浊音音素期间产生的最低频率(将其视为波形的形状)。我们的目标是预测每个音素的基频。

为了让发音尽可能地接近人声,我们还想要预测出每个音素的音调和语调。这一点从多方面考量,对以汉语为代表的语言尤为重要。因为这些语言中,相同的声音,读出不同的音调和重音具有完全不同的含义。预测每个音素的基频有助于我们发好每一个音素,因为频率会告诉系统,什么音素该发什么音高和什么音调。

此外,一些音素并不完全都发浊音,这意味着发这些音不需要每次都震动声带。

例如,拿发音“ssss”和“zzzz”做例子,注意到前者是清音 (unvoiced),发音时声带没有振动,而后者是浊音 (voiced) ,发音时声带振动了。

我们的基本频率预测也将考虑到这一点,预测出何时应当发清音,何时应该发浊音。

我们的句子

在这一步我们的例句会变成以下形式:

· Input - [IH1, T, ., W, AA1, Z, ., ER1, L, IY0, ., S, P, ., R, Ih1, NG,.]

· Output - [IH1(140hz),T(142hz),. (Not voiced),...]

步骤3:音频合成

在最后一步,我们将音素、持续时间和基频 (F0 profile) 合并,生成一个真正的音频。

生成语音的最后一步是,合并音素、持续时间和频率,输出声音。Deep Voice 是基于 DeepMind 的 WaveNet 基础之上的改进版本,成功地实现了这一步。为了理解WaveNet的基础架构,强烈建议阅读他们的原创博客文章。

基于每个输入的贡献, DeepMind 的原始 WaveNet 可以把众多不同输入扩大指数倍。注意上面列出的指数树结构。

资源:https://deepmind.com/blog/wavenet-generative-model-raw-audio/

WaveNet 生成原始波形,允许生成所有类型的声音,不同的口音、情绪、呼吸和人类语音的其他基本部分都能包含在内,这样的声音和人类的声音区别就非常小了。此外, WaveNet 甚至能在这一步之上生成音乐。

在发布的文章中,百度团队通过优化程序的执行能力,特别是优化执行生成高频输入的能力来改进 WaveNet 。因此, WaveNet 需要几分钟来生成一秒钟的新音频,百度修改后的 WaveNet 可能只需要几分之一秒完成同样的任务,如 Deep Voice 的作者所述:

Deep Voice 可以在几分之一秒内合成音频,并在合成速度和音频质量之间提供可调谐的权衡。相比之下,以前的 WaveNe 合成一秒钟的音频需要几分钟的运行时间。

我们的句子

下面是 Deep Voice 管道最后一步的输入和输出!

·Input - [IH1(140hz,0.5s), T(142hz, 0.1s),. (Not voiced, 0.2s), W(140hz, 0.3s), ...]

·Output - see bolow. 录音

文字转语音结果。录音来源:http://research.baidu.com/deep-voice-production-quality-text-speech-system-constructed-entirely-deep-neural-networks/

三、概要

以上就是探究的结果了!通过这三个步骤,我们已经看到了 Deep Voice 如何理解一段简单的文字,以及如何生成这段文字的读音。以下是这些步骤的再次总结:

1.将文本转换为音素。“It was early spring” · [IH1, T, ., W, AA1, Z, ., ER1, L, IY0, ., S, P, R, IH1, NG,. ] 2.预测每个音素的发音持续时间和频率。 · [IH1, T, ., W, AA1, Z, ., ER1, L, IY0, ., S, P, R, IH1, NG,. ] - > [IH1 (140hz, 0.5s), T (142hz, 0.1s), . (Not voiced, 0.2s), W (140hz, 0.3s),…] 3.合并音素、持续时间和频率,输出该文本的声音。 · [IH1 (140hz, 0.5s), T (142hz, 0.1s), . (Not voiced, 0.2s), W (140hz, 0.3s),…] - > Audio

但是我们该如何实际训练 Deep Voice 以便能够执行上述这些步骤呢? Deep Voice 如何利用深度学习实现这个目标?

在下一篇博文中,我们将介绍 Deep Voice 训练的方方面面,并展示更多底层神经网络背后的奥妙。

via athelas

原文发布于微信公众号 - AI科技评论(aitechtalk)

原文发表时间:2017-03-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大数据挖掘DT机器学习

如何利用数据做排行榜?

8月15日上海交通大学世界一流大学研究中心发布2015年“世界大学学术排名”。今年,哈佛大学蝉联榜首,剑桥大学排名第2,第3-5名依次是牛津大学、...

3907
来自专栏大数据挖掘DT机器学习

北大老鸟三年数据分析深刻总结——致学弟学妹们

以下是我在近三年做各类计量和统计分析过程中感受最深的东西,或能对大家有所帮助。当然,它不是ABC的教程,也不是细致的数据分析方法介绍,它只是“总结”和“体会”。...

6926
来自专栏数据的力量

数据挖掘中易犯的10大错误

1375
来自专栏ATYUN订阅号

【科技】豹变猫?实时场景转变?NVIDIA多模式图像转换技术都能实现

改变美洲豹身上的斑点似乎是个很有趣的想法,而这个想法也并非天方夜谭。通过NVIDIA新的加速GPU深度学习技术,无论是图片还是视频,甚至是实体美洲豹,都能使其变...

862
来自专栏MixLab科技+设计实验室

如何量化一张图片的色彩关系?

上一期讲到Brandmark提出了一种表达色彩比例及关系的数据结构,无向色彩节点图,见下图:

1682
来自专栏数据派THU

独家 | 一文读懂社交网络分析-上(附学习资源)

(点击可查看大图) 本文主要阐述: 社交网络的结构特性与演化机理 社交网络群体行为形成与互动规律 社交网络信息传播与演化机理 浏览后四章的内容请见下篇(2017...

65610
来自专栏华章科技

干货 :数据挖掘中易犯的11大错误

5. 使用了未来的信息(Accept Leaks from the Future)

852
来自专栏大数据挖掘DT机器学习

如何利用数据做排行榜?

8月15日上海交通大学世界一流大学研究中心发布2015年“世界大学学术排名”。今年,哈佛大学蝉联榜首,剑桥大学排名第2,第3-5名依次是牛津大学、麻省理工学...

3454
来自专栏人工智能快报

康奈尔大学博士生研究人工智能“黑箱”偏置值问题

来自美国康奈尔大学的博士研究生萨拉·谭(Sarah Tan)等人在arXiv发表的论文中提出了一种解决“黑箱”算法验证问题的方法。 在股票交易、医疗决策等领域,...

3509
来自专栏企鹅号快讯

数据挖掘中最易栽的十个大坑

欢迎关注数据超市微信公众号 按照 Elder 博士的总结,这 10 大易犯错误包括: 1. 太关注训练( Focus on Training ) 2. 只依赖一...

28312

扫码关注云+社区