Using a Stream Deck for Game Audio Production

I recently purchased an Elgato Stream Deck in order to set up custom key commands to use with various parts of my workflow. In this post I’m going to show a few examples of what is possible with the Stream Deck and give a quick overview of how I’ve set it up to launch programs and custom actions inside Reaper.

Stream_Deck_Device_03The Stream Deck is a little 5 x 3 configurable keypad that is supposed to be used as a command center for various streaming software. However, it can also launch programs, websites, and execute key commands. Combined with Reaper’s built in actions there are a ton of possibilities. With even more support from AutoHotKey or Bome MIDI Translator Pro, it can become a powerful and versatile tool.

Default Profile

StreamDeck_DefaultProfile_CropThis is what my default profile looks like. It acts as a central hub to launch frequently used applications or websites, go to specific Windows folders, and even execute Perforce Syncs.

However, one problem that I encountered was the way Stream Deck handles launching applications. By default if an application is already open, Stream Deck will launch another instance of the application. This was not the behavior I wanted. Instead, if an application is already open pressing the button should bring the application window to the forefront. In order to accomplish this I use a simple script in AutoHotKey and mapped the key combination (in this case Win+2) to the appropriate button in Stream Deck control software.

That script looks like this:

;Launch Reaper
#2::
if WinExist(“ahk_class REAPERwnd”)
{
WinActivate
}
else
Run “C:\Program Files\REAPER (x64)\Reaper.exe”
return

And the Stream Deck configuration looks like this:

StreamDeck_Setup_ReaperLaunch

With the latest update to Stream Deck’s software 2.02,  Stream Deck now supports the ability to automatically change the profile (button layout) based on the active application. So when Reaper is open and active, the Stream Deck switches to my Reaper Profile.

Reaper Profile

StreamDeck_ReaperProfile_CropHere I’ve got buttons configured to instantiate plugins. If I press a plugin button, it will place the plugin on the selected track(s). If I hold down the +Item FX Button and then press a plugin button, the plugin will instantiate on the selected item(s). This is a quick and handy way to add favorite plugins to tracks or items. You could also configure the buttons to add instruments, entire fx chains, new tracks, or track presets.

Pressing the “AUTO” button on the top left will open up a folder, which is a nested layout. The Stream Deck software supports an infinite amount of folders, so you can create as many as you want. I thought about setting up multiple FX pages, but for me the whole purpose is quick access and if I have to start menu diving then it defeats the purpose of using the device. So instead I’ve started with just a few of my commonly used plugins.

Here’s a video of the Stream Deck in action:

Ideally, I could figure out a way for the Stream Deck to change layouts based on the mouse focus inside Reaper. For instance, if I clicked on the track control panel, a certain layout would appear, versus clicking on an item or even a specific plugin.

Automation Layout

StreamDeck_Automation_CropHere I have mapped automation related Reaper Actions to buttons:

  • FX will take me back to my default Reaper Profile
  • Play and Record Transport buttons
  • FX Parameter Modulation will open up the Parameter Modulation window for the last touched FX Parameter
  • Toggle Track Control will add the last touched FX Parameter to Track Controls for easy tactile control with my MIDI Fighter Twister.
  • Trim, Read, Write, Touch, Preview will toggle the selected tracks automation mode.
  • Write Active Automation to End will write all active automation envelopes to the end of the session
  • Write Active Automation to Selection will write all active automation envelopes to the selection.
  • MIDI Fighter Banks opens up a layout that can change the banks on my MIDI Fighter Twister with the press of a button. This was mostly an experiment to see if I could get the Stream Deck to send MIDI messages to another device using Bome MIDI Translator Pro, and it works like a charm! In the future, I will be experimenting with more MIDI layouts.

Conclusion

That’s a simple overview of what I have set up so far with the Stream Deck. I’ve only had it for a week so I expect things to change as I use it more and more in my daily workflow. I am working on the early stages of a Wwise and Perforce Layout as well. For the curious, I will post updates as things evolve and change. Thanks for reading!

Comments 9

  • Avatar
    isaac kikawaApril 17, 2018 at 11:01 pm

    Supper cool. Just got a stream deck. How are you using it to sync a specific folder in P4? I also tried the auto hotkey script and couldn’t get it to work. Probably user error on my part

    • Stephen
      StephenApril 19, 2018 at 2:40 pm

      Hi Isaac!

      For the P4 Syncing, I am using Autohotkey to fire off a bat file. Initially, I tried opening the bat file from the Stream Deck directly with the ‘Open’ command, but for whatever reason it wouldn’t execute that way. So I had to use Autohotkey to execute the bat. That looks like this:

      In my Autohotkey script I have the following:

      ;Launch Audio Source Art P4 Sync
      ^!+s::Run "E:\WORK\Macros\P4_Sync_AudioSourceArt.bat"
      return

      Then the bat file looks like this:

      @echo off
      TITLE P4 Sync Audio Source Art
      mode con: cols=180 lines=40
      ECHO //////////////////////////////////////////////////////////////////////////
      ECHO Syncing Audio Source Art Folder...
      ECHO //////////////////////////////////////////////////////////////////////////
      p4 set P4CLIENT=YourClientNameHere
      p4 sync //YourP4/Stream/Directory/Here/...
      pause

      The last three lines contain the actual commands. The rest is just formatting the bat file window and title.You can find more info on the p4 command line commands here. Mine are very simple, but I know you could do a lot more powerful things.

      So in the Stream Deck I am simply calling the Control+Alt+Shift S shortcut as a hotkey, then Autohotkey runs the bat file.

      I hope that helps!

  • Stephen Schappler On Using A Stream Deck For Game Audio ProductionJune 13, 2018 at 8:39 pm

    […] Sound Designer Stephen Schappler (Netherealm Studios, Mortal Combat X, Injustice 2) just shared an article on his blog on how he integrated the Elgato Stream Deck into his daily workflow with […]

  • Avatar
    Matt WilliamsJuly 17, 2018 at 6:10 pm

    Terrific writeup. I’m actually starting streaming, focused on live music performance and recording. My deck isn’t here yet, but I had initially thought of using the deck for controlling the stream while using my DAW controller with Reaper, but this gives me an idea that I can expand the Elgato device to controlling both the stream and aspects of Reaper that my DAW controller doesn’t do.

    I’m also using my HD500X to control the stream and BIAS FX through direct MIDI integration with BIAS and through Bome to control scene changes with key bindings in OBS. So, my live integration has been pretty rock solid. Nice to know I can expand my workflow sitting at my desk with this new device once it gets here.

  • Avatar
    MikeApril 17, 2019 at 10:48 am

    Hi there! I just came across this post. Any updates on how it’s been going with the Streamdeck?

    How has using it evolved for you? Have there been any good updates recently that have changed how you use it?

    • Stephen
      StephenApril 18, 2019 at 5:17 pm

      Hey Mike,

      Thanks for the comment.

      I’m still using the Streamdeck! Here are my most used scenarios:

      Default Layout – I have program launchers here (which I almost ever use). I should probably just get rid of them. The few buttons I actually use are: bat script folder/p4 syncs and a button that takes me straight to a frequently visited project tracking page. I also have fun but unnecessary things like playing a “Toasty!” overlay on my screen and playing the Final Fantasy 7 victory fanfare (which I will sometimes press when I’ve completed a big task! It never fails to make me smile).

      Reaper Layout – Just using it as a plugin launcher mostly. It’s nice to have some of my most used plugins accessible via one quick button press. I’ve also mapped some more advanced Reaper actions/scripts to a couple buttons, like a button that changes a two channel track into a 5.1 track and instantiates ReaSurround.

      Wwise Layout – My most used button is one that automatically opens the Wwise File Manager window and gets the latest version of the project. I’ve also found the Streamdeck very handy for opening up some of Wwise’s extra windows like the Batch Renamer, Query Editor, Capture Log, etc.

      Perforce Layout – I have buttons mapped for syncing and navigating to specific folders or searches that I need to manage/check on frequently. It speeds up navigation and readability.

      In General – Almost all my layouts have two buttons in the exact same spots – one that takes me straight to a specific JIRA board (so I can see my current tasks) and another that takes me straight to my SFX Finals folder.

      Overall, I love how the Streamdeck can automatically change the button layout based on what program is focused. If it did not have that functionality I would rarely use it. I tend to keep my menus shallow too, because if I have to dive deep into nested layouts to find buttons, that kind of defeats the purpose for me.

      Hope that is informative in some way!

  • Avatar
    David RovinJuly 23, 2020 at 7:58 pm

    I love my streamdeck. I use if for game audio as well (reaper too). One frustration is that every time our tools get updated (anywhere from 2-8 time per month) i need to fire a new executable which means i have to edit my profile to point to the right spot. Do you know any way around that?

  • Leave a Reply to David Rovin Cancel reply