《Divinuet》的互動音樂系統 – 第 2 部分
正如我在第 1 部分中所說,該遊戲大致分為 2 個環節:占卜和生成。在占卜環節,會以牌面朝下的形式發 3 張牌。在翻開每張牌時都會揭示牌面含義,並針對這張牌播放一小段主題音樂。在生成環節,遊戲將依據牌面組合及順序生成不同的音樂和畫面。上篇博文探討了占卜環節,下面我們來說說生成環節。
音樂
塔羅牌占卜當中會抽取 3 張牌,其牌面組合及順序將決定構成生成音樂的 4 個聲部。為便於理解,我直接將這些聲部命名為 Bass(最下層)、Tenor(中下層)、Alto(中上層)和 Soprano(最上層)。
其中 Bass 聲部取決於占卜當中哪種花色佔多數——整副塔羅牌共 5 種花色:Major Arcana、Swords、Wands、Cups 和 Pentacles。考慮到 3 張牌花色組合的各種可能性(包括三張牌各屬不同花色的情況),我們將需要 6 種不同的 Bass 聲部。每種花色都有與之對應的情緒,對此我想在 Bass 聲部中予以反映。下面貼出了三種花色對應的 Bass 聲部的音訊:Pentacles(樸實、率真)、Swords(智慧、衝突)和 Null(儘量不帶傾向性)。讓我們來試聽一下。
對於其餘聲部,我按照牌面含義將 78 張牌分成了 26 個不同的分組(3 張一組)。併為每個分組都創作了包含 Tenor、Alto 和 Soprano聲部的音樂內容。比如,我讓占卜當中的第一張牌決定 Tenor 聲部播放的內容,第二張牌決定 Alto 聲部,第三張牌決定 Soprano 聲部。為了理清、記錄各個分組需要的情緒、規劃創作手法,我特地製作了下面的表格。
就拿 Group 2 來說。該分組都是跟痛苦、不幸有關的牌,對此我決定選用激動、悲傷的絃樂。其中的 Tenor、Alto 和 Soprano 聲部分別由大提琴、中提琴和小提琴演奏。下面是三個聲部合在一起演奏的效果(不含 Bass 聲部)。讓我們來試聽一下。注意,除非恰好抽到該分組的 3 張牌,否則不會同時聽到這三個聲部一起演奏。通常情況下可能是某個聲部來自該分組,而其餘聲部則來自與此不同的分組。
再拿 Group 5 來說,其牌面寓意為休整和等待。我們來聽聽三個聲部合在一起的效果。
如果你是一名音樂家,可能會想“等等,不對。這兩組音樂的調不一樣啊!這怎麼能合在一起演奏呢?”問得好!下面我們就來看看這種情況該如何處理。
規則
由於這樣設計導致不同分組聲部之間的組合方式實在太多,我不可能全都通過試聽來檢驗。為此,我在創作每段樂曲之前就為自己制定了嚴格的規則——第一條最基本的規則就是所有聲部必須採用相同的曲速和拍號,對此,我將BPM設為 80 ,拍號為 4/4。
如此一來,步調一不一致的問題算是解決了。可是,音符/和絃怎麼處理呢?牌面蘊含了各種各樣的寓意和心境,而我並不想全部沿用同一和絃進行來表現。
為此,我選擇了將樂曲分為若干 4 小節樂句。在每段樂句當中,Bass 聲部只能播放一個特定的音符(通常是和絃的根音,不過節奏沒有限制)。其餘帶旋律的聲部則非常自由,只要不跟 Bass 聲部在調性上有衝突就行(除非是刻意為之——有些分組便是如此)。其餘要演奏伴奏聲部的聲部音符選擇必須與 Bass 聲部相同,但要在與其對應的音域中演奏。這樣,不同聲部的音符之間就不會發生衝突了。
伴奏聲部在節奏設定上各不相同。有些很有節奏感,有些略微多一些裝飾音,還有些則是持續音。具體要看其所在分組的情緒。
下面的表格顯示了聲部和音符之間的對應關係。我們來看一下。
仔細看的話不難發現,我將 Phrase 5 和 Phrase 9 分成了兩個部分,並允許聲部在 Phrase 5b 和 Phrase 9b 當中同時播放 F 和 C 音符。這是因為我希望音樂可以在開放的五和絃上結束,以避免樂曲在情緒上呈現出太明顯的傾向性。
另外我還發現,若在第一次切入新的聲部時正好落在強拍上,感覺就會很突兀。所以,我基本上都是直接在切入新的聲部之前插入起奏音符。當然,這裡也要遵循我們已經設定的規則——比方說,我想讓 Soprano 聲部通過起奏音符過渡到 Phrase 4 當中的旋律,那麼我們就要在 Phrase 3 當中予以實現。這樣的話起奏音符就必須為 Bb。
說完上面這些如果您還覺得不夠直觀,不如試聽下實際效果。假設,我們進行占卜,結果如下(牌面圖案由 Sarah Seekins 設計):
第一張牌為 Four Of Swords、第二張為Five Of Cups ,第三張為 Queen Of Swords。那麼,我們會聽到 Swords 版本的 Bass、Group 5 版本的 Tenor(平靜)、Group 2 版本的 Alto(悲傷)和 Group 25 版本的 Soprano(渴望)(建議參看前文中出現的表格)。
接下來我們來稍微調換一下牌面順序。
這次,我讓第 1 張牌(Four Of Swords)保持不變。第 2 張牌改為 Ace Of Pentacles。它來自 Group 26,情緒為樸實/務實。然後,把 Five Of Cups 移到第 3 張牌所在的位置。這時,我們會聽到“沒有花色佔多數(Null)”版本的 Bass 聲部、跟上次相同版本(Four Of Swords)的 Tenor 聲部、來自全新分組的 Alto 聲部,以及 Soprano 聲部的悲傷的小提琴(替換之前 Alto 聲部的悲傷的中提琴)。
由此可見,即便牌面變化不大,生成的音樂也會產生很大的不同。這裡只是隨便列舉了 2 個例子,實際遊戲中將會有無窮無盡的組合。
實現
生成環節的實現其實要比占卜環節(第一部分中有詳述)簡單很多。對此,我只建立了一個包含四個音軌的 Music Segment。這四個音軌會同時播放,每個聲部對應一個音軌。
然後,我為聲部設定了跟 State 繫結的 Switch Subtrack,並由遊戲根據開牌結果自動進行設定。目前我只構建了 Bass 聲部,不過也不妨來看一下。
事實上,我專門跟來自 Audiokinetic 的戴米安 (Damian) 就此做過 Twitch 直播。有興趣的話可以點選此處觀看錄播視訊!
按說到此應該展示一下各種系統在遊戲中的實際執行效果,只是生成環節當中所要展示的畫面都還沒做,而且Tenor、Alto 和 Soprano 聲部的整合也還沒完成。最多隻能看著空白螢幕聽單獨的 Bass 樂曲,所以可能還不是時候。不過整個遊戲完成之後,每次占卜都將有迥然不同的視聽效果。
如果你想關注《Divinuet》的開發進度,不妨在 Twitter 上 @divinuetgame。除此之外,我還會在 Twitch 上直播並展示《Divinuet》的音樂和程式設計工作。如果你想預訂這款遊戲或解鎖一些特色功能,請點選此處。
感謝各位抽空閱讀我寫的博文!
梅根·卡恩斯 (MEGAN CARNES)
作曲家、遊戲開發者
梅根·卡恩斯 (Megan Carnes) 是一名來自洛杉磯的作曲家、遊戲開發者。她對互動音樂和生成音樂比較感興趣,目前開發有《inter-view》和《Divinuet》兩款音樂遊戲。據悉,稍後推出的獨立 2D 平臺遊戲《A Crooked Heart》也將由她作曲。同時,她還是 Game Audio LA 的聯合發起人。
megancarnesmusic.com/
megancarnes.itch.io/
@megancomposer
來源:audiokinetic
原文:https://blog.audiokinetic.com/zh/interactive-music-systems-of-divinuet-2/
相關文章
- 《Divinuet》的互動音樂系統 – 第 1 部分
- WirMusic音樂系統
- 互動音樂的五種常用設計理念
- [MAUI]模仿網易雲音樂黑膠唱片的互動實現UI
- THINKPHP 雲哥音樂網Cms系統|社會化音樂分享程式|PHP
- 語音互動的前世今生
- 互動的音符躍起又落下:音樂節奏類遊戲的興衰遊戲
- 雲音樂推薦系統(二):推薦系統的核心演算法演算法
- 網易雲音樂資料互動—async&await實現版AI
- 用深度學習打造自己的音樂推薦系統深度學習
- .NET 實現的互動式 OA 系統
- 深入解讀.NET MAUI音樂播放器專案(三):介面互動UI播放器
- 大系統觀:第2章系統論概述
- 真人大屏互動系統,打造數字互動新體驗!
- 《戰神4》的風力&植被互動系統
- GhostTalk:透過充電線對智慧語音系統進行互動攻擊
- 透過華為軍團看科技之變(四):互動媒體(音樂)
- 為何要選用 Wwise 來打造 3D 互動音樂體驗3D
- 雲音樂預估系統建設與實踐
- 第2課筆記 linux系統指令筆記Linux
- AI音樂,騰訊音樂、網易雲音樂的新版圖?AI
- 遊戲音訊存檔 | 第 1 部分:基本情況遊戲音訊
- 網易雲音樂基於使用者的推薦系統
- KORG Gadget 2 音樂合成器
- 互動投影系統應用的優勢有哪些?
- 基於php的教學互動網站系統PHP網站
- JVM是怎麼和作業系統互動的?JVM作業系統
- 智慧語音,互動入口的新未來
- win10系統怎麼把網易雲音樂設定成預設音樂播放器Win10播放器
- win10怎麼燒錄音樂cd光碟_win10系統如何燒錄cd音樂光碟Win10
- 理解音訊焦點 (第1/3部分):常見的音訊焦點用例音訊
- 如何把你的樹莓派變成一個 HiFi 音樂系統樹莓派
- Java 和作業系統互動細節Java作業系統
- Java和作業系統互動細節Java作業系統
- 地面互動投影系統原理是什麼?
- 地面互動投影系統有哪些優勢?
- 智慧座艙 自動化測試淺談之使用者場景下的語音互動系統測試
- Java 與底層作業系統的互動細節Java作業系統