嚴 通
(南寧師范大學 美術與設計學院,廣西 南寧 530100)
虛擬數字人的誕生,最早可追溯至2016年12月1日,日本虛擬主播“絆愛”在YouTube的“A.I”頻道發(fā)布了第一個視頻。直至2018年2月23日,該頻道訂閱人數達到了100萬。由“絆愛”等虛擬主播帶頭,虛擬主播行業(yè)迎來了快速發(fā)展的時代[1]。盡管虛擬數字人具有巨大潛力,但現(xiàn)有的虛擬數字人交互應用仍存在一些限制,比如互動簡單、內容單一及實時性不足等技術問題。為了提高虛擬數字人的交互效果和用戶體驗,本文立足于當前研究現(xiàn)狀,旨在進一步研究和改進語音交互技術。本文采用虛幻引擎作為虛擬數字人交互的開發(fā)平臺,通過設計和實施基于ChatGPT語言模型的實時語音交互程序來解決實時性語音交互應用問題,進而實現(xiàn)更自然、流暢和智能的交互體驗。這種交互形式基于ChatGPT語言模型,將虛擬數字人與現(xiàn)實世界連接,能夠為用戶提供豐富多樣且自然的對話體驗。
ChatGPT (Chat Generative Pre-Training Transformer)是由OpenAI實驗室開發(fā)的大語言模型(Large Language Model,LLM)。在其之前,OpenAI基于Transformer開發(fā)了一系列LLM,包括GPT、GPT-2、GPT-3以及GPT-3.5[2]。在GPT-3.5的基礎上,OpenAI實驗室加入優(yōu)化后的預訓練、生成對抗技術以及基于人工反饋的強化學習技術。Transformer架構在處理自然語言序列數據時表現(xiàn)出色,通過使用自注意力機制,有效地提高了對上下文的理解能力。模型需要經過大量預訓練,以學習語言結構、語法規(guī)則和從文本中提取信息的技巧。作為一種生成型語言模型,GPT能根據給定的上下文,使用概率生成預測文本串。為了使模型在特定任務上更加精確,微調是必要的,它可以提高模型在某些領域的專業(yè)知識。此外,可以通過調整溫度參數來影響模型生成文本的隨機性,從而在創(chuàng)造力和保守性之間取得恰當的平衡。
虛擬數字人的思想起源于賽博格(Cyborg)。1985年,哈拉維在其賽博格宣言中將賽博格定義為無機物機器與生物體的結合體,如安裝了假牙、假肢、心臟起搏器等的身體。這些身體模糊了人類與動物、有機體與機器、物質與非物質的界限[3]。虛擬數字人的語音交互涵蓋了許多技術和組件,使得人類可以與虛擬角色或數字人進行自然、流暢的語音交流。語音交互的主要元素包括自然語言處理(Natural Language Processing,NLP)、自動語音識別(Automatic Speech Recognition,ASR)和語音合成(Text to Speech,TTS)等多種交互技術。
在多樣化的交流形式中,人機語音交互將極大地便利人們的日常生活和工作。隨著技術的不斷進步,虛擬數字人在這個階段實現(xiàn)了更高程度的真實感。但是,以簡單的二維動畫或三維模型出現(xiàn)的虛擬數字人還不是十分智能化,只能將提前設計的內容進行循環(huán)播報,沒有任何的互動和交流,其主要原因如下。
(1)在沒有像ChatGPT這樣的預訓練語言模型的情況下,虛擬數字人將無法有效地根據用戶給出的內容進行智能處理和回應。若只依賴于觸發(fā)關鍵詞的方式,很難滿足用戶對于真實、自然對話的需求。
(2)傳統(tǒng)三維數字人往往無法實現(xiàn)實時表情動畫驅動,這導致語音與嘴型的不匹配現(xiàn)象,進而使得聲音表現(xiàn)與面部表情難以協(xié)調一致,從而降低了人物的真實效果和沉浸感。
(3)虛擬數字人在文本輸入的模式下使用范圍相對較窄,受限于操作臺。若采用語音輸入方式,用戶可以擺脫操作界面的限制,在較廣泛的范圍內與虛擬數字人展開便捷、自然的交流互動。
虛幻引擎5(Unreal Engine 5),是由Epic Games公司開發(fā)的一款游戲引擎,以其優(yōu)越的性能在游戲和影視行業(yè)中越發(fā)受歡迎。虛幻引擎提供了一套全面且易于使用的工具和技術,涵蓋圖形渲染高峰、精密的物理模擬、強大的人工智能能力、高品質音頻支持、穩(wěn)定的網絡編程框架和高度可定制的游戲邏輯編輯器。
基于虛幻引擎的語音交互技術,指的是將現(xiàn)代先進的語音識別、語音合成和自然語言處理技術融入虛幻引擎,創(chuàng)建契合時代需求的用戶交互體驗。這一技術實現(xiàn)的核心方式主要有集成第三方庫和開發(fā)自定義插件兩種。通過這兩種方式,虛幻引擎可以無縫地識別用戶的語音輸入,并針對輸入內容做出相應的響應,最終呈現(xiàn)給用戶一種高度互動與沉浸式的語音交流體驗。這種結合虛幻引擎和語音交互技術的應用可以廣泛用于各類場景,如游戲開發(fā)、虛擬現(xiàn)實、影視制作等,賦予角色更富有生命力的對話和反饋,從而顯著提高用戶的參與度和沉浸感。同時,基于虛幻引擎的語音交互技術也為行業(yè)創(chuàng)新帶來了巨大的潛力,通過打破界限、拓展創(chuàng)意、提升體驗,引領未來教育、商業(yè)、娛樂等多個領域的發(fā)展方向。
虛擬數字人語音交互應用程序使用虛幻引擎并整合了ChatGPT作為核心組件,以提供高質量的自然語言處理能力。通過將多個功能模塊和技術相結合,本文創(chuàng)建了一個實現(xiàn)高效、自然語音交互的應用程序。其中包含以下幾個關鍵環(huán)節(jié),如圖1所示,以下將以步驟形式詳細說明實現(xiàn)過程。

圖1 設計流程圖
(1)輸入設備監(jiān)聽。應用程序設計的第一步是獲取用戶錄音設備(如麥克風)的輸入。在虛幻引擎中,可以利用內置的聲音輸入模塊或引入外部第三方插件來實現(xiàn)此功能。模塊在UI界面啟動時、用戶發(fā)出聲音時自動激活,捕捉到音頻數據并進行下一步處理。
(2)語音識別。語音識別是實現(xiàn)虛擬數字人語音交互應用程序的關鍵環(huán)節(jié)之一。應用程序接收到用戶的語音輸入后,需要將音頻數據轉換為可供chatGPT理解的文本數據。為實現(xiàn)這一目的,可以調用語音識別服務,通過云服務方式實現(xiàn)。
(3)與ChatGPT交互。將用戶的語音成功轉換為文本后,需要將這些數據發(fā)送給ChatGPT模型以生成相應文本回應。借助OpenAI提供的應用程序編程接口(Application Programming Interface,API),可以方便地實現(xiàn)與ChatGPT的通信。在虛幻引擎中,可以使用Set Open AiApi Key藍圖系統(tǒng)編寫網絡請求和數據處理功能。
(4)文本轉語音。當應用收到ChatGPT所生成的文本回應時,需要將這些文字轉換為實際的語音輸出。這一步驟可借助文本轉語音(TTS)引擎實現(xiàn),其中,微軟的TTS是一種可選方案。處理生成的音頻數據后,需要將其轉換為虛擬引擎支持的格式,以便應用程序調用。
(5)驅動虛擬數字人動畫。成功獲取音頻數據后,需要將聲音與虛擬數字人的面部動畫融合,以產生協(xié)調一致的效果。根據音頻信號,應用程序可自動生成虛擬數字人的嘴型、表情等動畫效果,使模型更具真實感。
(6)動畫與聲音同步播放。為提供緊密協(xié)調的用戶體驗,需要同步播放聲音和對應的嘴型動畫。虛幻引擎提供了MetahumanSDKATL插件和動畫藍圖(Animation Blueprints)這兩個模塊,可用于實現(xiàn)聲音和動畫的同步播放。
通過上述描述,在虛幻引擎中實現(xiàn)虛擬數字人語音交互應用,涉及多個重要環(huán)節(jié)和相關技術。這些關鍵模塊需要高度協(xié)同,確保應用程序連接無縫、運行效果極佳。本文從輸入設備的監(jiān)聽、音頻數據傳輸到生成回應,再到最后的動畫和聲音相互搭配,打造出一款自然、引人入勝的數字人語音交互系統(tǒng)。
虛擬數字人語音交互在虛幻引擎中的實現(xiàn),是將前面階段中的程序設計轉化為可執(zhí)行的藍圖和配置。實現(xiàn)過程中需要用到多個技術模塊和數字資源。以下是更詳細的步驟。
準備虛擬數字人模型。需要一個3D模型來作為虛擬數字人的形象,確保模型包含面部動畫(如骨骼、混合形),以支持語音同步產生的嘴型動畫。將3D模型導入虛幻引擎項目中,設置骨骼與模型的綁定,使用虛擬數字人來設置起始場景。使用相應的動畫藍圖,確保虛擬數字人能完成所需的基本動作,如圖2所示。

圖2 虛擬數字人模型綁定
配置用戶麥克風輸入,實現(xiàn)語音識別。通過第三方插件AzSpeech-Voice and Text插件來實時獲取用戶的麥克風輸入數據。將插件模塊添加到藍圖,添加Speech to Text with Default Options庫,對接收到的音頻數據進行識別,將識別結果保存為字符串變量,傳輸至ChatGPT API交互階段。
連接ChatGPT API。在虛幻引擎中安裝并啟用OpenAI API插件,以支持與ChatGPT 語言模型的交互功能。在藍圖中創(chuàng)建一個新事件來與ChatGPT API進行交互。使用插件提供的“Set OpenAI API key”功能來設置并獲取API密鑰,從而實現(xiàn)與ChatGPT服務器的連通。配置API密鑰,即可在虛擬數字人項目中搭建起與ChatGPT API通信的渠道。請求節(jié)點成功后,分析返回的JSON數據,以提取ChatGPT返回的文本內容,為接下來的文字轉語音和嘴型動畫環(huán)節(jié)提供數據。
實現(xiàn)文字轉語音服務。通過文字轉語音(TTS)服務將ChatGPT API返回的文本內容轉換為音頻。本案例采用微軟云服務,以AzSpeech-Voice and Text插件作為語音轉換模塊。將Text To Sound Wave with Default Options庫添加到項目,編寫自定義函數以接收文本數據并調用TTS服務。音頻文件可以被保存為WAV或者MP3格式,并傳輸至虛擬數字人音頻播放階段。
設置音頻播放和嘴型同步動畫。需要將虛擬數字人的面部動畫(骨骼、混合形)聯(lián)系起來,實現(xiàn)聲音與嘴型動畫的同步。在虛擬數字人的藍圖中,配置ATLMapping info映射信息。在Pose Asset中選擇mh_arkit_mapping_pose映射姿勢,實現(xiàn)數字人嘴型的綁定,如圖3所示。同時,使用MetaHumanSDKAPIManager獲取為引擎子系統(tǒng),把ATL Audio to Lipsync庫獲取音頻播放長度創(chuàng)建動畫節(jié)點,同步對齊嘴型,保持實時音頻同步狀態(tài)。根據語音的長度控制嘴型動畫,在音頻完成播放后,虛擬數字人嘴型回到初始閉合狀態(tài),等待新的語音播放,如圖4所示。

圖3 虛擬數字人表情綁定

圖4 關鍵實現(xiàn)藍圖
虛擬數字人在娛樂領域的應用得益于語音交互技術的發(fā)展和研究。語音合成指將以文字為主的媒體內容轉化為人類語音輸出。和語音識別一樣,語音合成也是智能語音技術的重要組成部分。借助這一技術,虛擬數字人能更好地為用戶服務,定制個性化的互動方案。用戶能夠與虛擬數字人進行自然且愉快的語音對話,來分享內心的想法和感受。每個虛擬數字人根據用戶的問題進行智能的回復,這樣設計的目的在于滿足用戶在娛樂方面的多樣化和個性化需求。總體上說,虛擬數字人和語音交互技術的結合,確保了用戶在使用過程中能夠獲得流暢、清晰且富有邏輯性的互動體驗。
基于ChatGPT語言模型開發(fā)的虛擬數字人在教育領域得到了廣泛關注。教育數字人具備高度的擬人化特征,其外觀和性格特征均可與真實人類媲美。無論是在微表情、發(fā)質還是膚質等方面,教育數字人都能夠還原真實人類的模樣,并且能夠在不同的光影條件下進行對應的渲染和模擬,呈現(xiàn)出與真實教育從業(yè)者極為相似的虛擬形象[4]。總之,教育數字人的高度擬人化特點,使其在教育領域的應用價值日益凸顯。虛擬數字人通過創(chuàng)新的互動方式與學生溝通,激發(fā)學生的學習好奇心與興趣,從而提高他們的學習積極性。基于ChatGPT語言模型的虛擬數字人被賦予了與學生進行語言交流的能力,可以根據學生的問題提供針對性的解答和指導。
虛擬引擎在影視制作中發(fā)揮著重要作用。它打破了嚴格的制作流程,使模型和貼圖處理能夠同時進行,特效制作也可以提前進行。虛擬引擎支持動作捕捉設備,拓展性和容錯度更好,給創(chuàng)作團隊帶來了更大的靈活性和便利性[5]。虛擬數字人可以在影視作品中擔任虛擬角色。在基于ChatGPT語言模型的虛擬數字人語音交互應用中,虛擬數字人與實際人物或其他虛擬角色展開自然的對話與互動,從而極大地豐富觀眾的觀影體驗。得益于ChatGPT強大的語言處理能力,借助虛擬數字人這一寶貴素材,導演和編劇既能節(jié)省角色創(chuàng)作成本,又能豐富劇情表現(xiàn),全面提升作品藝術價值,從而使觀眾流連忘返于獨特的視聽盛宴。
隨著人工智能技術的飛速發(fā)展,虛擬數字人作為一種新興交互形式受到了廣泛關注。虛擬數字人能實現(xiàn)精準、高效的語音交互體驗,已走進人們的視野。虛擬數字人打破了傳統(tǒng)界限,為跨領域合作提供了空間,推動了娛樂、教育、影視、數字媒體等多規(guī)模產業(yè)的革新與發(fā)展。基于ChatGPT語言模型的語音交互技術,將逐漸成為推動虛擬數字人普及應用的重要驅動力。