Using Wwhisper to Connect REAPER and Wwise

게임 오디오

Hello there! I’m Thomas, a technical sound designer from France, and I’m excited to share some details about one of my scripts with you here on the Audiokinetic blog: Wwhisper.

What is Wwhisper?

Wwhisper is a ReaScript that enables REAPER to send commands to Wwise using take markers and automation lanes.

When the script is running, REAPER enters a custom playing state that detects markers and automation points, performing various actions depending on their name. You can create and position game objects, post Events, set Switches, States and RTPCs.

Giving Credit Where Credit Is Due

I had a conversation with my mentor Vincent Sergent about mixing techniques for party games. These games often have chaotic audio landscapes, especially with their fast pace and split-screen multiplayer setup. This got me thinking that dynamic mixing techniques, like Wwise HDR, could be a perfect fit for such a case. To illustrate this, I decided to prototype a Wwise project using this feature.

During our discussion, I recalled some really cool YouTube content. Marc Hasselbalch’s video on creating a re-sound of a Hitman sequence using Max was particularly inspiring. Additionally, Bernard Rodrigue and Andrew Costa’s talk at ADC 22 was also very helpful.

At the time, no such tool was publicly available, and I wasn’t keen on spending months developing a framework in Unreal. So I stole a few minutes of Andrew's time with my silly questions, and ended up coming up with my own solution.

How to Use Wwhisper

Wwhisper is composed of three parts: two scripts and a JSFX plugin.

Wwhisper: The main playback script.

Wwhisper Assistant: This script is not mandatory, but will streamline the process and save you some headaches.

kusa_Wwhisper Params: A JSFX plugin that allows you to modulate RTPCs and position game objects in 3D space.

Installation:

Everything but the SWS Extension for REAPER is accessible through ReaPack.

  • In REAPER, you can navigate to Extensions/ReaPack/Import repositories…
  • Paste the link to Audiokinetic’s repo there: https://github.com/Audiokinetic/Reaper-Tools/raw/main/index.xml
  • And my repo as well: https://github.com/TFKusa/kusa_reascripts/raw/master/index.xml 
  • Now you can navigate to Extensions/ReaPack/Browse packages and install these elements:

ReaWwise, kusa_Wwhisper, kusa_Wwhisper Params, kusa_Wwhisper Assistant.

Setting Up:

To simulate a game engine environment, we first need a listener. Wwhisper creates a Listener game object at the world’s origin (0,0,0) when you run the main script.

Next, we need the ability to create game objects. I thought a good parallel to game objects in the DAW world would be tracks.

Wwhisper scans every track in your session and generates a corresponding game object for each one, inheriting the track’s name. If multiple tracks share the same name, only one game object is created. This feature helps you organize your session efficiently, especially when dealing with an insane amount of markers.

REAPER-Wwhisper

Using the Assistant

Creating game objects through tracks:

Create new track and item: Generate new tracks with an empty item and the JSFX plugin inserted. If you have an imported video in REAPER, selecting it ensures the new item’s length matches the video’s duration. Alternatively, you can define a time selection.

Wwhisper-Assistant-create-through-tracks-reaper

Sync with Wwise:

Click the "Sync with Wwise" button to import all Events, RTPCs, Switches, and States references from your current Wwise project. These will be displayed in their respective fields for easy access.

Wwhisper-sync-with-Wwise

Working with Events, States, and Switches using take Markers:

Select the target item, position the play cursor where you want the marker, choose a marker color, specify the trigger type, select the corresponding Wwise object, and click "Create take marker."

 

Select-the-target-item-Wwhisper

Managing RTPCs:

Automation Lanes: In the Assistant window, set the type to RTPC, enter the RTPC name (or select it from the synced list), define the min and max range (automatically filled if synced), choose the target track/game object, and click "Create RTPC automation lane."

Wwhisper-REAPER-create-automation-lane-RTPC

JSFX RTPC Parameters: These range from 0 to 100, representing a percentage of the actual RTPC range. That’s the reason why the input of min and max values are necessary, so the script can convert the percentage to the real value.

Listener and World Movement:

In typical game scenarios, it’s the listener that moves around the 3D space. However, since Wwhisper is primarily designed to work with gameplay videos where the player usually remains at the center, in our case it’s the world that moves around the listener.

Just like with RTPCs, positioning is managed through automation lanes and the JSFX plugin.

Wwhiper-positioning

Front/Back and Up/Down: These axes use absolute values, making positioning straightforward.

Left/Right: This axis is relative to Front/Back. Setting Left/Right to -100 will always hard pan the object to the left, and setting it to 100 will hard pan it to the right.

While this setup is fine for 2D layouts, accurately positioning objects in a 3D space can become a bit of a guessing game. I’m working on several other projects at the moment, but I plan on including a 2D panner VST that will help properly spatialize game objects.

Playback:

In order to playback your sequences, just run the main Wwhisper script. It will trigger a special playing state and send instructions to Wwise when the play cursor goes through markers or automation curves..

Additional Commands:

While Wwhisper typically manages most tasks automatically, there are a few extra commands available:

Register Game Object
Unregister Game Object
Unregister All Game Objects

These commands are handy for more advanced management but are rarely needed.

Utilities in Wwhisper Assistant

The Wwhisper Assistant comes with a suite of utilities. They are straightforward to use and can be accessed by checking the Utilities checkbox located at the top right-hand corner of the Assistant window.

Wwhisper-assistant-utilities

One standout feature is the Generate Project from Profiler TXT, requested by user undertheradar84 on the REAPER Forum thread. This tool allows you to import a Wwise Capture Log in TXT format and automatically generate a Reaper/Wwhisper setup that replicates the sequence of events logged in the file. Here’s how to use it:

Prepare Your Wwise Capture Log:

Navigate to Wwise > Project > Profiler Settings.

Ensure that both API Calls and Game Syncs are enabled. This will include the necessary information in your Capture Log.

Wwise-Profiler-settings

Configure Capture Log Columns:

Right-click on the Capture Log columns and select Configure Columns.

Make sure to select all relevant elements that you want to include in the import.

Wwise-capture-log-configuration

Connect Wwise to your engine of choice and save the log:

Click on the Save icon, and save the log as a txt file.

Wwise-capture-log-save

With your Capture Log ready, use the Generate Project from Profiler TXT feature in the Utilities section.

The script will process the log and create a corresponding Reaper/Wwhisper setup.

Finalize the Setup:

After the project has been generated, rename your listener’s Game Object (often the Main Camera) to “Listener”.

Wwhisper-finalize

You can find two re-sounds I’ve made using Wwhisper on my YouTube channel:

Super Smash Bros. Ultimate - Lies of P.

Thank you for reading! You can message me on the REAPER forum thread here if I can be of any assistance. I hope you’ll find this useful. Thank you Audiokinetic, cheers!

 

Thomas Fritz

Junior Technical Sound Designer

10 Chambers

Thomas Fritz

Junior Technical Sound Designer

10 Chambers

Thomas Fritz is a Technical Sound Designer based in Stockholm, Sweden. After several years in audio post-production for French television, he joined 10 Chambers in mid-2024, marking the start of his professional career in game audio.

댓글

댓글 달기

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


다른 글

게임 사운드 보관 | 제 1부: 기본 지식

게임 업계에서 사운드 보관은 상당히 민감한 부분입니다. 데모씬과 레트로 게임에 각별한 애정이 있든, 혹은 최신 도구와 엔진으로 작업하는 사운드 전문가이든 (아니면 옛날 사운드에 푹...

9.9.2021 - 작성자: 파니 러비야르 (Fanny REBILLARD)

Wwise 라이선스 및 가격 책정에 대해

"도대체 어떤 방식으로 책정되는거죠??"전 세계 스튜디오의 어두운 구석 어딘가에서 Wwise의 가격 모델이 조금... 복잡하다는 속삭임들이 있어 왔습니다. 완전히 틀린 말은 아닐...

13.4.2023 - 작성자: 마이크 드러멜스미스 (Mike Drummelsmith)

AudioLink로 떠나는 여행

지난 10월 게임사운드콘(GameSoundCon)에서 저는 호텔 근처 고급 샌드위치 가게에서 데미안(Damian)과 점심을 먹고 있었습니다. 예상하셨겠지만 저희는 오디오 기술에...

10.6.2024 - 작성자: 피터 "pdx" 드레셔 (Peter "pdx" Drescher)

BPM: 불렛 퍼 미닛(Bullets Per Minute)에서 음악과 게임플레이 동기화하기

어떤 리듬의 FPS를 만들지 결정하기 BPM: 불렛 퍼 미닛(Bullets Per Minute)은 박자에 맞춰 총을 쏘고, 재장전하고, 점프하고, 피하는 리듬 액션 FPS...

11.12.2024 - 작성자: Awe Interactive (어 인터랙티브)

Scars Above(스카스 어보브)의 오디오 최적화 모범 사례

소개 이 글에서는 게임 스카스 어보브(Scars Above)를 프로파일링하고 오디오를 최적화하는 데 적용한 다양한 원칙을 설명해드리려고 합니다. 사운드 디자이너분들에게 저희가 겪은...

12.3.2025 - 작성자: 밀란 앤틱(Milan Antić)

Wwise로 게임 마스터링하기 | 제 1부: 게임 오디오 마스터링 접근 방법

게임은 다양한 구성에서 뛰어난 청각적 경험을 제공해야 합니다. 이것은 헤드폰의 3D Audio가 될 수도 있고, 스테레오 TV 스피커 혹은 광대한 7.1.4 Atmos 시스템이 될...

19.3.2025 - 작성자: 로익 쿠티에(Loïc Couthier) & 단제리 스켐브리(Danjeli Schembri)

다른 글

게임 사운드 보관 | 제 1부: 기본 지식

게임 업계에서 사운드 보관은 상당히 민감한 부분입니다. 데모씬과 레트로 게임에 각별한 애정이 있든, 혹은 최신 도구와 엔진으로 작업하는 사운드 전문가이든 (아니면 옛날 사운드에 푹...

Wwise 라이선스 및 가격 책정에 대해

"도대체 어떤 방식으로 책정되는거죠??"전 세계 스튜디오의 어두운 구석 어딘가에서 Wwise의 가격 모델이 조금... 복잡하다는 속삭임들이 있어 왔습니다. 완전히 틀린 말은 아닐...

AudioLink로 떠나는 여행

지난 10월 게임사운드콘(GameSoundCon)에서 저는 호텔 근처 고급 샌드위치 가게에서 데미안(Damian)과 점심을 먹고 있었습니다. 예상하셨겠지만 저희는 오디오 기술에...