Maybe not at all in the focus of Midihub, but what about the most rudimentary Script modifier pipe?
The script would be called after each event, with event values stored in two or three integer variables, -1 in case of a lack of a given byte. This event might be transformed by modifying these variables and then the script ends. If no modifications, the event is passed as is. And that’s it. There would be RPi + Pisound for more. Or not. Modifier pipes like Arpeggiator might pass via another variable a serial number of a note in a sequence they produce, for effects like a decreasing/increasing velocity, whatever.
As it would be about small scripts and also to make it directly accessible to non-programmers, a language like (a subset of) BASIC might be used. For example, this interpreter GitHub - adamdunkels/ubasic: The uBASIC interpreter compiles with -O2 to 23k on my machine and looks customisable (like, add a limit of 100 instructions executed within one run).