HomeSuomeksi

Groover – MIDI Drum Editing Script

PythonPython
LuaLua

Project Background

Groover was developed to accelerate and humanize MIDI drum editing within the Reaper DAW. Existing tools often lacked the nuanced control required for realistic drum programming. Groover is a LUA script that allows users to select MIDI notes and apply complex rhythmic transformations instantly.

Key Features and UX

To make the script accessible, I developed a graphical user interface (GUI) that simplifies parameter management.

Standout Features:

  • Advanced Swing: Unlike basic "Timing Variation" tools that randomize note positions, Groover’s Swing algorithm creates musically coherent movement and "pocket."
  • Handedness Simulation: This unique feature simulates a drummer’s natural stroke pattern, particularly in fills. It allows for the adjustment of velocity differences between left and right hands, creating a more authentic performance.
  • Preset Management: The project utilizes JSON-based presets that can be loaded or saved directly through the GUI for a fast and repeatable workflow.

Technical Implementation

The project leverages Reaper’s native LUA API combined with JSON for data persistence. The GUI is designed for real-time interaction, ensuring that the transition from a rigid MIDI grid to a human-like groove is as seamless as possible.

Links and resources:

  • 🌐 Build: Script and GUI
  • 💻 Source Code: GitHub

Images

Groover GUI

Groover GUI