GRIM SYNC - Advanced REAPER to Wwise Bridge System

游戏音频

This article was originally published on lkctools.com.

Introduction

This is a short overview of the features of Grim Sync, the latest system to connect REAPER and Wwise. It allows you to define file names, containers, Events, and even object properties. It is possible to import sounds, voices, and music with Grim Sync. The focus is on allowing you to create complex structures directly in REAPER and to iterate quickly. If you are interested in the idea behind the tool and the motivation for creating it, you can read more about it here.

Screen Shot 2023-03-09 at 15.03.53

Basic principle

Grim Sync is based on a custom REAPER workflow called Render Blocks. Those are groups of items, visually and functionally packed into blocks, which allow you to have rendering flexibility, better project organization, automatic naming, and various metatags that affect render settings. Using blocks saves time and speeds up the export process.

img2

Example of packed and named Render Blocks

Tracks & regions as containers

One of the features of Render Blocks is to use the hierarchy of tracks, regions, and metatags to define file names. This way you can create a structure inside an rpp project, and then use it to name the files. If there is more than one file with the same name, they will be indexed. 

Track Hierarchy:
        Dragon
        Fire
                Burst
                Sizzle

Resulting file names:
        Dragon_Fire_Burst.wav
        Dragon_Fire_Sizzle_01.wav
       
Dragon_Fire_Sizzle_02.wav
       
Dragon_Fire_Sizzle_03.wav

img3

Example of Render Blocks named using track + region nesting

You can also choose the order in which you want the file name to be created using different formulas.

img4

Various AutoNaming formulas

With Grim Sync, the idea is to use the same structure to create Wwise containers.

Example:
        [a]Dragon
                [r]Fire
                        [b]Burst
                        [sq]Sizzle

Results:

  • FILE: Dragon_Fire_Burst.wav
  • PATH: \<Actor-Mixer>Dragon\<Random Container>Fire\<Blend Container>Burst\<Sound SFX> Dragon_Fire_Burst
  • FILE: Dragon_Fire_Sizzle.wav
  • PATH: \<Actor-Mixer>Dragon\<Random Container>Fire\<Sequence Container>Sizzle\<Sound SFX> Dragon_Fire_Sizzle

There are different prefixes that represent various Wwise objects, including music containers.

  • [wu] - Work Unit
  • [f] - Virtual Folder
  • [a] - Actor-Mixer
  • [r] - Random Container
  • [sq] - Sequence Container
  • [sw] - Switch Container
  • [b] - Blend Container
  • [msw] - Music Switch Container
  • [mpl] - Music Playlist Container
  • [msg] - Music Segment

You can add these prefixes to track/region names manually, but there are also toolbar and shortcut actions that you can use to speed up the process.

img5

Custom Grim Sync actions toolbar in REAPER

Special red actions allow you to ignore specific tracks/regions so their names are not included in the resulting file name or hierarchy.

Once you are done with naming, you can run Grim Manager.

Using Grim Manager 

The manager is there for a number of reasons: to see the list of audio files to be rendered; to preview the designed Wwise hierarchy; to create Play and Stop Events from specific containers/sounds, and to validate existing links to the Wwise objects.

img6

Grim Manager showing structure and audio files

Invalid Structures

If you try to create a hierarchy that is not possible inside Wwise, for instance, an Actor-Mixer inside an Interactive Music Hierarchy, you will get an error and syncing will not be allowed until you fix the problem.

img7

Actor-Mixer is not allowed within the Interactive Music Hierarchy

Creating Events

Events can be created automatically from all objects except Work Units, Virtual Folders, and Actor-Mixers. You can simply check the box next to the container and you will see the resulting Event name inside the Event List section. Additionally, you can define which Events will have a corresponding Stop Event, which is helpful for loops. Event prefixes and suffixes can be defined within project settings.

img8

Three Events will be created from two containers and one sound

img9

Two Stop Events will be created for respective Play Events

Running GRIM SYNC action

Once we are satisfied with our sound design and structure design, we can click the GRIM SYNC button. This will render all files, import them to Wwise, and create containers and Events.

img10

Resulting hierarchy in Wwise

Iterating with ReaOpen

When you decide that some sounds in Wwise need to be reworked, you can simply right-click them and call ReaOpen. It is a separate and free tool that works by finding the original sound inside REAPER. 

img11

ReaOpen context menu

The cool thing is that, even if REAPER isn’t open, the tool will run the program, open the corresponding rpp project, and find the original sound. You can then edit the sound and run the GRIM SYNC action again, and the sound will be updated inside Wwise.

Customizing Import Locations

By default, all sounds will use Actor-Mixer Hierarchy\Default Work Unit as a root import location. However, you can use link regions, or link tracks to specify the custom location where you would like to create the structure. They can be defined for Event root location as well.

img12

Wwise Link Region

img13

Wwise Link Track

Linking sounds to Wwise objects

This feature allows users to permanently link blocks to Sound SFX objects within Wwise. This accomplishes two things. First, it allows ReaOpen to find original blocks even if you changed their location inside the timeline of a REAPER project. Secondly, it allows for changing the structure in Wwise. You can move sounds to different places, create parent containers, and even rename Sound SFX objects without losing the connection to the original REAPER sound.

img14

Exported and linked blocks

Validation Process

This process is what allows linked sounds to be so flexible. Validation runs through track/region links and also through linked blocks and then checks in Wwise if these links are still valid. Since links are based on GUID (a unique id dedicated to each Wwise object), the validation process will report errors only when objects have been deleted from Wwise.

img15

Block after failed validation process

img16

Details of the validation report

Wwise Metatags

Metatags are a Render Blocks feature that allows you to specify certain render settings per block. For example, you can render mono, stereo, and surround audio files at the same time. You can specify desired loudness, or how long the tail should be.

img17

Render Blocks with multiple metatags defined

Wwise Metatags are the same, but they affect Wwise Sound object properties like Volume, Pitch, Lowpass, Highpass, InitialDelay, etc. They are defined with a hashtag (#) prefix.

img18

Naming editor specifying Wwise Metatags

img19

Resulting changes in the Wwise Sound SFX object

Defining Metatags is possible per Render Block and all properties listed in the Wwise documentation should be available (except for read-only values).

Creating Timeline Group

Using Wwise Metatags and a special REAPER action called Add timeline delay metatags to selected blocks, you can keep a relative temporal relationship between a group of sounds in REAPER.

img20

Timeline group created by using a custom script

After importing to Wwise, you can use them within a Blend Container to get the same resulting sound without baking silence into your assets.

img21

Sounds will retain their relative temporal relationship

Smart Subpaths

There are two types of Smart Subpaths, one for the Originals, and one for Events. The idea behind both of these is to define a set of container types that will be taken into account when choosing where in the Originals folder to import sounds, or where in the Events hierarchy to create Events. The goal is to partially or fully mirror the container hierarchy within the Originals/Events hierarchy.

img22

Track hierarchy in REAPER with predefined container types

img23

Smart Originals Subpath settings

img24

Resulting hierarchy in Wwise

img25

Smart Originals Subpath affecting audio file locations

img26

Smart Events Subpath affecting Event locations

In short, the Smart Subpaths feature allows you to predefine the level of depth that you want to keep for Originals/Events, and once you decide that, your job is done; everything will be done automatically. However, caution is advised when changing structure in Wwise post-import because that will also affect how Smart Subpaths work, so be careful.

Single Items & NVK Folder items

Although Grim Sync is based on Render Blocks, there is also support for single items and NVK Folder items. The prerequisite for those to be detected by Grim Manager is to name them with @ prefix. The idea behind this is to allow people who are not used to the Render Blocks workflow to still benefit from Grim Sync.

img27

Single items named with @ prefix

img28

NVK Folder items named with @ prefix

Conclusion

Since games are becoming more complicated and larger every year, there is an overwhelming need for optimizing all production workflows, including audio. Game audio still suffers from the legacy of tools that were originally created for music production and post-production of linear media. Grim Sync is an attempt to evolve the communication between DAWs and middleware by introducing features that allow flexibility and automation. Hopefully, it will help sound designers focus more on creating awesome sounds and spend less time on manual tasks like naming, dragging, clicking, and scrolling. Grim Sync has a free version, so if you are interested in trying it for yourself, you are more than welcome to do so.

Nikola Lukić

Technical Sound Designer and Creator

LKC Tools

Nikola Lukić

Technical Sound Designer and Creator

LKC Tools

Nikola Lukić is a technical sound designer and a creator of LKC Tools. In his free time, he is developing various tools, tips, and tutorials for sound design, game audio, and music production. It is a passion project and Grim Sync is the latest result of that passion.

lkctools.com/

 @lkctools

评论

Andres Alvarez

March 09, 2023 at 08:52 pm

I am a heavy user of Grim Sync and i can recommend it to every Reaper user to improve the workflow!

留下回复

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

更多文章

《权力的游戏·凛冬将至》手游:使用Wwise结合影视原声带和原创交互音乐

我叫刘子奇(Victor Liu),在游族网络(YooZoo Games)担任音频设计师与音频程序。我负责了《权力的游戏·凛冬将至》(以下统称为GOT)手游的音乐部分。...

22.7.2019 - 作者:刘子奇

《硬核机甲》(Hardcore Mecha)的音频设计 - Part 2

请阅读第一部分。 整合 整合上,为了能快速尝试音频设计的效果,我们大量运用了Wwise Type进行配置,所有的声音配置和绝大部分的Game Syncs内容都是将Wwise...

11.11.2019 - 作者:王健安

利用Wwise的基础功能构建空间音频效果

各位同行老师朋友大家好,我是JYUN,给大家拜个晚年。

2.3.2022 - 作者:谢玮

“不”字诀

由于社区中已经有很多更好的人在写声音设计和技术实现相关的内容,我借此机会写一篇与我2018年的博客《我理想中的工作环境:以游戏音频行业为例浅谈雇佣关系的人性化》关联的姐妹文章。...

22.6.2022 - 作者:戈登·麦格拉德里 (Gordon McGladdery)

借助互动音频增强游戏的可玩性

简介 我叫马特•摩尔多万,多年来一直从事电子游戏的声音设计、音频实现和作曲,目前在位于匈牙利的 Nemesys Games...

12.2.2024 - 作者:马特•摩尔多万 (Máté Moldován)

如何使用 Wwise 和 Unity 创建可对音频作出反应的对象

在此,我想向大家展示如何使用 RTPC 在 Unity 中移动游戏对象,并创建由音频驱动/可对音频作出反应的对象。本文要求读者具备 Wwise-101...

28.5.2024 - 作者:Tomokazu Hiroki

更多文章

《权力的游戏·凛冬将至》手游:使用Wwise结合影视原声带和原创交互音乐

我叫刘子奇(Victor Liu),在游族网络(YooZoo Games)担任音频设计师与音频程序。我负责了《权力的游戏·凛冬将至》(以下统称为GOT)手游的音乐部分。...

《硬核机甲》(Hardcore Mecha)的音频设计 - Part 2

请阅读第一部分。 整合 整合上,为了能快速尝试音频设计的效果,我们大量运用了Wwise Type进行配置,所有的声音配置和绝大部分的Game Syncs内容都是将Wwise...

利用Wwise的基础功能构建空间音频效果

各位同行老师朋友大家好,我是JYUN,给大家拜个晚年。