Difference between revisions of "MIDI Filter Rule Language"

From ZynthianWiki
Jump to navigation Jump to search
(Created page with "Finally we have the new “MIDI Filter Rule System” feature integrated in the webconf tool. You can create your rules by hand or using the wonderful “rule composition” d...")
 
m (Jofemodo moved page Configure MIDI to Configure MIDI Filter/Router)
(No difference)

Revision as of 16:13, 24 May 2018

Finally we have the new “MIDI Filter Rule System” feature integrated in the webconf tool. You can create your rules by hand or using the wonderful “rule composition” dialog.

As you probably remember, we have developed a simple “MIDI Filter Rule Language” that can be used for creating rule sets (scripts) that 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 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:

PG => Program Change
KP => Key Press (after-touch)
CP => Channel Press (after-touch)
PB => Pitch Bending
CC#?? => Continuous Controller Change (??=controller number)

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 PG => It will ignore Program Change events coming from channel 2
MAP CH#1 CC#7 => CC#1 => It will translate 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 => It will translate all the CC (Continuous Controller) events from channel 1 to channel 2