MIDI Filter Rule Language
Revision as of 13:52, 8 August 2020 by Jofemodo (talk | contribs) (Jofemodo moved page Configure MIDI Filter/Router to MIDI Filter Rule Language)
The MIDI Filter Rule System is integrated in the webconf tool. You can create your rules by hand or using the “rule composition” dialog.
We have developed a simple MIDI Filter Rule Language that can be used for creating rule-sets. This "rule-sets" can do a lot of interesting tricks with your MIDI input flow. If you have a MIDI-OUT (like the new Zynthian Kits v2 have), you can also use your Zynthian Box as a powerful standalone MIDI filter.
Here is the MIDI Filter Rule Language syntax:
1 Rule Formats:
IGNORE [CH#??] EV[#??] MAP [CH#??] EV[#??] => [CH#??] EV[#??] CLEAN [CH#??] EV[#??]
2 Event types:
CC#?? => Continuous Controller Change (??=controller number) NON#??, NOFF#?? => Note-On, Note-Off (??=note number) PC#?? => Program Change (??=program number) KP => Key Press (after-touch) CP => Channel Press (after-touch) PB => Pitch Bending
3 Numeric expressions:
5 => a single number 5,6,7 => a list of numbers 5:7 => a range of numbers, including both limitters 1,2,3:5 => a mix of lists and ranges
4 Some Examples:
IGNORE CH#2 PC => Ignore Program Change events coming from channel 2
MAP CH#1 CC#7 => CC#1 => Map Volume Control events from channel 1 to Modulation Wheel events in the same channel
MAP CH#1 CC#0:127 => CH#2 CC#0:127 => Map all CC (Continuous Controller) events from channel 1 to channel 2
MAP CH#0 NON#0:45 => CH#1 NON#0:45 MAP CH#0 NOFF#0:45 => CH#1 NOFF#0:45 => "Split" your keyboard, sending the lower notes (until A-1) to channel 2