《Divinuet》的互动音乐系统 – 第 2 部分

游戏音频 / 声音设计

大家好,第二篇博文出炉了!在此,我将进一步探讨本人即将推出的塔罗牌音乐生成游戏Divinuet。如尚未阅读第 1 部分,建议先点击此处查看。 

正如我在第 1 部分中所说,该游戏大致分为 2 个环节:占卜和生成。在占卜环节,会以牌面朝下的形式发 3 张牌。在翻开每张牌时都会揭示牌面含义,并针对这张牌播放一小段主题音乐。在生成环节,游戏将依据牌面组合及顺序生成不同的音乐和画面。上篇博文探讨了占卜环节,下面我们来说说生成环节。

音乐

塔罗牌占卜当中会抽取 3 张牌,其牌面组合及顺序将决定构成生成音乐的 4 个声部。为便于理解,我直接将这些声部命名为 Bass(最下层)、Tenor(中下层)、Alto(中上层)和 Soprano(最上层)。

其中 Bass 声部取决于占卜当中哪种花色占多数——整副塔罗牌共 5 种花色:Major ArcanaSwordsWandsCups Pentacles。考虑到 3 张牌花色组合的各种可能性(包括三张牌各属不同花色的情况),我们将需要 6 种不同的 Bass 声部。每种花色都有与之对应的情绪,对此我想在 Bass 声部中予以反映。下面贴出了三种花色对应的 Bass 声部的音频:Pentacles(朴实、率真)、Swords(智慧、冲突)和 Null(尽量不带倾向性)。让我们来试听一下。

对于其余声部,我按照牌面含义将 78 张牌分成了 26 个不同的分组(3 张一组)。并为每个分组都创作了包含 TenorAlto Soprano声部的音乐内容。比如,我让占卜当中的第一张牌决定 Tenor 声部播放的内容,第二张牌决定 Alto 声部,第三张牌决定 Soprano 声部。为了理清、记录各个分组需要的情绪、规划创作手法,我特地制作了下面的表格。

Divinuet_Part2

就拿 Group 2 来说。该分组都是跟痛苦、不幸有关的牌,对此我决定选用激动、悲伤的弦乐。其中的 TenorAlto Soprano 声部分别由大提琴、中提琴和小提琴演奏。下面是三个声部合在一起演奏的效果(不含 Bass 声部)。让我们来试听一下。注意,除非恰好抽到该分组的 3 张牌,否则不会同时听到这三个声部一起演奏。通常情况下可能是某个声部来自该分组,而其余声部则来自与此不同的分组。

再拿 Group 5 来说,其牌面寓意为休整和等待。我们来听听三个声部合在一起的效果。

如果你是一名音乐家,可能会想等等,不对。这两组音乐的调不一样啊!这怎么能合在一起演奏呢?问得好!下面我们就来看看这种情况该如何处理。

规则

由于这样设计导致不同分组声部之间的组合方式实在太多,我不可能全都通过试听来检验。为此,我在创作每段乐曲之前就为自己制定了严格的规则——第一条最基本的规则就是所有声部必须采用相同的曲速和拍号,对此,我将BPM设为 80 ,拍号为 4/4

如此一来,步调一不一致的问题算是解决了。可是,音符/和弦怎么处理呢?牌面蕴含了各种各样的寓意和心境,而我并不想全部沿用同一和弦进行来表现。 

为此,我选择了将乐曲分为若干 4 小节乐句。在每段乐句当中,Bass 声部只能播放一个特定的音符(通常是和弦的根音,不过节奏没有限制)。其余带旋律的声部则非常自由,只要不跟 Bass 声部在调性上有冲突就行(除非是刻意为之——有些分组便是如此)。其余要演奏伴奏声部的声部音符选择必须与 Bass 声部相同,但要在与其对应的音域中演奏。这样,不同声部的音符之间就不会发生冲突了。 

伴奏声部在节奏设定上各不相同。有些很有节奏感,有些略微多一些装饰音,还有些则是持续音。具体要看其所在分组的情绪。

下面的表格显示了声部和音符之间的对应关系。我们来看一下。

 

GenerativeSpreadsheet_divinuet2

 

仔细看的话不难发现,我将 Phrase 5 Phrase 9 分成了两个部分,并允许声部在 Phrase 5b Phrase 9b 当中同时播放 F C 音符。这是因为我希望音乐可以在开放的五和弦上结束,以避免乐曲在情绪上呈现出太明显的倾向性。

另外我还发现,若在第一次切入新的声部时正好落在强拍上,感觉就会很突兀。所以,我基本上都是直接在切入新的声部之前插入起奏音符。当然,这里也要遵循我们已经设定的规则——比方说,我想让 Soprano 声部通过起奏音符过渡到 Phrase 4 当中的旋律,那么我们就要在 Phrase 3 当中予以实现。这样的话起奏音符就必须为 Bb

说完上面这些如果您还觉得不够直观,不如试听下实际效果。假设,我们进行占卜,结果如下(牌面图案由 Sarah Seekins 设计):


DemoReading1_divinuet


第一张牌为 Four Of Swords、第二张为Five Of Cups ,第三张为 Queen Of Swords。那么,我们会听到 Swords 版本的 BassGroup 5 版本的 Tenor(平静)、Group 2 版本的 Alto(悲伤)和 Group 25 版本的 Soprano(渴望)(建议参看前文中出现的表格)。

接下来我们来稍微调换一下牌面顺序。

DemoReading2_Divinuet

这次,我让第 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。这四个音轨会同时播放,每个声部对应一个音轨。

 GenerativeMusic_Divinuet

然后,我为声部设置了跟 State 绑定的 Switch Subtrack,并由游戏根据开牌结果自动进行设定。目前我只构建了 Bass 声部,不过也不妨来看一下。

Audio_DivinuetGenerativeBass_Divinuet

事实上,我专门跟来自 Audiokinetic 的戴米安 (Damian) 就此做过 Twitch 直播。有兴趣的话可以点击此处观看录播视频!

按说到此应该展示一下各种系统在游戏中的实际运行效果,只是生成环节当中所要展示的画面都还没做,而且TenorAlto Soprano 声部的集成也还没完成。最多只能看着空白屏幕听单独的 Bass 乐曲,所以可能还不是时候。不过整个游戏完成之后,每次占卜都将有迥然不同的视听效果。 

如果你想关注《Divinuet》的开发进度,不妨在 Twitter @divinuetgame。除此之外,我还会 Twitch 上直播并展示《Divinuet》的音乐和编程工作。如果你想预订这款游戏或解锁一些特色功能,请点击此处

感谢各位抽空阅读我写的博文!


 

梅根·卡恩斯 (Megan Carnes)

作曲家、游戏开发者

梅根·卡恩斯 (Megan Carnes)

作曲家、游戏开发者

梅根·卡恩斯 (Megan Carnes) 是一名来自洛杉矶的作曲家、游戏开发者。她对互动音乐和生成音乐比较感兴趣,目前开发有《inter-view》和《Divinuet》两款音乐游戏。据悉,稍后推出的独立 2D 平台游戏《A Crooked Heart》也将由她作曲。同时,她还是 Game Audio LA 的联合发起人。

megancarnesmusic.com/

megancarnes.itch.io/

 @megancomposer

评论

留下回复

您的电子邮件地址将不会被公布。

更多文章

使用Wwise+Unity+Intel Realsense实现人体动作与音频的互动

大家好,今天我为大家介绍的是利用Wwise、Unity和3D深度相机——Intel...

20.4.2020 - 作者:朱墨丹青

人人都能用 WAAPI(一)概述

大家好,我是溪夜。 去年下半年我接触到了 WAAPI(Wwise Authoring API),作为头脑不怎么灵光的非专业程序员,看到 WAMP、JSON...

29.9.2020 - 作者:汪洋

Tell Me Why | 音频日志 – 第 4 部分:混音和母带制作

《Tell Me Why》已在 Xbox 和 PC 上发布,并且完全支持 5.1...

29.6.2022 - 作者:马休•菲奥伦蒂尼 (Mathieu Fiorentini)

游戏项目方如何与游戏音频外包方合作

8.9.2022 - 作者:胡正伟

加快 Strata 工作流程 | 第 2 部分 – Open Associated REAPER Project

简介 作为使用 REAPER 和 Wwise 的声音设计师,在 Wwise 中操作时经常会遇到想在 REAPER 中重新渲染声音的情形。为此,通常要手动查找源 REAPER...

26.7.2023 - 作者:Audiokinetic (音频动能)

利用 Wwise 在《Saints Row (2022)》中再现现实世界中的电台|实例分享

最初在《Saints Row...

25.11.2024 - 作者:Brendon Ellis

更多文章

使用Wwise+Unity+Intel Realsense实现人体动作与音频的互动

大家好,今天我为大家介绍的是利用Wwise、Unity和3D深度相机——Intel...

人人都能用 WAAPI(一)概述

大家好,我是溪夜。 去年下半年我接触到了 WAAPI(Wwise Authoring API),作为头脑不怎么灵光的非专业程序员,看到 WAMP、JSON...

Tell Me Why | 音频日志 – 第 4 部分:混音和母带制作

《Tell Me Why》已在 Xbox 和 PC 上发布,并且完全支持 5.1...