• About
  • Reel
    • Respawn
    • Relic Entertainment
    • Sony Santa Monica
    • EA Tiburon
    • FIEA
  • Side Projects
  • Contact
  • Stickless
Menu

Aaron Cendan

Technical Audio Designer
  • About
  • Reel
  • Experience
    • Respawn
    • Relic Entertainment
    • Sony Santa Monica
    • EA Tiburon
    • FIEA
  • Side Projects
  • Contact
  • Stickless
×
7AC08153-3D75-4D22-8E91-00BA8A553975.jpg

Making Another Reaper Controller!

Aaron Cendan March 2, 2021

The Big Reaper Remote (BRR-1)

A few months ago, I was approached by a rather charismatic individual who mentioned a dream controller of his: a rack-mounted platform for record-arming tracks, with transport and marker controls in Reaper. With experience in the PCB and enclosure fabrication side of things, he only needed assistance with the programming. Now I know this may come as quite the surprise… I eagerly accepted that undertaking.

This post covers the low-down on how I approached the controller’s digital domain.

Human Interface Devices and You

Human Interface Devices (HIDs) are pieces of hardware that utilize a standardized protocol for sending data to computers. They range from keyboards and mice to “alphanumeric displays, bar code readers, volume controls, auxiliary displays, sensors and many others” (Microsoft). But what does this clunky name mean for Reaper users?

Death to MIDI

Well that’s just about it. There’s the answer.

Don’t get me wrong, MIDI protocol is fantastic in many regards, and I will unashamedly admit my eagerness for MIDI 2.0 spec to become the norm. However, building MIDI controllers from scratch is a finnicky process. While Arduinos can utilize serial communication to send MIDI information, that data must then be parsed by the computer through the usage of additional applications like Hairless and LoopMIDI. Arduinos can also communicate direct MIDI messages, but this can also be a pain to work with, even when using supplementary libraries.

GET TO THE POINT

This Reaper controller is just a fancy computer keyboard :)

It utilizes an Arduino Leonardo to send HID compliant keyboard commands/hotkeys. To account for all of the necessary button inputs and their corresponding LEDs, it relies on a multiplexing shield that effectively expands the I/O capabilities of the Arduino.

On top of that, this glorified keyboard is seriously optimized for sending hotkey combinations. For instance, when the user presses multiple buttons simultaneously, hotkey combos are staggered with per-key debounce times (by a factor of milliseconds) so that Reaper can parse input and act appropriately. Think of this like someone smashing “CTRL + ALT + SHIFT + F4”, releasing that, then “WIN + ALT + 0”, releasing, then “CTRL + ALT + P” all within the blink of an eye. You get the point.

And finally…

It’s plug-and-play! The biggest perk of Human Interface Devices is that you just… plug it in and it works. No opening the MIDI preferences menu and pressing “Reset All Devices” and frantically closing-and-reopening Reaper. This controller is just a pretty, rack-mounted computer keyboard that’s thoroughly optimized for sending hotkeys. Check out some of the build pics and videos below, courtesy of my Twitter backlog.

IT'S ALIVE! First stab at a rack-mounted Reaper controller 😁 pic.twitter.com/gXMKuejXlj

— Aaron Cendan (@acendan_) January 31, 2021

Check out the blue circuit board on the right side of the controller. That’s the multiplexer I mentioned, which allows the Arduino to seamlessly send/receive messages with all of the controller’s hardware!

!!! pic.twitter.com/aoiSTSyrfi

— Aaron Cendan (@acendan_) January 31, 2021
In Programming Tags Arduino, Reaper
← The Noise ToolbarBatch Files Are Underrated →

Featured Posts

Featured
The Last Renamer
Programming
Reaper, ReaScript, Tools
The Last Renamer
Programming
Reaper, ReaScript, Tools
Programming
Reaper, ReaScript, Tools
Synchronizing REAPER Installs Across Computers
Programming, Sound Design
Reaper, Syncthing, Backups
Synchronizing REAPER Installs Across Computers
Programming, Sound Design
Reaper, Syncthing, Backups
Programming, Sound Design
Reaper, Syncthing, Backups
First Time Recording Firearms
Field Recording
Field Recording, Guns, Firearms
First Time Recording Firearms
Field Recording
Field Recording, Guns, Firearms
Field Recording
Field Recording, Guns, Firearms
UCS Renaming Tool
Programming
ReaScript, Javascript, Lua, HTML, Reaper
UCS Renaming Tool
Programming
ReaScript, Javascript, Lua, HTML, Reaper
Programming
ReaScript, Javascript, Lua, HTML, Reaper

View All Posts