MIDI Rules is a Rule-Based MIDI Processing Environment that can process (translate, map, convert, filter, trigger, route) MIDI messages. It supports multiple MIDI inputs/outputs, variables (enables state-based processing) and timed/delayed messages.
MIDI processing instructions are defined as set of rules, written in the MIDI Rule Language. MIDI Rules is a Java(tm) application and runs on almost any Java(tm) enabled platform with midi support. MIDI Rules uses JBoss Rules (a.k.a. Drools) as its Rule Engine.
The inital purpose of MIDI Rules is to build “Software MIDI adapters”, achieving full compatibility between MIDI controllers and MIDI-enabled software. In general MIDI Rules can be used for every MIDI message processing task.
MIDI Rules is currently available as a functional prototype without a graphical user interface, exception handling and rule file editor. The prototype is evaluated by the example of adapting Behringer’s B-CONTROL DEEJAY BCD2000 hardware MIDI controller and Native Instrument’s Traktor DJ software on Windows. You can join the discussion: