The Interactive Music Systems of Divinuet: Part 2

게임 오디오 / 사운드 디자인

Hi, it’s me again! I’m here to tell you more about the interactive music in my upcoming tarot music generating game, Divinuet. If you haven’t read part 1 yet, I’d recommend reading that first to get an idea of how the game works, and then coming back to this post. 

As I mentioned in part 1, the game has 2 main phases. Part 1 covered the reading phase, where you learn the definitions of the 3 cards you draw and hear each card’s individual theme. In this article, I’ll be covering the generative phase, which is where your specific combination and order of cards will create a unique musical and visual experience.

The Music

Your tarot reading will consist of 3 cards, the combination and order of which will determine the 4 layers that make up the music for the generative phase of Divinuet. For the sake of simplicity, I’ll be referring to these layers as bass (lowest), tenor (medium-low), alto (medium-high), and soprano (highest).

The bass layer is determined by which suit is most prevalent in the reading. There are 5 tarot suits: major arcana, swords, wands, cups, and pentacles. When you account for the possibility that each of the 3 cards could be a different suit, we end up with 6 different possible bass layers. Each suit has its own vibe, so I tried to reflect that in the bass. I’ve posted a few snippets below: Pentacles (earthy, simple), Swords (intelligence, action), and no majority (which I tried to keep as neutral as I could).

For the other layers, I separated the 78 cards into 26 different groups of 3 cards based on their meanings. Each group then has a tenor, alto, and soprano part. For example, I made the first card in your reading determines the tenor layer, then second determines the alto, and the third determines the soprano. Here is the very, very professional spreadsheet I’m using to keep track of the different groups.

Divinuet_Part2

Let’s take group 2, for example. These are all cards about feeling anguish of some kind. So I decided to go with dramatic, mournful strings for this group. The tenor part is a cello, alto is a viola, and soprano is violin. Here’s the three layers together (without a bass layer), although keep in mind that the only way you’d hear these layers together in game is if you happened to have a reading with all 3 cards from this group! It’s much more likely that you’d hear one of these layers combined with layers from other groups.

And now for another example, here’s the 3 layers of group 5, which is about resting and waiting.

If you’re a musician, you might be thinking something like, “but wait, Megan! Those are in different keys! How the heck are you going to combine them?!”  Well, I’m glad you asked!

The Rules

Since there are multiple layers that need to be able to fit together in more combinations than I’d ever be able to listen to, I made strict rules for myself about how to compose each one. The first and probably most obvious rule is that every layer has to be the same tempo and time signature. I chose 80bpm and 4/4.

So that solves the problem of things being in time, but what about the notes/chords? Since the cards cover such a vast multitude of emotions and meanings, I didn’t want to just choose one chord progression for them all to follow. 

The solution I landed on was dividing the piece into 4 measure phrases. The bass layer can only play one specific note during each phrase (it can be any rhythm, though). Whatever layer is taking the melody can play whatever notes I want as long as they don’t clash with the bass (unless I’m purposely going for dissonance, which is the case with a few of the groups). If the other layers are playing accompaniment, they’re only allowed to play the same note as the bass, but in their respective octaves. The result is that we never end up with clashing notes.

The rhythms of the accompaniments vary a lot. Some are doing very rhythmic things, some are small decorative flourishes, and others are drones. It depends on the vibe of whatever card group they’re in. 

Anyways, here’s another spreadsheet showing what layers are allowed to play what notes!

 

GenerativeSpreadsheet_divinuet2

 

You may also have noticed that I split phrases 5 and 9, and allow the layers to play both F and C during 5b and 9b. That’s because I wanted to end on just an open 5th chord so the piece isn’t leaning too heavily into any one mood.

I also noticed it was sometimes pretty jarring when a new layer would come in for the first time right on a downbeat, so I’ve often been adding pickup notes right before a new layer comes in. Of course, it still has to follow the rules. So for example, if I want the soprano to have a pickup to the melody in phrase 4, it’d technically happen during phrase 3, so the pickup note has to be a Bb.

This will all make much more sense when you get to listen to this happening, so let’s do that now! Here’s a demo of what the music would sound like if you got the following reading (with card art by Sarah Seekins):


DemoReading1_divinuet


Card 1 is the 4 of Swords, card 2 is the 5 of Cups, and card 3 is Queen of Swords. So we have the swords bass, group 5 (restful) tenor, group 2 (mournful) alto, and group 25 (ambitious) soprano.  

Now let’s switch things around a bit!

DemoReading2_Divinuet

For this one, I’ve kept card 1 the same. Card 2 is now the Ace of Pentacles, which is from group 26, the earthy/practical group. And I’ve moved the 5 of Cups to card 3 this time. So you’ll hear the bass for when there’s no suit majority, the same tenor layer as last time, the alto layer from a completely new group, and a mournful violin in the soprano layer instead of a mournful viola in the alto layer.

Hopefully that’s a good demonstration of how the music for readings that seem very similar can actually end up pretty different! And that’s just 2 examples-- the actual game will end up having thousands of possible combinations.

The Implementation

The implementation for this part is actually a lot more straightforward than the reading section. I just made a music segment containing four tracks that play at the same time, one track for each layer.

 GenerativeMusic_Divinuet

The layers are then set up with switch subtracks that are tied to states, which will be set by the game once it knows what your cards are. I only have the bass set up so far, but here’s what that looks like.

Audio_DivinuetGenerativeBass_Divinuet

I actually set this up on a Twitch stream I did with Damian from Audiokinetic - you can watch it here if you’re interested!

This is the point where I would show what everything would look like in the context of the game, except I don’t have any of the artwork that’ll come up during the generative part yet, and also I don’t have the tenor, alto, or soprano layers programmed in. So you’d just be looking at a blank screen listening to a lone bass part, which would maybe not be the most exciting thing to watch. But once it’s done, each reading will look and sound very unique. 

If you’re interested in following the progress of Divinuet, you can follow @divinuetgame on Twitter. I also do Twitch streams where I work on Divinuet’s music and programming. And if you’re interested in pre-ordering the game and maybe getting some extra perks as well, you can do so here.

Thanks for reading!


 

Megan Carnes

Composer & Game Developer

Megan Carnes

Composer & Game Developer

Megan Carnes is a Los Angeles based composer and game developer. She has a special interest in interactive and generative music and is the creator of the music based games "inter-view" and "Divinuet." She will also be scoring the upcoming indie 2D platformer "A Crooked Heart." She is a co-organizer of Game Audio LA.

megancarnesmusic.com/

megancarnes.itch.io/

 @megancomposer

댓글

댓글 달기

이메일 주소는 공개되지 않습니다.

다른 글

아우터 월드(Outer Worlds)의 사운드: 제 1부

저희 Obsidian 오디오 팀은 Wwise와 Unreal을 사용하여 아우터 월드(Outer Worlds)의 사운드, 음악, VO를 제작한 방식을 두 편의 글로 심층적으로...

8.12.2020 - 작성자: 옵시디언 엔터테인먼트 (Obsidian Entertainment)

Wwise Unity 커닝 페이퍼

Wwise Unity 통합에 대해 말해봅시다. 언제든지 참조할 수 있는 수년간 제작된 교육 자료가 꽤나 많습니다. Audiokinetic 교육 자료로 말하자면 Youtube에도...

2.2.2021 - 작성자: 매스 마라티 소노로 (MADS MARETTY SØNDERUP)

새로운 Impacter 플러그인 알아보기

개요 Impacter(임팩터)는 기존의 SoundSeed Impact 플러그인을 영감으로 하는 새로운 음원 플러그인입니다. 이 플러그인은 '타격음' 사운드 파일을 저작 도구로...

20.5.2021 - 작성자: 라이언 돈 (RYAN DONE)

텔 미 와이(Tell Me Why) | 오디오 다이어리 제 1부: 환경음과 보이스오버

'텔 미 와이(Tell Me Why)'는 DONTNOD(돈노드)가 개발하고 Xbox Games Studios(엑스박스 게임 스튜디오)가 출판한 싱글 플레이어 서사적 어드벤처...

4.5.2022 - 작성자: 루이 마르탱 (Louis Martin)

노 스트레이트 로드(No Straight Roads)의 음악적 게임 세계 설계하기

안녕하세요, 게임 오디오 여러분들! 저희가 Wwise와 Unreal Engine을 사용해서 '노 스트레이트 로드(No Straight Roads, NSR)'의 극도의 스타일링을...

29.3.2023 - 작성자: Imba Interactive (임바 인터랙티브)

Audiokinetic Theater 발표 세션 요약 | GDC 2024

GDC 2024에서 개최된 Audiokinetic Theater에서는 많은 오디오 전문가들을 초대해 소중한 정보들을 나눌 수 있어 매우 영광이었습니다. 첫 번째 영상들이 올라와...

22.5.2025 - 작성자: Audiokinetic (오디오키네틱)

다른 글

아우터 월드(Outer Worlds)의 사운드: 제 1부

저희 Obsidian 오디오 팀은 Wwise와 Unreal을 사용하여 아우터 월드(Outer Worlds)의 사운드, 음악, VO를 제작한 방식을 두 편의 글로 심층적으로...

Wwise Unity 커닝 페이퍼

Wwise Unity 통합에 대해 말해봅시다. 언제든지 참조할 수 있는 수년간 제작된 교육 자료가 꽤나 많습니다. Audiokinetic 교육 자료로 말하자면 Youtube에도...

새로운 Impacter 플러그인 알아보기

개요 Impacter(임팩터)는 기존의 SoundSeed Impact 플러그인을 영감으로 하는 새로운 음원 플러그인입니다. 이 플러그인은 '타격음' 사운드 파일을 저작 도구로...