Blog homepage

Connecting Wwise and REAPER: Part 2 - ReaOpen

Audio Programming / Sound Design

ReaOpen is a free lightweight program that allows you to select an audio file and open its original REAPER project with ease. It runs both on Windows and Mac and can be integrated into Wwise, Explorer/Finder and REAPER itself. Last time we talked about how to send stuff from REAPER to Wwise using WAAPI Transfer. Today we will cover the opposite.


1-1

It basically works like Open in Nuendo command that comes with Game Audio Connect plugin. The core of the program is a modified version of a script called Open project from clipboard by Jeremy Roggers aka JerContact. If you are not familiar with Jeremy’s work, he has great ideas for people transitioning from Protools to REAPER, so definitely check him out. The problem with his script is that it’s not very user friendly. So, with his permission, I made a few adjustments and created this small program to act as a replacement and an improvement for Project Recall's functionality from the WAAPI Transfer plugin. With that said, let's start right away. 

Requirements:
  • REAPER v5.92+
    • NOTE: Versions prior to this have problems with embedding correct metadata from render queue.
  • SWS
  • ReaPack
Features:
  • Open file’s original REAPER project directly from Wwise
  • Works even if REAPER is closed
  • Focus timeline position of the original file
  • Support for regions and items
  • Free
Limitations:
  • No custom Wwise command on OSX
  • Loading time could be optimized
  • Minor bugs
  • Works only with WAV files
  • There are some issues with multiple REAPER instances

 

How does this actually work?

When you export WAV files from REAPER with metadata included, you create a possibility for ReaOpen to work. You can then select a certain file in Wwise and ReaOpen it. The program copies information about your audio file in clipboard and then runs a special rpp project file. This is a simple, almost empty project and its only purpose is to run a Lua script and close itself. The script then reads the data from the clipboard and finds out which project to open by looking at the metadata. The project loads and then the original file is searched for with two parameters: timeline location and name. If one of these parameters is invalid, the script will still try to find the file, but if both are invalid, an error message will be displayed.

NOTE: This means that you still have some freedom to change your project after exporting files. You can move or rename the assets, but not both, at least not for the same item. This is a very important fact to be aware of.

 

Installation

NOTE: At the time of writing this article, the latest version is 1.72.

NOTE: It is also possible to install ReaOpen by downloading it directly from Github, but I find using ReaPack easier and faster, especially because of future updates.

The first steps of installation are the same for PC and MAC users.

  • Open REAPER
  • Go to Extensions->ReaPack->Manage Repositories…
  • Click Import/Export->Import repositories…
  • Type in https://bit.ly/LKC-Tools or https://github.com/nikolalkc/LKC-Tools/raw/master/index.xml
(either should work)

2

  • Press OK
  • Go to Extensions->ReaPack->Browse Packages…
  • Search for ReaOpen in the filter text box
    • NOTE: If you double click the ReOpen line, info text should appear. I will update this text whenever I make some significant installation/usage changes in the future, so be sure to check this out.
  • Right click ReaOpen list entry and select Install v1.XX

3

  • Select Apply and then OK
  • Open Actions window and search for ReaOpen
  • Run the action ReaOpen - Init Setup.lua and click OK when message box pops up
For PC users, installation pretty much ends here.

Additional steps for MAC users

  • In order to run ReaOpen on OSX you need to allow the system to run applications from an unidentified developers. To enable that go to System Preferences->Security & Privacy
  • Unlock the settings by clicking the  little locker icon
  • In Allow apps downloaded from section choose Anywhere
  • Enter your username and password if needed and confirm
  • Click Allow From Anywhere in the dialog box which will pop up

4

  • Lock the settings
  • Go back to REAPER
  • Open Actions window again and run ReaOpen - Open script directory.lua
  • Extract ReaOpen MAC.zip file ( make sure to unpack the zip file in the same folder)

5

 


Your folders on PC and MAC, respectively, should now look something like this:

6 7


NOTE: I admit that this installation has some redundant files. You can delete MAC.zip file on PC and exe and bat files on MAC if you want to, but they will probably be downloaded again with the next update.  Maybe in future releases I’ll separate PC and MAC packages on ReaPack, but for now, this is what you need to work with.

NOTE: If you have a problem with running ReaOpen MAC, try extracting zip files with another Unarchiver application. That seems to be the solution for some people.

You need to know that ReaOpen.exe/ReaOpen MAC.app file is actually the only file that you will be using. Lua script and RPP project file are handled automatically.

 

Naming assets in REAPER

Naming things is always important, especially in game development. So, the same goes for audio files. Because ReaOpen supports items and regions, you can use any type of naming convention that you like, but you must use $item or $region render wildcards for ReaOpen to work properly.

WARNING: Avoid typing characters that won’t be rendered to filename (punctuation marks like comma, colon, semilon etc.) into item or region names.

WARNING: Do not put ‘RPP’ or ‘rpp’ in REAPER project filename. I doubt that you would ever do that, but it would cause reading problems for the ReaOpen script.

 

Render settings in REAPER

ReaOpen works by reading special metadata written in WAV files. The, so called, bext chunks are used to store all of the important information like timeline position and project path. All that data is written directly into WAV file along with the audio. But, that happens only if you enable that option in REAPER’s render settings. My advice is to set this option the moment you create the project, when it’s still empty.

Follow these steps:

  • Create new project
  • Go to File->Render…
  • For the Source choose Region render matrix, or Selected media items
  • For filename type $region or $item depending on what you chose for the source
    • WARNING: If you don’t use these, ReaOpen functionality will be limited
  • For Output format choose WAV
  • Check Write BFW (‘bext’) chunk
  • Check Include project filename in BWF data
    • WARNING: Editing and resaving WAV files  in external editors will probably delete all BWF metadata.
  • Click Save changes and close
    • NOTE: Make sure to have at least one region selected in region render matrix, or at least one item selected because otherwise, settings cannot be saved. I always create a temp region or item and then delete it after saving the settings.

8

When you finally save the settings I advise you to create a template and use it as your default empty project. This way you will have to set the settings just once. If you are a smart person and you already have your custom templates, then you should modify them with these settings and resave them.

NOTE: ReaOpen cannot be used with files that have no project metadata written in them so it’s your job to make sure that every file is exported with bext chunks.

 

Project Settings in REAPER

You can also include the same metadata in all of the files that you record directly in REAPER. That way you can later load original recording projects directly from raw audio files.

If you think this will be useful to you, make sure to select Save as default project settings.

9

Wwise Setting

Even though we installed ReaOpen and configured REAPER’s render and project settings we still need to tell Wwise how to use it. I’ll describe the procedure for PC and MAC separately.

PC

  • Open REAPER
  • Go to Actions and run ReaOpen - Open script directory.lua.
  • When window appears remember or copy the path to the folder
10
  • Open Wwise
  • Go to Project->User Preferences
  • In External Editors section click Add…
  • Navigate to ReaOpen location, or paste the path in filename input box and press Enter
  • Choose ReaOpen.exe and click Open
  • Set ReaOpen as default external editor if you want to use the shortcut CTRL+E
  • Make sure that the Start Mode is set to Single Process

11

MAC

  • Open REAPER
  • Go to Actions and run ReaOpen - Open script directory.lua
  • When window appears make an alias of ReaOpen MAC file

12

  • Move the alias file to desktop

13

  • Open WWISE
  • Go to Project->User Preferences
  • In External Editors section click Add…
  • Navigate to desktop and select ReaOpen MAC alias file

14

  • Click Open
    • NOTE: Because Wwise works with WINE on OSX, virtual address will be displayed in Path field.
  • Set ReaOpen as default external editor if you want to use the shortcut CTRL+E
  • Make sure that the Start Mode is set to Single Process

 

Usage

You are now ready to use ReaOpen in Wwise. The procedure is completely identical for PC and MAC:

  • Select an audio object in your project
  • Run the shortcut (CTRL+E)  or choose the option from context menu
16
  • If REAPER is not already opened it will automatically load
  • Special LOADING project will appear

17

  • The dialog will ask you to save the loading project, click NO
  • After that, the original asset will be found and  focused in the timeline

NOTE: You can also launch ReaOpen from container objects like Blend or Random Container. The first child audio file will be ReaOpened.

Each of these objects can be selected and ReaOpened

18

WARNING: On MAC, if REAPER is opened but minimized ReaOpen will not be able to focus it. Please keep the window open if you want ReaOpen to automatically focus REAPER for you.

19

You can also launch ReaOpen from Source Editor

20

Successfully ReaOpened and focused region

21

Sucessfully ReaOpened and focused item

 

Custom Wwise command (PC)

Wwise 2018.1.3 and later versions, support creating your own custom commands. This is a very powerful feature that can help you to speed up your workflow. I created a custom command called ReaOpen in REAPER so you don’t have to override your current external editor, if you are using one. Unfortunately I managed to create this only for PC. That WINE on MAC is still giving me some problems. So, someone smarter than me will have to solve this problem. For now, if you are using PC you can have your own custom Wwise command, and this is how you set it up:

  • Open REAPER
  • Go to Actions window
  • Run ReaOpen - Open script directory.lua
  • When folder appears run install_wwise_command_for_pc.bat
  • Open or restart Wwise

You should now have ReaOpen in REAPER option when you right click on objects.

22

A new entry will also appear in Edit menu.

23

This will, of course, work only for objects that contain audio files which have been generated in REAPER, and exported with bext project metadata. You can also use shortcut ALT+R for ReaOpening and CTRL+E for editing in you favorite external editor.

 

Explorer Settings

Wwise is not the only place where you can utilize ReaOpen. You can modify right click context menu in Windows Explorer to allow you to ReaOpen WAV files. This way you can browse through your sounds in folders and whenever you decide to open an original project you can do that immediately, but first, you need to enable this functionality.

  • Open REAPER
  • Go to Actions window and run ReaOpen - Open script directory.lua
  • When directory opens copy ReaOpen.exe file
  • Press WIN+R to open Run program
  • Type shell:sendto in the textbox and press Enter

24

  • When window appears right click the empty area
  • Choose Paste shortcut
  • Rename newly created shortcut to _ReaOpen (that way it will be on top of the list)

25

If everything goes smoothly you will have a brand new option in SendTo menu in Windows Explorer.

26

Finder Settings

Mac users can also browse through files and ReaOpen original projects of WAV files outside of Wwise. Sadly, I’m not sure how to put ReaOpen in context menu on MAC. There is a way to change the default program for WAV files and you can set ReaOpen to perform that action, but I’m not sure that you really want it to be your default WAV editor. I guess there is a way to accomplish this, and if someone knows it, please share.

For now, the simplest solution for me was to drag that ReaOpen MAC to quick launch. This way you can simply drag any audio file to ReaOpen and the corresponding REAPER project will be loaded.

27

P stands for Project

It’s always good practice to keep your files and folders well organized. Unfortunately, that’s not always possible, especially when you are working on multiple projects. So, before you know it, things get messy. The day will come when you will have to reorganize your hard drives. When this happens, a lot of stuff gets moved, renamed and deleted.

When you finally finish organizing your workspace ReaOpen might become useless because of metadata paths in your WAV files which are no longer valid. To avoid this you can use a special feature in Windows called subst.  (I’m sure that there is a similar feature in MAC.)

Anyway, subst command lets you map a folder of your choosing to a certain virtual drive. I find it convenient to choose letter P because it’s rarely used, and it is easy to remember - the project you are currently working on is on P partition. If you decide to use subst command then you can:

  • Move projects to another physical location
  • Reinstall your system and change your drive letters
  • Checkout wherever you like (if you use source control for audio projects)

You will not have to worry about problems with ReaOpening your audio files because you can always remap your project to P: virtual drive.

To put this in perspective, let’s say that you have your project on:  D:\Audio\Projects\MyGame\MyGame.rpp. When you are done with your sound design, you export assets to Wwise with embedded metadata. Then, if you move your original project to i.e. E:\SoundDesign\MyGame\MyGame.rpp ReaOpening will not work because the metadata in WAV files will still be referencing your old project path. But, if you create a virtual drive by typing subst P: D:\Audio\Projects\MyGame in Command Prompt, your project will be on P:\MyGame.rpp. It’s important to always open it from that virtual location. That way metadata will also refer to a virtual drive path. This allows you to move the project and then you can just remap your virtual drive.

You can also create .bat files for installing and uninstalling your virtual drives. They will allow you to quickly switch the active project. Here’s an example of such files:

 

28 29

 

ReaOpen in REAPER

REAPER also has the option for setting up external editors. So, if you set ReaOpen as one, you can use it to load original rpp projects directly in place. This opens a completely new way of thinking. To set it up follow these steps:

30

  • Open REAPER
  • Go to Options->Preferences
  • Select External Editors section
  • Click Add button
  • Click Browse on Primary Editor field
  • Navigate to ReaOpen.exe file
  • Click OK

NOTE: ALT+Double Click on media item is the default mouse modifier for opening your files in external editor.

The question here is, why would you ever need something like this? Well, let me explain by talking about subprojects. Subprojects in REAPER allow you to import other projects to your timeline and render them as an audio file. This way, you can always open up subproject and add, remove or tweak something inside it. When you are done, you can save it and REAPER will automatically update all subproject files in your master project. This is great if you want to have the ability to quickly change source of many duplicated files at the same time.

But, what if you never want to loose the files you already rendered? This is why ReaOpen in REAPER is useful. This workflow can be helpful for sound designers as well as for composers because it’s great for non destructive iterations.

Here's an example. Let’s say you have an impact sound that you created yourself and you imported it to timeline. You listen to it, but in this context you are not satisfied with the baked reverb tail. With ReaOpen you can just double click on that item and your original project will be loaded. From there, you can tweak your mix and render another version of your original impact sound, without destroying the one you already created.

This also goes for composers who can change the tempo or key of loops, phrases and drones.

 

Recap

So, let’s see what we have learned. In combination with WAAPI Transfer, we can use ReaOpen for two-directional communication between Wwise and REAPER. We can export multiple sounds from our DAW directly into a Wwise project. From there, using ReaOpen, we can load original projects back and tweak our sounds again . Not only that, but we can also use Windows Explorer and MAC Finder to browse through sound effects and load their rpp files outside of Wwise. Finally, we can use ReaOpen in REAPER for iteration and alteration of sound effects or music loops and textures. All these things require some amount of setup, but the actual usage workflow is very fast and responsive. Best of all, it’s free if you already have REAPER and Wwise.

I hope that everything works perfectly, but if I learned anything from these years of working in game development, it's the fact that you can never know what have you created until other people start using it. So, I invite you all to try ReaOpen and if you have any kind of issue, comment or suggestion, please feel free to contact me. If this blog post is too much text and instructions for you, I plan to do a video tutorial on installing and using ReaOpen in the near future. I want to make this tool available and useful for everyone, so any help or feedback would be highly appreciated.

Finally, I must mention JerContact again because non of this would be possible without his original work, so, I’ll use this opportunity to thank him for being so cool and allowing me to mod his script.

Nikola Lukić

Nikola Lukić

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

Comments

Leave a Reply

Your email address will not be published.

Also from this series

Connecting Wwise and REAPER: Part 1 - WAAPI Transfer

WAAPI Transfer is not new, but I feel like there is not enough talk about it. It is an open source...

19.2.2019 - By Nikola Lukić

Also from this series

Connecting Wwise and REAPER: Part 1 - WAAPI Transfer

WAAPI Transfer is not new, but I feel like there is not enough talk about it. It is an open source...