Reaper Scripting: The Secret Weapon of Game Audio

This is a companion to the recent GameSoundCon talk, “Reaper Scripting: The Secret Weapon of Game Audio” featuring:

Adam Fligsten – Composer/Audio Programmer @ Silen Audio

Julius Kukla – Senior Technical Dialogue Coordinator @ Naughty Dog

Kyle Vande Slunt – Audio Director, Team Audio

Nick von Kaenel – Audio Director, Respawn Entertainment

 

In our talk, we discuss the importance of Reaper scripting in many game audio pipelines, as well as how game audio professionals can begin to integrate the power of Reaper scripting into their workflows.


1) Why Should Game Audio Professionals Learn Reaper Scripting?

One of the best answers to that question is Julius’ excellent GDC talk about the dialogue pipeline at Naughty Dog

The short answer is that a well placed Reaper script can provide an incredible amount of time saving for just about any action that happens in a repeated way.

Do you find yourself doing the same thing over and over? Could you make a script to do that for you?

Every single game deals with a tremendous amount of files, in specific standards, with specific naming schemes. When dealing with these files, it can be absolutely overwhelming to fit them into standards, and fit them in as they need to be created.

Reaper scripting can also be used as a creative tool, helping a sound artist quickly iterate through ideas, or quickly create common structures to facilitate creativity. Does it take 5 seconds to load a plugin? What if it took 0.5?


2) Reaper Basics

People have asked about the learning curve of using Reaper. I will be honest, I have used most of the major DAW’s out there. When I made the switch to using Reaper as my daily DAW, I expected the transition to be much quicker than it wound up being. 

I made a video about how to begin using Reaper if you are coming from a Logic background:

Because Reaper is as customizable as it is, you need to learn where to look for the function you are looking for, or how to customize it for your needs, and this takes some time. 

There are some great Youtube tutorials, but the one that everyone goes to is Reaper Mania:

There is also plenty to be learned from in the Reaper forum:

https://forum.cockos.com/forumdisplay.php?f=20


3) Installing Scripts

One of the primary ways that most people install public scripts is through Reapack
https://reapack.com/

Reapack handles Reaper packages. Here is a Youtube video covering the basics of installing:

You can look around for some of the best script packages out there, but here is a good one to get you started:

https://github.com/ReaTeam/ReaScripts


4) Reaper Scripting Intro

Learning Reaper scripting can take many forms. The Reaper forums are an invaluable resource. 

The Reaper API has most of the technical information that you might need:

https://www.reaper.fm/sdk/reascript/reascripthelp.html

There are some good Youtube tutorials out there:


5) Reaper Scripting Basics

There are essentially three types of Reaper scripts: 

Reascript (Lua)

JSFX (EEL2)

Reascript (Python)

Personally, I would probably not recommend starting with Python scripting, even if you already know Python. The dependencies and Python versioning can cause many headaches, and Lua is really the default Reascript language. 

I didn’t know Lua before I started scripting in Reaper, but the more I use it, the more impressed I am with it’s depth and portability. It really is quite an impressive language, growing fast in usage, and the second most used open source language after Rust. 

There are some great technical tutorials to learning the basics of Reascript. I think this one is quite good:

https://www.admiralbumblebee.com/music/2018/09/22/Reascript-Tutorial.html

This is also great, from one of the best and most prolific Reaper scripters:

https://www.extremraym.com/en/series/reascript-beginners


6) Some of Our Favorite Scripts

NKV Tools

It should almost go without saying, but Nick von Kaenel has made some incredible scripts, which are available on his website: www.nvk.tools

Some of them require a license to use for a long period of time, but many of them are completely free to use. 

Ultraschall

An infinitely valuable set of tools that programmers can use to get even deeper into the functions of Reaper. 

ffprobe Scene Detect by Mrlimbic

Great for quickly seeing where camera cuts are in a cinematic or IGC, which is super helpful since we typically don’t want dialogue playing over camera cuts

Some of them require a license to use for a long period of time, but many of them are completely free to use. 

Reaper Update Utility by FeedTheCat

Makes the process of installing a new Reaper version significantly easier.

Radial Menu

Creates a ‘quick menu’ under your mouse to quickly select common actions. I use it mostly to load the plugins that I regularly use, quickly.