一个字节都得省的年代,人们是如何创造游戏人声的?

游戏

03-11 20:12

本文来自「游戏时光 VGtime」,作者箱子,爱范儿经授权发布。

早年间我们总是会「空耳」游戏中的一些语音 —— 比如把《街头霸王 2》里的波动拳(Hadoken)听成「阿多肯」,升龙拳(Shoryuken)误认成「殴哟肯」。后来我才发现,这些都是因为街机基板 CPS1 对发音「H」支持不佳所导致的。

▲ 到《街霸 5》时就不存在空耳的问题了

几十年前,电子游戏的容量非常有限,想要展现出人声通常只能采取合成的方式,请真人来录制一段对话是件无比奢侈的事情,还不如多塞几首好听的 BGM 来得划算。但合成人声直到今天也并不完美,即便是 Siri 和 Cortana,你仍然能明显感受到它们说话时的违和感。

游戏人声的发展过程无疑非常漫长,从《打鸭子》里「wawawawawa」的音效笑声,到配音演员点对点的录制,这一切或许都要从一尊铜像,以及地球人都知道的一台机器说起。

人声?不,那是魔术

人类对于创造人声的执念由来已久,中世纪末期(12~13 世纪)就有一则关于「人头铜像」的传说,据说这玩意能够正确的回答任何问题,与当时炼金术的兴起有很大关系。

但事情肯定没那么玄乎,古希腊数学家希罗老早就写过两本关于蒸汽,水,空气动力装置的书,名字是《气体力学》(Pneumatica)和《自动装置》(Automata),后来被伊斯兰世界加以应用,12 到 13 世纪又在欧洲被重新挖掘出来。

近代魔术师约瑟菲也用铜造了个「巴尔萨莫头骨」,上面镶嵌着人类的牙齿,通过转动或敲击下颚就能配合着回答问题。在很长一段时间内,把合成人声当成魔术也不为过。

▲ 约瑟菲和他「能说话的」头骨

但科学家们看得更明白一点。1779 年,俄国帝国理工学院给一个声道模型颁发了奖项,该设备可以念出 a、e、i、o、u 五个长元音。匈牙利人沃尔夫冈也在 1791 年的一篇论文中提到了「声-机械语音机器」,它增加了舌头和嘴唇模型,能够同时发出辅音和元音。

▲ 沃尔夫冈的机械语音机器

直到 20 世纪 30 年代,由贝尔实验室开发的声码器(Vocoder)才算是构筑了现代合成人声的主要思路。

这台机器具备分析语音音调和共振的能力,原理是将声音编码后再进行传输。因为从本质来看,人声大体上可以解构成周期性的波形和谐波,声带、鼻子和喉咙则是改变声音振幅、频率的系统。只不过有一些「抑扬顿挫」信号难以量化,合成人声听起来才会非常像机器人。

相比录制一段语音,这么做的好处是可以最大限度的压缩数据体积。总共存储的声音就那么几个,要组成一句话时便调用拼起来,然后再调整深度和长度。原理其实和 FC 的图像处理方式相似 —— 角色和场景是由零散图块拼成的,其中存在大量复用,而不是一张张的 JPG 图片塞到 ROM 里。

▲ 20 世纪 70 年代早期的定制声码器

在这套理论的基础上,1968 年,日本电机技术实验室开发了第一个将「英语文本转换为语音」的系统,由于它是基于计算机的成果,和声码器一样不同于过往那些依靠螺丝、阀门的「机械式」模型,因此电子游戏后续才有了应用合成人声的可能。

但先别着急,这项技术真正被游戏使用之前还有个小插曲 —— 那便是万家皆有,中国人都把玩过的语音计算器,你肯定对那一声声「归零」记忆犹新。

▲ Telesensory Systems 的「Speech+」计算器

1974 年时,美国人莫泽(Forrest Mozer)创造了一套基于集成电路的语音算法,他首先将这项技术授权给了 Telesensory Systems,后者在 1976 年打造了一款面向盲人的语音计算器。而作为首款具有语音合成功能的消费品,它内置的 TSI S14001A 芯片起到了关键作用。

这块出自工程师伯纳德(Ed Bernard)之手的芯片,将 24 个单词词汇表的数据放入了一个 4096 字节的 ROM 中。为了最大限度的压缩数据,开发者们想尽了法子。比如有个标记为「X/-」的功能键没有对应语音,而是复用了两个已有的语音进行连续播放,这样就只需要额外用到 2 个字节。

▲ 2 所标识的位置就是「TSI S14001A」的集成电路

不难发现,正由于所占空间极小,它几乎影响了 20 世纪 80 年代初期一大批包含「人声」的游戏。

给单调的音效来点变化

如今的柏青哥、老虎机,往往会加入很多炫酷的特效和声音来强化感官,因为上世纪 30 年代那套弹珠打桌板的反馈实在是太无聊了。而从雅达利、红白机时代走过来的玩家,同样会对「嘟嘟嘟」「滴滴滴」的洗脑音效感到厌倦。

第一个买到 TSI S14001A 语音芯片的游戏公司可能不是 Sunsoft,但他们绝对是第一个做出「合成人声」作品的开发商。

由其制作的清版射击街机《太空防卫》(Speak & Rescue)诞生于 1980 年,玩法一目了然,只需要射击那些企图绑架宇航员的外星人。亮点在于,宇航员被挟持和救助时有对应的语音,诸如「Help me」、「Very good」、「We’ll be back」,「Lucky」等等。

▲ 太空防卫

这部作品有很多版本,日版语音几乎替换成了日文,比如「Tasukete」(救命)。名为《蜘蛛战士》的山寨版在玩法上大致相同,只是宇航员变成了水果,但由于登陆的是 Atari 2600 平台,合成人声这个卖点并没有保留下来(开发商还是当时技术力最强的动视)。

▲ Taito 发行时还把几句人声台词当卖点,写到了《太空防卫》的海报上

街机方面,晚《太空防卫》几个月诞生的《迷宫射击》(Berzerk)在合成人声上做得更为复杂。当特殊敌人出现时,喇叭里便会传出「Intruder alert」(入侵警报)的语音,而当玩家不小心被打死时,则会有「Got the intruder」(击杀了入侵者)的台词。

游戏中敌人掌握的单词并不少,简单一点的像是「Attack」(攻击)、「Charge」(冲锋)、「Destroy」(摧毁),复杂点的甚至可以组成短语,主要依据事件触发,类似「Kill the chicken」(杀鸡)和「Destroy the intruder」(摧毁入侵者)。由于敌人的设定本身就是机器人,所以合成人声的语调并不会觉着违和,算是恰到好处。

▲《迷宫射击》的人声台词写也在了海报上

看到街机那边整了点新花样,家用机的开发商也没有闲着。米罗华为了在竞争中占得先机,率先为「奥德赛 2」开发了一个名为「The Voice」的附加语音模块,玩家需要多掏 100 美元才能买到。该模块有着内置扬声器和音量控制按钮,对应游戏也采用了独特的蓝色包装。

第二代米罗华奥德赛上的「合成人声游戏」基本都诞生于 1982 年,其中《Type and Tell》顾名思义,可以根据玩家输入的单词输出语音。《K. C.’s Krazy Chase》则加入了「Incredible」(不可思议)等鼓励人的合成声,游戏玩法倒是创新不多,和《吃豆人》相似。

▲ 第二代米罗华奥德赛的语音模块

而作为米罗华主要竞争对手之一的美泰,同样在 1982 年推出了用于主机 Intellivision 的语音模块「Intellivoice」。他们采用了通用仪器的 SP0256 语音合成芯片,支持报数、「Press」(按)、「Enter」(进入)、「And」、「Or」、「Mattel Electronics Presents」(美泰电子制造)等语音。

但由于只有 2048 字节的 ROM,相比前文提到的 TSI S14001A 芯片还是稍微差了些。Intellivision 上的《棒球》只有「Strike」、「Ball」、「Out」几个词,如果要增加额外的短语,那么只能寄希望于卡带里存储的数据了。

不过,第三方厂商若是加大容量又会大幅提高生产成本,所以 Intellivoice 一直卖得不好,最终于 1983 年停产。虽然该设备的初始订单一度达到 30 万套,但结局大多是摆在货架上吃灰。

▲ Intellivoice

任天堂在这一点上倒是比较聪明,在 FC 中内置了一个 DPCM 采样通道,既可以表现背景音又可以用于加入合成人声,而不是做额外的硬件。这样风险全部转嫁给了游戏开发商,让他们自己掂量成本。

到了 80 年代末期,卡带 ROM 的制造费用降下来时,Sunsoft 又做了一些带有大段合成人声的游戏。光盘技术此时也在酝酿之中,1983 年的《龙穴》最早将立体声和录制人声结合到了游戏中,真人配音逐渐走上了历史舞台。

如今那些 3A 游戏的背后,大概率有一帮默默无闻的配音班底。反观之下,合成语音成了特定场所下展现氛围的一种技巧。但无论如何,几个字节都要死抠的时代都已经一去不复返了。

参考资料:

Speech synthesis wikipedia

Digital Sound And Music

The Development of the TSI Speech+ Speaking Calculator

Mechanical Speech Synthesis in Early Talking Automata

爱范儿视频号
登录,参与讨论前请先登录

评论在审核通过后将对所有人可见

正在加载中