微信号:bornmobile

介绍:专注于分享移动开发前沿和一线技术.

苹果公司透露Siri新发音引擎的内部原理

2017-09-14 20:19 薛命灯 译

有没有觉得Siri最近的声音越来越像真人了?苹果公司透露了他们通过深度学习让 Siri 的发音更加自然的内幕。

iPhone 用户使用自然语言向 Siri 提问,Siri 也通过语音回答问题。Siri 可以使用 21 种语言回答问题,遍布全球 36 个国家。在 2017 年 WWDC 大会上,苹果宣布了 iOS 11 上的 Siri 将使用最新的文本语音引擎。2017 年 8 月,苹果的机器学习期刊透露了他们是如何让 Siri 的发音更加自然的。

iPhone 上的语音是通过拼接预先录制的人类语音来生成的。先录制几个小时的语音,再把它们拆分成单词,然后再把单词拆成最基本的元素:音素。在生成句子的时候,系统会选择合适的音素,再把它们拼接在一起。

为音素选择合适的录音是一件很有挑战性的事情。每一个音素都要与发音相匹配,也要与相邻的其他音素相匹配。旧系统只有几种录音,音素的来源很有限,所以听起来有点不自然。于是苹果决定使用深度学习来确定声音单元在句子中的各种属性。

每一台 iOS 设备都包含了一个小型的预录音素数据库。每一份数据都包含了音频属性:声音频谱的音高和音长。一个经过训练的“深度混合密度网络(deep mixture density network)”用于预测每一个音素在句子中的特征。苹果设计了一个成本函数来训练这个网络,着重考虑到两个方面的问题:如何让音素与发音相匹配以及如何让它与句子相融合。

在通过“Viterbi”算法从数据库里找到需要的数据后,系统会选出最佳的音素组合,把它们拼接起来,然后播放出声音。

另一种方式是生成声波,而不是拼接预录的声音。2016 年 9 月,Alphabets Deepmind 发布了 WaveNet 引擎,可以基于电脑生成文本语音。它的不足是速度很慢,就算使用最快的台式电脑也需要很长时间才能完成合成任务。所以,Siri 不会在短时间使用合成语音代替录制语音。

参考链接:

  • https://www.youtube.com/watch?v=yGsbnKkSUFQ

  • https://machinelearning.apple.com/2017/08/06/siri-voices.html

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



小编推荐:

想知道第一部Mac是如何被开发出来的?想了解更多苹果公司的工程师文化?想学习硅谷人是如何将产品做到极致的?想领略乔布斯的领导魅力?这本书都能告诉你。点击【阅读原文】即可购买,还有精美书签赠送哦~

 
移动开发前线 更多文章 iPhone X 交互设计官方指南 视频编解码的过去、现在和未来 基于开源项目搭建 Android 技术堆栈 ARCore:移动AR的浪潮 移动开发每周阅读清单:谷歌发布ARCore、细说微信小程序
猜您喜欢 Objective-C 与 Runtime:为什么是这样? 【原译】webpack 2和babel 6的tree-shaking 做开发十年,我总结出了这些开发经验 安全观点:企业信息安全十大痛点,你中招了?w 数据引擎查询原理及应用