2021年4月17日 星期六

adaptive music & game audio 筆記 9 - Vertical Re-mixing 在 Unity 中之模擬

測試影片說明:

在 Unity 中建立四個 plane,分別代表不同「張力參數」的區域。人物進入每個不同的 plane,音樂就會疊加一個預設好的音樂層次,藉此模擬不同情境或緊張度時,同一首曲子中的織體與節奏型的即時變化。此種非線性的音樂播放方式,是隨機偵測遊戲玩家的動作或所在情境所得到的特定參數,來驅動音樂片段的切換、然而卻又要預期要能得到連接順暢的音樂串接。從音樂形式結構的想法來看,應該是頗為有趣。


以下為 vertical re-mixing 時務執行中,技術上必須考量的事宜:

vertical re-mixing 在 FMOD 音量設定,是根據自訂的 intensity 參數的升降而改變,在預設切換點附近讓音量隨 intensity 的變化而漸進改變的設定是有必要的。由於在 Unity 中,將不同的 box collider 對應到不同的 intensity 參數時,並無法真正讓切換中的音樂淡入淡出,故需要仰賴 FMOD 中的 intensity 底下的 seek speed 模組,選擇 asymmetric ,設定其中的 increase、decrease 參數。然而這兩個參數是以「 /s 」為單位,意旨受到 Unity 控制的 intensity 的參數若瞬間跳到下一個等級時,FMOD 要以怎樣的「速度」讓播放所用的 locator 漸進移動預期目標的 locator。換言之,increase, decrease 將決定音量漸進到達指定的目標時所需的時間。通常切換 intensity 時,會將音樂淡入設定成較快的速度,以反應立即性;音樂淡出則設定成較慢的速度。

vertical re-mixing 之音量自動化與 intensity 的對應關係



利用 seek speed 中的 increase、decrease 設定來影響音量的漸進改變

以上的測試,是採用商業音樂資料庫的音樂,直接多軌輸出而成,因此音樂內容並非特別針對 adaptive music 的需求而設計。horizontal re-sequencing 的手法則因為一般的商用曲庫的曲子不適用,故無法在此測試,可能必須另外進行創作。此外, Henry Scott 的 adaptive music 影片,提供了使用 seek speed 來處理淡入淡出的問題的想法、及使用 quantization 來避免音樂被立即截斷所產生的突兀性,解決了我的一些疑惑。

Henry Scott 的 adaptive music 音樂示範影片提供了一些有趣的音樂創作上的想法,將 horizontal re-sequencing 與 vertical re-mixing 兩者同時結合在一首曲子中,結構上已經整合 adaptive music 的主要技巧,頗值得參考:


從上述測試過程與實驗中,有一些心得與想法羅列如下:

  1. 素材的本身或和聲進行方式可能是影響是非線性的音樂片段能否連接得順暢的因素。
  2. 太複雜的和聲進行或較長的樂句可能都不利於非線性、隨時可切換的播放方式。
  3. 由於每個已經安排好順序的音樂片段還可以利用 FMOD 每次隨機選擇不同的版本來播放(使用 multi-instrument),可以讓重複播放的音樂獲得更多的變化,而不至於使被玩家拖延而重複循環播放的音樂聽起來因過度重複而顯得枯燥。
  4. 音樂片段由 DAW 輸出時,應該保留殘響的尾巴,且置入 FMOD 中時,要選擇 asynchronous,表示當播放游標因互動事件而跳到另一段音樂時,前次播放的聲音檔案之殘響仍得以繼續播完。(在 async 的狀態下,只要聲音被觸發一次,就會把該次播完。如果因為該聲音的播放起點在 某一 loop region 中,則可能因此而被多次重新觸發,那麼就會越來越多的同一個聲音檔案在每次觸發時被疊進來。)
  5. Transition 標籤下的 Transition Condition 的設定中可以設定 quantization 的小節數,讓 transition 發生時,可以等到走完預設的小節數才跳到下一段音樂。
  6. 可以將 "calm" 與 "tense" 的軌道以 group 的方式(運用 mixer 的 send 串接技巧,選取軌道,並在介面下方按滑鼠右鍵,選擇 insert send / to event / new return),分成兩組,當 "threat level" 提升時,便可以使用 volume 的自動化,隨著 "threat level" 增加,驅動 "tense" 群組的音量增加,此外,也配合 "threat level" 參數設置其 seek speed 為 asymmetric 模式,藉此得以調整 "threat level" 參數切換時,數值漸變的速度 。
  7. "distance to goal" 是搭配 event reference instrument 的功能,得以將某個部份的音樂內容獨立出來成為一個附屬的模組,該模組中的內容若被觸發時,若主要的 timeline 中的的播放游標持續進行 loop 播放(主要的 timeline 中的此區域設有 loop region),則 event instrument 內的內容會全部播完,當然也可以在 event instrument 內設定 loop region,則只要主 timeline 中的播放游標在播放,event instrument 內的 loop 也會持續循環播放。Henry Scott 的影片中的 event instrument 的使用方法是在 timeline 中建立 event instrument,將輔助提高張力的音樂內容置入其中,僅搭配 "distance to goal" 參數變化,來觸發之。
  8. 有別一般的 instrument 只能播放單一聲音檔案,Event Instrument 則可以用來播放數個 Event (https://fmod.com/resources/documentation-studio?version=2.0&page=working-with-instruments.html)。
  9. magnet regions: 可用來讓播放器游標在特定條件下,由任何段落跳回 magnet region,其作用與 transition region 及 destination region 相反。transition region 是用來從某個特定的 transition region 段落,依照條件的不同,跳到的不同的指定的段落。magnet 的使用方式,通常使用數個 magnet region 並佔滿整個欲運作的區間來運作(如下面影片所示),或是搭配 transition region (以 transition region 佔滿整個欲運作的區間)的方式來運作,不合 magnet region 的條件,則以 transition region 之條件,來指定播放頭要跳到何處。此外,magnet region 也可以透過設定 offset 模式為 relative,則可讓播放游標由某個段落跳到 magnet region 段落的相對應的時間點。offset 的預設模式是在達成特定條件時,播放游標會跳到 magnet region 的開頭來播放。(原文說明如下: A magnet region is the reverse of a transition region: If a transition region tells the timeline playback position to “go over there,” a magnet region tells it to “come over here.”As for a use-case… Imagine you wanted to make an event in which the timeline was divided up into multiple sections, and you wanted to be able to jump from any section to any other section.With magnet markers, you could simply create one magnet region for each timeline section, and assign them appropriate trigger conditions. To make the same event without magnet markers, you’d have to use transition regions and destination regions. To start with, you’d need one destination region for each section. You’d also need a number of transition regions equal to the number of timeline sections times two (so that you could have one transition region leading to a section on either side of that section), minus two (because you don’t need a transition region leading to the leftmost section to the left of the leftmost section, nor a transition region leading to the rightmost section to the right of the rightmost section). You’d then need to assign each transition region appropriate trigger conditions. Magnet markers make this kind of event a lot easier to make. https://qa.fmod.com/t/what-is-magnet-region-for/15564/4


下例中則是使用 cubase 結合 FMOD 的製作流程範例,以管弦樂為風格,其中內容也包含了 Event Instrument 的運用。




沒有留言:

張貼留言