最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Wwise語音管理探究

2021-03-03 11:50 作者:Wwise官方  | 我要投稿

游戲的角色語音管理是一項(xiàng)細(xì)致且繁瑣的工作。從項(xiàng)目的前期到后期,會遇到對角色語音的增刪改查、添加動態(tài)效果處理及創(chuàng)建不同語種間的切換等需求。建立一套穩(wěn)定可靠的語音管理流程會為工作帶來效率。


采用Wwise External Source


不采用Wwise時的工作方式


不采用音頻中間件的項(xiàng)目一般采用數(shù)據(jù)庫作為和故事編輯器(StoryEditor)溝通的橋梁。所有的語音文件通過數(shù)據(jù)庫來進(jìn)行管理,便于執(zhí)行增刪改查及其他拓展配置。


圖 1管理表格舉例(這里選的SFX資源,Voice資源也是同理)


比如,上圖的表格大家都不會陌生——我們在Excel里安排了ID、聲音類型、文件名、文件路徑、以及輸出Bus(Output)等等的列標(biāo)簽。在項(xiàng)目運(yùn)行時,據(jù)此調(diào)用文件的ID或者文件名,找到各個文件的真實(shí)路徑,進(jìn)行一系列的約定處理(設(shè)置)——比如這里的Output就是對應(yīng)不同聲音類型的輸出Bus,最終音頻文件得以正確播放。


采用Wwise時的工作方式


同樣的思路也可通過Wwise提供的?External Source來完成。我們可以把External Source理解成一個具有通用屬性(Actor-Mixer Property)的模板,在項(xiàng)目運(yùn)行中程序?qū)⒅付ǖ脑颊Z音資源放入這個模板,模板上的屬性由我們在Wwise里提前設(shè)置,或者項(xiàng)目運(yùn)行時代碼實(shí)時設(shè)置,最后播放出帶有特定屬性的聲音。


我很喜歡這條思路,它既能利用到數(shù)據(jù)庫的便捷性,又可利用到Wwise引擎的強(qiáng)大功能,因?yàn)榻巧Z音文件是大批量的單句資源,同時具有通用屬性的資源量也多,不像SFX需要配置很多播放邏輯(各種switch、blend、sequence、delay巴拉巴拉),所以很適合采用External Source來實(shí)現(xiàn)。


External Source作為“模板”


圖 2多個不同用途的external_source



External_Source可以被創(chuàng)建多個,并分別用作對應(yīng)不同聲音類別的“配置模板”。如上圖,我們創(chuàng)建了三個External_Source,(一定記得各自重命名(Name),這樣才會自動生成各自的哈希索引(Cookie))其中External_Source_normal為通用對話使用的模板,External_Source_reverb為使用了混響輔助發(fā)送的模板,External_Source_phone則為用于為語音增加對講機(jī)效果的的模板(例如,插入了EQ及失真效果器)。


當(dāng)然,這只是個簡單的示例,在實(shí)際項(xiàng)目中需要根據(jù)具體情況,結(jié)合聲音對象屬性(Effects、Positioning、Output Bus、Aux Bus等等)進(jìn)行更有針對性的設(shè)計(jì)。


需要注意


通常,靈活也意味著更多的工作。音效師需要根據(jù)自己的項(xiàng)目,應(yīng)需設(shè)計(jì)不同的External_Source、不同的Output Bus、或靜態(tài)/動態(tài)加載的效果器等等。這也需要和程序員在數(shù)據(jù)庫的設(shè)計(jì)上進(jìn)行溝通及做出約定,記得程序的工作量也會相應(yīng)增多。當(dāng)然,具體工作量跟項(xiàng)目的大小、復(fù)雜度有關(guān)。能實(shí)現(xiàn)特定需求的設(shè)計(jì)可能性有很多,盡量找到大家都省事的方案。


使用WAAPI批量導(dǎo)入語音


Wwise的語言管理器(Language Manager)為多語言版本的切換提供了支持——我們可以把語音文件的不同語言版本分別導(dǎo)入”Sound Voice“,設(shè)置好語言版本,并定義和管理好對應(yīng)的語音Event以及Soundbank。


雖然Wwise提供了Auido File Importer、Voice Asset Importer之類的工具,比如可以基于TabDelimited文本文件導(dǎo)入,基于模板(Template)導(dǎo)入,以及采用Localize languages的導(dǎo)入模式等。但是,經(jīng)過筆者的實(shí)驗(yàn)驗(yàn)證,對于批量導(dǎo)入多語種語音來說會顯得有點(diǎn)繁瑣,容易出錯。對于此需求,采用WAAPI進(jìn)行批量化導(dǎo)入會是一個明智的選擇。這里提供一個腳本分享一下思路:

https://github.com/aadsache/waapi_tools/tree/main/voices_importer

  1. 首先約定外部的資源管理器文件結(jié)構(gòu)為:Voice(folder)//Character_name(folder)//EN_xxx.wav

  2. 具體的音頻文件會有一個前綴代表它的語言版本:EN_xxx.wav/CN_xxx.wav

  3. 約定要創(chuàng)建Audio項(xiàng)下的層級結(jié)構(gòu)為:Default Work Unit//Voice(Folder)//Character_name(Actor_Mixer)//xxx(Sound_Voice)

  4. 根據(jù)音頻文件的前綴EN\CN指定Sound_Voice下的語言版本English(US)\Chinese

  5. 約定要創(chuàng)建Event項(xiàng)下的層級結(jié)構(gòu)為:Default Work Unit//Voice(Folder)//Character_name(Folder)//xxx(Event)?,并分別定義好Auido項(xiàng)下對應(yīng)xxx(Sound_Voice)的播放行為

圖 3各界面的層級圖



這里有幾個小提示,WAAPI對象的導(dǎo)入和創(chuàng)建可采用merge、useExisting這樣的模式,這樣就可避免之前就存在的資源、對象不會被重新導(dǎo)入、創(chuàng)建;工作中搭配數(shù)據(jù)庫使用WAAPI依然是必要的。


以上是導(dǎo)入雙語言版本語音并設(shè)置event的小實(shí)驗(yàn),工作中還應(yīng)采用更規(guī)范化的做法,這里只是提供了一個思路。以下還有幾個值得拓展的地方:


#可以配合Add-ons來配合使用WAPPI——Add-ons也可以做出很多有意思的事情,拓展出更多的功能。


圖 4Add_on的拓展思路


#配合數(shù)據(jù)庫也可做很多拓展。比如Waapi不僅僅只是能導(dǎo)入音頻文件,也可以同時指定對象屬性,如音量(Volume),輸出(Bus)、發(fā)送(AuxBus)等等。對于低延遲要求不高的語音文件,可以同時設(shè)置磁盤流式播放模式(Stream)來可以減小內(nèi)存的占用。("@IsStreamingEnabled" : True,"@IsNonCachable":True)


#值得一提的是如果把注釋(Notes)用來放語音文件的臺詞,那簡直太酷了!


具體操作可以參考此腳本(https://github.com/aadsache/waapi_tools/tree/main/importer_withnotes),如圖,可以直接在Wwise搜索框通過搜索臺詞字符內(nèi)容,找到相關(guān)聲音對象。但是這里搜索框不能做到高級搜索,必須從第一字符就要嚴(yán)格匹配才能搜索到。


圖 5 按臺詞查找聲音對象


動態(tài)語音及其他


Wwise提供了Dynamic Dialogue來靈活性、選擇性地完成對白,也可通過其他(container、switch、RTPC等)工具搭建自己的對話系統(tǒng),會稍微有點(diǎn)復(fù)雜,但是思路上也挺有意思。這里筆者壓制了兩個中文字幕的視頻,分別關(guān)于Dynamic Dialogue、Interruptible Dialog的案例演示。


希望能帶給大家一些幫助,如有紕漏,歡迎大佬們指正。


本文作者

吉吉(徐喆)

游戲聲音設(shè)計(jì)/配樂

愛好音樂的理工男,五年音頻行業(yè)從業(yè)經(jīng)驗(yàn),負(fù)責(zé)過幾款獨(dú)立游戲。喜歡音頻行業(yè)的技術(shù)研究。聲音啊,就是算命!


原文鏈接:https://blog.audiokinetic.com/zh/wwise-voice-management/


Wwise語音管理探究的評論 (共 條)

分享到微博請遵守國家法律
龙井市| 仁怀市| 泰和县| 津市市| 盐亭县| 韶关市| 台湾省| 高要市| 长顺县| 彭山县| 垫江县| 阳西县| 保定市| 永安市| 仙游县| 鹤庆县| 台东市| 姜堰市| 永顺县| 余江县| 揭阳市| 农安县| 永德县| 西昌市| 屏边| 特克斯县| 江西省| 高邮市| 湖南省| 凌源市| 乌海市| 贡嘎县| 凉山| 凉城县| 会昌县| 隆化县| 托克托县| 盐城市| 乳山市| 苍山县| 澄江县|