Developer and role-player Balthazar Rouberol has brought a little technology to bear on his Dungeons & Dragons sessions, with a custom-built ambience mixer based on the Raspberry Pi Pico-powered Pimoroni RGB Keypad.
"I find that an immersive sound ambiance is key to helping tabletop RPG players engage," Rouberol explains. "It can increase their stress and sense of urgency during a fight, galvanize them during a harrowing speech, or break their heart when they realize they've just lost something and there's no getting it back."
While traditionally said ambience may have been created using a cassette deck and judicious fast-forwarding and rewinding while keeping an eye on the tape counter, these days it's possible to take a more technological approach to the problem. Initially, Rouberol had planned to build something around a Novation Launchpad MIDI control surface — but soon realized a far lower-cost alternative would work just as well.
"The project started to take shape when I stumbled upon the Pimoroni RGB Keypad, a 4×4 rainbow-illuminated keypad that I could program using a Raspberry Pi Pico, for a budget of about €30 (around $29)," Rouberol explains. "The color and brightness of the LEDs under the keys is programmable, meaning I could go for the look and feel of a Launchpad, while keeping my budget and the overall complexity in check."
Using the 4×4 grid, Rouberol created a simple layout: 12 possible audio tracks, plus four control buttons including volume and an option to pause all playing tracks. Written in CircuitPython, the resulting program controls the color and brightness of the LED-backlit keys while sending key-press commands to a Python listener on a laptop that, in turn, communicates with an audio-playing web-app via a Websocket connection.
"I have added a configuration-based tagging system, allowing me to get reminded of the main features for each individual track (is that an ambiance or combat music? Is it dark, light, opressing, eerie, etc?)," Rouberol adds. "I'm also propagating the key colors to the associated volume bar, allowing me to quickly identify the key that I need to press to start/pause/adjust a given audio track."
More details on the project are available on Rouberol's website, with the source code for the CircuitPython keypad code and the laptop-side available in the project's GitHub repository under the permissive MIT license.