如果有一天电脑会模仿你的声音开口说话,请别惊讶,改变正在发生

本文刊载于《三联生活周刊》2019年第33期,原文标题《让电脑说人话》,严禁私自转载,侵权必究

如果将来有一天电脑模仿你熟悉的人的嗓音开口说话,请别惊讶。

主笔/袁越

配备摄像头和麦克风阵列的智能会议系统“黑塔”

量身定制的音频课

如今流行音频课,人们可以把平时花在通勤和锻炼上的时间利用起来听书学习。不久前,三联中读打算把我在杂志上写的《生命八卦》专栏做成音频,我立刻表示反对,因为那个专栏我写了15年,加起来超过了80万字。我可不想把自己关在录音棚里一遍又一遍地朗读旧文,那是要死人的。

一位编辑提议把文章输进电脑程序里自动生成音频,但我仍然不同意,因为我以前听过这样的音频内容,根本听不进去。记得那是一本惊险小说,内容紧张刺激,但电脑程序显然是按照中文的标准发音一个字一个字地往外蹦,基本没有正常人说话时的音调起伏和节奏变化,情感表达更是完全缺失。我原以为我可以克服这个障碍,毕竟小说本来就是由一个个独立的汉字组合而成的,背后的精彩故事全靠读者脑补。电脑所做的不过是把汉字的视觉信号转变成汉语的音频信息,相当于换一个脑补的方式罢了,这有啥难的?可试了几天之后,我发现真的很难!这种单调的机器声不但理解起来有困难,甚至会让人犯困,我经常听着听着就在地铁里睡着了。

经过那次试验,我终于亲身体会到了韵律对于语言的重要性。人类通过语言表达的信息有很多都是通过韵律的变化传递出来的,听者也早已习惯了这种信息接收方式,和阅读有着本质的区别。

举个例子:为什么我们经常会听错歌词?并不是因为唱歌的人发音不准,而是因为歌者为了迁就旋律,经常要改变语言原有的韵律,听者不习惯,很容易就被搞糊涂了。

虽然困难重重,但知识音频化的浪潮无法抗拒。所幸微软(亚洲)互联网工程院及时伸出援手,让我去试试他们新开发的基于深度神经网络的计算机合成语音系统(Neural Text-to-Speech,简称Neural TTS),据说这套系统只需很少的训练量就可以模仿我的声音,代替我朗读那些文章。这件事对我很有吸引力,于是我腾出了一个下午的时间来到微软租用的一间录音棚,进行声音的收集采样工作。

按照我原来的设想,微软工程师会让我把3000个常用汉字都念一遍,做一个我的专属语音库。但出乎我意料的是,他们只是让我对着提词器念了8篇《生命八卦》专栏的旧文章,最后为了增加采样内容的丰富性,又让我补念了两段《三联》“旅游与地理”栏目里的游记文章,加起来也就一万多字的内容,不到3个小时就念完了。唯一麻烦的就是我必须念得十分准确才行,即使念错一个字也要把整句话重新再念一遍。我缺乏这方面的训练,一开始重复的次数有点多,后来慢慢习惯了就好了。

一周后,微软发来了一段电脑合成的语音,念的是我最近写的那篇专栏文章《和癌细胞共存亡》。一听之下,我立刻惊呆了!不但声音的质感很像我,就连我朗读时的语气也模仿得惟妙惟肖。我把它传给朋友和同事们听,大家也都被震惊了,纷纷表示以后接到我发的语音信息必须先得核实一下才敢相信。

其实他们大可不必担心。这段音频带有比较明显的朗诵腔,语气非常严肃,和我平时说话还是有很大差别的。仔细想想这也很好理解,毕竟电脑的样本库里只有我念的那一万多字科普文章的音频资料,我因为缺乏专业训练,很难念出抑扬顿挫的感觉,电脑只不过忠实地模仿了我的朗读风格而已。事实上,因为文章内容比较严肃,如果用普通音频软件来读的话,很容易读成催眠曲。找一个不相干的人来读吧,又怕读得太过情绪化,不符合文章的原意。现在这个结果刚刚好,不但准确地表达了原文的意思,而且听众应该也更希望听到文章作者自己的声音吧,这样会显得更加亲切。

当然了,这段电脑朗读并不是十全十美的,主要问题出在断句上,比如“评价一个癌细胞致癌性的强弱”这句话,电脑不知为何在“癌细胞”和“致癌性”这两个词之间停顿了一下,说明电脑并没有真的理解这句话的含义。

既然如此,电脑是怎么做到把一篇科普文章朗诵得像作者本人的呢?带着这个疑问,我访问了位于北京海淀区中关村的微软亚太研发集团总部,请人工智能语音组的产品总监丁秉公和首席研发经理何磊为我详细解释了语音合成技术的历史,以及微软这套Neural TTS系统的工作原理。

微软人工智能语音组首席研发经理何磊

语音合成的前世今生

根据两位博士的介绍,传统的中文语音合成技术大致可以分为前端和后端这两部分,前端的主要任务是对输入的文本进行语义分析,即把一个个单独的中文字进行分词断句,并标注出每个词的词性,因为中文有多音字的问题,不同的词性读音很可能不一样,韵律也会有所不同。之后还要进行一次归一化处理(Normalization),比如110用在电话号码里应该读成“幺幺零”,而不是“一百一十”。前端部分需要电脑掌握基本的语言规则,机器学习程序也可以得到部分应用。

后端处理有两种不同的模式,一种叫拼接合成,即把每句话切成一个个小片段,然后从语音库里调出相应的片段加以拼接。这个过程有点像搭乐高,或者更准确地说,像间谍写信时为了不让对方看出笔迹而从报纸上找单词,再剪下来拼接。另一种模式叫做参数合成,让电脑根据前端的语义分析结果预测相应的声学特征序列,再用声码器直接进行声音的合成。

这两种模式本质上都是基于统计的选择,即哪种方式人类用的比较多就选择哪种。相比之下,拼接合成模式做出来的声音更像真人,只不过听起来会感觉有点跳跃,不够平滑。参数合成模式做出来的声音则正相反,听起来非常平滑,但却会显得单调无趣,缺乏个性,而且声音会有点发闷,一听就是电脑做出来的。

从电脑的角度来看,拼接合成模式需要的计算量比较大,通常需要联网才能使用。参数合成模式需要的计算量比较小,适合离线状态,所以我们平时听到的导航声音大都是用参数合成的办法做出来的。但像一些名人声音,比如郭德纲或者林志玲的定制声音,则是两者结合的产物。

微软早在2003年就成立了语音组,致力于开发电脑语音处理系统。在上述这两种传统方法的基础上,该组于去年开始尝试一个根本性的技术革新,即把目前最火的深度神经网络技术用了进来,最大限度地模仿人类说话的方式。

“我们平时说话的时候,肯定不会先在心里分词断句,再标词性标韵律,而是想到什么直接就说出来了,因为语言规则早就存在我们的脑子里了。”丁秉公对我说,“于是我们如法炮制,直接把大量的文字以及相应的语音信息输进电脑,训练深度神经网络去学习这些真人的说话方式,这样学出来的语音包含有大量真人说话特有的声音细节,甚至像换气和咽口水等等细微的声音都可以模仿出来,这就为声音定制提供了可能性。”

“我那天只给你们录了几百句话,这么点儿训练量怎么够呢?”我问。

“因为我们的系统事先已经学习了成百上千个不同人的声音,得到了一个普适的通用模型(Universal Model),然后我们只要把你的个人特征加进这个已经训练好了的系统里,进行一下优化就可以了。”何磊这样解释,“优化好的系统就只适用于你一个人,读任何东西出来的都是你的声音,这就是我们的声音定制服务。”

据介绍,目前这套系统已经可以商用,背后有微软云计算平台Azure强大的计算能力作为支持。这就好比当年和李世石对弈的第一代阿尔法围棋程序,后台有一大堆计算机在疯狂地工作着。经过不断地优化,和柯洁对弈的第二代阿尔法围棋程序就可以在一台单机上运行了,这套系统也正朝这个方向努力。

“我们这套Neural TTS系统本质上仍然是基于统计的,不是真正意义上的阅读理解,所以还是会犯错,对于准确率要求比较高的场景,后期需要编辑进行校验和修改。”丁秉公告诉我,“其实真人录音同样需要后期处理,工作量也很大,而我们这套系统的好处是可以先批量生产出一大批音频文件,投放到市场上去,然后根据听众的反馈,挑出最受欢迎的书籍或者文章,再找真人专门录一个高质量的音频版本就行了。”

对于我的音频节目来说,我需要找一个中英文都说得很好的朗读者,因为《生命八卦》里有很多专有名词,大都附上了英文,最好能读出来。好在微软是一家跨国公司,所以这套系统在多语言混合的情况下表现得非常优秀,比其他竞争对手要高一个档次。

“我们这套系统还可以让你说很多种语言,即使你本人其实一句也不会说。”何磊补充道,“因为我们已经把这些语言的通用模型做好了,只要把你的声音特征加上去就行了。”

何磊给我播放了几段演示音频,同样一个女声,既可以说中文和英文,也可以说德语、法语、日语和西班牙语,甚至连四川话都能说。

“其实我们做这套系统不光是为了制作音频节目,还可以帮助视障人员或者渐冻症患者发出自己的声音。”丁秉公告诉我,“假设一个人知道自己得了渐冻症,即将在不远的将来失去说话的能力,我们可以事先把他的声音录下来,然后他就可以通过电脑用自己的嗓音和外界通话了。”

同理,现在市面上流行的翻译机用的都是标准音,如果将来这套技术能够实现单机运行的话,就可以让翻译机发出使用者自己的声音,听上去会更加自然。

总之,这项技术前途无量,应用场景太多了。为了防止将来有人盗用这项技术冒充他人牟取私利,微软特意在所有的电脑音频中加入了一个常人听不出来的标记信号,以便专业人士能够分辨出来。

微软人工智能语音组产品总监丁秉公

语音识别是更大的挑战

聊了半天语音合成,我顺便问了问语音合成技术的孪生兄弟,语音识别技术的现状。作为一名记者,这个功能也是非常有用的,能够帮助我整理采访录音。

“微软从上世纪90年代起就开始研究语言识别技术了,当时还只能做到50%的准确率,没法实用。”丁秉公介绍说,“经过多年的努力,2017年时我们已经可以把错误率降到5.1%,也就是说每100个字只听错5个,这个成绩已经比真人要好了。”

我用微软提供的麦克风试了试,故意夹杂了一句含混不清的北京土话,居然被正确地识别了出来。

“你这个叫近场识别,准确度最高。如果声源距离麦克风超过了一米远,叫远场声,电脑虽然也能识别出来,准确率就没有那么高了。”丁秉公解释说,“除此之外,我们还得考虑环境噪声的影响、回声的干扰、录音质量过低的问题,以及从多人对话中分辨出谁在说话,难度非常大。”

为了解决最后这个问题,可以事先对每一位说话者进行几分钟的声音采样,让电脑学会这些人的声音特征。但很多时候这是不可能做到的,此时就得想点新的招数。丁秉公为我演示了微软出的一套全新的会议记录系统,除了麦克风之外还添加了若干个摄像头,帮助电脑更好地辨别出是谁在说话。如果会议室里安装了这套系统,会议结束后就可以立即拿到完整的会议记录,非常方便。

对于人类来说,听肯定要比说更容易。我们小时候大都是先学会听,再学会说的,为什么电脑反过来了呢?答案要从电脑的特点中去寻找。电脑和人脑相比,最大的特点就是更加精确。如果一个问题能够被精确地定义或者描述出来,电脑解决起来就要容易得多,这就是为什么教电脑下围棋要比教电脑画画更容易。

在电脑语言这个案例里,语音合成就是一个定义明确的任务。输入电脑的原始数据是真人在录音棚里对着麦克风朗读出来的,和对应的文本一字不差,数据非常干净。用这样的高质量数据训练电脑,可以更好地利用深度神经网络强大的学习能力。相比之下,训练电脑语音识别时所输入的原始数据就显得比较“脏”了,电脑最怕这种模糊的东西,处理起来就要困难得多。

虽然难度很大,但微软已经开发出了支持30多个国家的语音识别系统,并支持近场和远场等复杂情况下的语音识别任务。这套系统除了能够帮助记者整理录音,以及进行会议记录之外,还能帮助远程服务公司对电话客服人员进行质量检查。此前这类检查只能靠听,很费时间,现在可以把所有电话录音输入电脑,瞬间输出文字记录,然后质检员就可以通过关键词筛选等方式快速进行质量检查了。

对于普通人来说,这两套系统更为人所知的应用就是人机对话,比如微软小娜和小冰。不过,语音合成和识别只是人机对话的基础,其背后还需要更高级的人工智能作为后盾,这就是另外一个话题了。

语音合成和语音识别是一枚硬币的正反两面,正好可以用来相互学习,就像当初阿尔法围棋程序通过左右互搏来提高水平一样。微软正在尝试把这两套系统结合起来,互相训练,希望能尽快提高水平,真正做到像人一样说话听音。

值得一提的是,微软的语音识别和合成技术并不只是为某个产品服务的,它更像是一个技术平台,任何客户都可以通过微软的云计算平台Azure享受这项服务。事实上,微软早就不是那个只卖Windows操作系统的软件公司了。在新任CEO的领导下,微软已经转变成了一家致力于提供云计算服务的to B公司,目前市面上很多需要电脑语音功能的公司都采用了微软提供的技术。

总的来说,虽然如今的电脑越来越像人,但距离真正意义上的人工智能还差得很远。微软的这套语音合成与识别技术更像是一个黑匣子,我们只能一边输入一边输出,并不知道匣子里究竟发生了什么。要想让电脑像人一样在理解的基础上说人话,必须想办法打破黑匣子,弄清楚里面到底发生了什么,我们距离那一天还有很长的一段路要走。

欢迎投稿本站:紫金网 » 如果有一天电脑会模仿你的声音开口说话,请别惊讶,改变正在发生