03.02 一個字節都得省的年代,人們是如何創造遊戲人聲的?

早年間我們總是會“空耳”遊戲中的一些語音 —— 比如把《街頭霸王2》裡的波動拳(Hadoken)聽成“阿多肯”,升龍拳(Shoryuken)誤認成“毆喲肯”。後來我才發現,這些都是因為街機基板 CPS1 對發音“H”支持不佳所導致的。

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

幾十年前,電子遊戲的容量非常有限,想要展現出人聲通常只能採取合成的方式,請真人來錄製一段對話是件無比奢侈的事情,還不如多塞幾首好聽的 BGM 來得划算。但合成人聲直到今天也並不完美,即便是 Siri 和 Cortana,你仍然能明顯感受到它們說話時的違和感。

遊戲人聲的發展過程無疑非常漫長,從《打鴨子》裡“wawawawawa”的音效笑聲,到配音演員點對點的錄製,這一切或許都要從一尊銅像,以及地球人都知道的一臺機器說起。

人聲?不,那是魔術

人類對於創造人聲的執念由來已久,中世紀末期(12~13 世紀)就有一則關於“人頭銅像”的傳說,據說這玩意能夠正確的回答任何問題,與當時鍊金術的興起有很大關係。

但事情肯定沒那麼玄乎,古希臘數學家希羅老早就寫過兩本關於蒸汽,水,空氣動力裝置的書,名字是《氣體力學》(Pneumatica)和《自動裝置》(Automata),後來被伊斯蘭世界加以應用,12 到 13 世紀又在歐洲被重新挖掘出來。

近代魔術師約瑟菲也用銅造了個“巴爾薩莫頭骨”,上面鑲嵌著人類的牙齒,通過轉動或敲擊下顎就能配合著回答問題。在很長一段時間內,把合成人聲當成魔術也不為過。

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

但科學家們看得更明白一點。1779 年,俄國帝國理工學院給一個聲道模型頒發了獎項,該設備可以念出 a、e、i、o、u 五個長元音。匈牙利人沃爾夫岡也在 1791 年的一篇論文中提到了“聲-機械語音機器”,它增加了舌頭和嘴唇模型,能夠同時發出輔音和元音。

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

直到 20 世紀 30 年代,由貝爾實驗室開發的聲碼器(Vocoder)才算是構築了現代合成人聲的主要思路。

這臺機器具備分析語音音調和共振的能力,原理是將聲音編碼後再進行傳輸。因為從本質來看,人聲大體上可以解構成周期性的波形和諧波,聲帶、鼻子和喉嚨則是改變聲音振幅、頻率的系統。只不過有一些“抑揚頓挫”信號難以量化,合成人聲聽起來才會非常像機器人。

相比錄製一段語音,這麼做的好處是可以最大限度的壓縮數據體積。總共存儲的聲音就那麼幾個,要組成一句話時便調用拼起來,然後再調整深度和長度。原理其實和 FC 的圖像處理方式相似 —— 角色和場景是由零散圖塊拼成的,其中存在大量複用,而不是一張張的 JPG 圖片塞到 ROM 裡。

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

在這套理論的基礎上,1968 年,日本電機技術實驗室開發了第一個將“英語文本轉換為語音”的系統,由於它是基於計算機的成果,和聲碼器一樣不同於過往那些依靠螺絲、閥門的“機械式”模型,因此電子遊戲後續才有了應用合成人聲的可能。

但先彆著急,這項技術真正被遊戲使用之前還有個小插曲 —— 那便是萬家皆有,中國人都把玩過的語音計算器,你肯定對那一聲聲“歸零”記憶猶新。

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

1974 年時,美國人莫澤(Forrest Mozer)創造了一套基於集成電路的語音算法,他首先將這項技術授權給了 Telesensory Systems,後者在 1976 年打造了一款面向盲人的語音計算器。而作為首款具有語音合成功能的消費品,它內置的 TSI S14001A 芯片起到了關鍵作用。

這塊出自工程師伯納德(Ed Bernard)之手的芯片,將 24 個單詞詞彙表的數據放入了一個 4096 字節的 ROM 中。為了最大限度的壓縮數據,開發者們想盡了法子。比如有個標記為“X/-”的功能鍵沒有對應語音,而是複用了兩個已有的語音進行連續播放,這樣就只需要額外用到 2 個字節。

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

不難發現,正由於所佔空間極小,它幾乎影響了 20 世紀 80 年代初期一大批包含“人聲”的遊戲。

下一頁:給單調的音效來點變化

給單調的音效來點變化

如今的柏青哥、老虎機,往往會加入很多炫酷的特效和聲音來強化感官,因為上世紀 30 年代那套彈珠打桌板的反饋實在是太無聊了。而從雅達利、紅白機時代走過來的玩家,同樣會對“嘟嘟嘟”“滴滴滴”的洗腦音效感到厭倦。

第一個買到 TSI S14001A 語音芯片的遊戲公司可能不是 Sunsoft,但他們絕對是第一個做出“合成人聲”作品的開發商。

由其製作的清版射擊街機《太空防衛》(Speak & Rescue)誕生於 1980 年,玩法一目瞭然,只需要射擊那些企圖綁架宇航員的外星人。亮點在於,宇航員被挾持和救助時有對應的語音,諸如“Help me”、“Very good”、“We'll be back”,“Lucky”等等。

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

這部作品有很多版本,日版語音幾乎替換成了日文,比如“Tasukete”(救命)。名為《蜘蛛戰士》的山寨版在玩法上大致相同,只是宇航員變成了水果,但由於登陸的是 Atari 2600 平臺,合成人聲這個賣點並沒有保留下來(開發商還是當時技術力最強的動視)。

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

街機方面,晚《太空防衛》幾個月誕生的《迷宮射擊》(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 萬套,但結局大多是擺在貨架上吃灰。

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

任天堂在這一點上倒是比較聰明,在 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


分享到:


相關文章: