了一个工厂。工厂里,一些工人正在为各个餐馆制作仿真的寿司,蔬菜,水果,每样都是栩栩如生。看着看着,我忽的一下清醒了。是啊,我们为什么不做一片这样的仿真面包呢?
我不禁有些“柳暗花明”的狂喜。回到希格玛,忙了一个上午之后,我终于辗转找到了北京一家制作这些仿真食品的公司。第二天,当我走进这家隐藏在陶然亭一个胡同里只有一间房的公司时,看见他们的柜台里,赫然放着假的面包片。而里面的货架上,堆满了全聚德的盒子和一堆烤鸭。烤鸭全是仿真的,每只只有三厘米大。和师傅顺利地接上头,谈完做面包“项目”,我马上坐上出租车往回赶。那天的天格外的好,一路上,北京冬天的阳光暖暖的照在身上,让我真有些幸福的感觉。
两个星期后,我们得到了一片仿真面包。有了备用的数据,试验暂时可以继续进行了,大家松了一口气。但是讨论了一下,大家感觉仿真面包的数据毕竟不是来自真实的面包,说服力不强,而且看上去还是有差别。要做一篇合格的SIGGRAPH论文,就要摒除所有可能的漏洞,并让结果尽可能的完美。没有选择,我们必须捕捉一份来自真实面包的数据。时间紧迫,已是十二月底,大家再次感受到Deadline的压力。项目再次晴转多云。
面包会有的,一切都会有的
我和嘉平再次讨论了以前试验的经验和教训,决定仍然选用切片面包。过去的一个月里,我们也没闲着,继续在各个超市搜索,已经找到了一家切片面包,孔洞尺寸都比较适合,也很均匀。现在的关键是如何防止变形。嘉平开始设计了保湿的方案。在面包下垫上了毛巾。毛巾的另一端浸在水里。通过虹吸来保持水分。可惜,我们很快发现面包本身的虹吸不够。面包的上表面还是干了,经过一夜,还是会变形。看来我们没有别的选择,只有反其道行之,尝试事先减少切片面包的水分并尽量保持切片形状了。我们试了几种办法,让面包失水,但是效果都不太好。
一天晚上,我忽然想起一个朋友曾经告诉我她用微波炉制作干花,决定用微波炉试试。第一次试验以后,发现效果不错,于是再接再厉。终于,在一袋切片面包壮烈牺牲之后,在一个晚上我找到了最好的生产工艺:将面包放于平板上(面包加热会变软),两边衬上餐巾纸。放入微波炉,中火每次一分钟。取出换餐巾纸,保证水分能尽快吸掉。重复四到五次后,就可以得到干的但是不变形的面包片。
于是,连续几个晚上,大家都能看到我小心的手捧编了号的面包片,在厨房的微波炉旁忙着“烹饪”。为了防止加工或候选的面包片被人吃了,我在厨房里一直盯着,直到过程完成,把面包片送到实验室里才离开。这样还不放心,我在每片的旁边写上:“试验样品,请勿食用”,防止拍摄数据的人饿了吃了他们。不过,大概是因为我们之前的废品早已经让大家吃腻了,结果根本没人碰这些面包一下!大家开玩笑说,看来我们的面包片和微软的软件一样,要到版才能成功。
转眼几周过去,我们赶在Deadline之前完成了所有的工作,提交了论文。值得庆贺的是,我们的一切努力得到了最好的回报,我们的论文成功的入选了2005年的SIGGRAPH。
干面包还是鲜面包,这是个问题。
那年八月,我和Steve Lin在SIGGRAPH上宣读了我们的这篇论文。论文宣读完后,大家对我们的工作都很感兴趣,几个人提了一些技术问题。最后,这个Session的Chair走到麦克风前,问道:“你们的工作很出色,但是我看到你们的渲染结果,那个面包看上去有些干,看着像是干的面包,你能解释一下为什么吗?是绘制或者建模的问题吗?”我听了,一边心里乐,一边佩服他的眼力。我走到台前,回答说:“你说的太对了,实际上,由于我们的数据捕捉需要十几个小时,所以,我们捕捉到的真的是一个干面包的数据”。场上的听众被我们的这一问一答逗乐了,大家不禁大笑,接着热烈鼓掌,感谢我们精彩的论文宣读。
(通过算法,计算机自动绘制出来的面包)
写在最后的几句话
上面的一个小故事,是我在SIGGRAPH 2005的一点经历。这点经历,也许能够让大家看到在我们每篇论文背后,我们所付出的不为人知的认真与努力。就在这样一次次SIGGRAPH的努力中,在学习、挫折与汗水中,我也在慢慢的成长。不知不觉中,我在微软研究院已经工作了快十个年头。回想起这十年,我觉得我是幸运的,因为在这里我圆了我做计算机图形研究的一个梦想。而且,我有幸结识了许多优秀的人、有趣的人,并和很多人成了好朋友。和他们一起并肩工作的日子,已成为了我过去最美好的回忆。而我们将来一起奋斗的日子,是令我期盼与兴奋的人生体验。
作者介绍:
童欣博士是微软亚洲研究院网络图形组研究项目负责人,研究兴趣主要为图形学算法,系统,表观造型等。他1999年从清华大学博士毕业,同年加入微软亚洲研究院。曾经是伪小资真愤青,现在为准中年宅男。
。 想看书来
“木兰”妈妈 初敏(1)
“木兰”是我加入微软后带领几位年轻同事研发出来的双语文语转换系统(text…to…speech,简称TTS)。她不仅能将中文、英文文稿流畅的朗读出来,还能很好的处理混杂着很多英文单词、短语和句子的文稿。在研究院成立五周年的庆祝活动中,木兰名列‘十大’成果之一。我常常引以为豪。木兰凝聚了我多年的心血,就像我的另一个孩子,在我的孕育、抚养下,从无到有,从小到大,逐步完善,改进。最终成功的‘嫁’到微软最新操作系统Vista中,并且由此孵化出微软唯一的一个TTS产品部门。以前,一个在总部产品部门的同事Scott Meredith,也是TTS的专家,在向别人介绍我的时候,总忘不了说一句“She is the mother of Mulan TTS system”。我总是欣然接受“木兰妈妈”这个称呼。
“木兰”是这样诞生的
我是2000年初加入研究院的,是研究院的第一位女性研究员,也是研究院第一个从事TTS研究的人。我带领的这个TTS小组在很长时间都是微软内部唯一的一个从事语音合成技术研发工作的团队。凭借着在中文语言文化上的优势,我们差不多花了一年左右时间专门从事中文语音合成的研究,做出了一个合成效果非常好的原型系统。之后的一、两年,我们把研究重点转移到了英语语音合成上面,也取得了相当好的效果。
接下来我们选择的方向就是解决中英文混读的问题。随着互联网的发展,中西方文化的交融,越来越多的中文文章中会杂糅有英文内容,可能是某产品的品牌型号,也可能是一首著名歌曲。遇到这样的文章,传统文语转换系统就挠头了。最典型的解决方案就是在后台架起两个系统,一个专门处理中文,一个专门处理英文。遇到中英文混杂的句子,就将中文部分分割出来送给中文系统,英文部分则送给英文系统,然后将两者的输出合并起来返回给用户。这样做的最大缺陷在于分开处理的两种语言缺乏统一的语调、语气,甚至连声音本身都差别很大。这样的结果听上去时断时续,极为不连贯。可懂度(能听懂)和自然度(听起来舒服)都比较差。我们当时花了很多精力去物色一个中英文都比较强的播音员,为我们的语音系统录音,这样就可以保证语音数据库中的双语声音是一致的。另外我们还将中英文的处理能力融合在一个系统中,有统一的韵律控制,这样生成的语句即便包含两种语言,也能有统一的语调和节律,就像一个能讲双语的人讲出来的话。这个双语语音合成系统在可懂度与自然度上都取得了较好的效果。我们将这个系统命名为木兰。木兰就是这样诞生的。
(TTS系统中的木兰形象)
之后的一段时间里,我们致力于不断提高木兰的声音质量,并从应用角度探索如何将语音合成技术方便人们的日常生活, 例如语音聊天室(一方输入文字,另一方听到声音)、动画配音(为孩子DIY动画故事)、个性化声音加工等等。在我们完成了一个又一个有趣的研究项目的过程中,木兰长大了,成熟了。
木兰“嫁”入Vista
在2003年之际,微软公司在着力开发新一代操作系统Vista,当时总部产品部门基本准备购买其他公司的一套现成的语音合成软件。在他们对木兰有所了解后,最终决定采用我们的技术成果。这对TTS研究团队无疑是一件欢欣鼓舞的事情,因为能把自己的研究成果转化到服务于用户的产品中是我们的梦想。可是,事情运作起来远没有想象的那么简单。所有的开发和单元测试工作都必须在北京做。而我们这个以研究为主的团队,写程序不是我们最擅长的能力,而且势必占用我们很多做研究的时间。但是,为了一个共同的目标——把自己的研究成果做进微软产品,我们团队的每一个人都非常投入地做这个项目。
刚开始,我们只有5个人,三个来自TTS组,两个来自技术转化组。大家分担着产品开发环节中的各个角色,PM、SDE、SEET ,每天都超负荷运转着。正巧,项目启动后不久,微软亚洲工程院宣布成立,它成立的使命是把研究院的最新技术孵化进产品中去,TTS项目也就成了工程院的第一批项目之一。 电子书 分享网站
“木兰”妈妈 初敏(2)
我们从总部争取到了更多的人员指标,TTS开发组逐渐扩大了,有了专职PM、Developer和Tester。当然,任务也更多了,不光要把TTS做进操作系统,还要做到所有需要TTS技术的产品中去。不光要做中文、英文,还要做西班牙语、日语、法语等二十多种语言。大概在2004年8月份