I have a plug in idea, but don't know where to start (Intelligent Velocity/ Duration)
The idea is basically a plug in that can load user defined "if, then" rules that update note Velocity (relative), note duration, the note duration (multiplier), and possibly ASDR or other midi CC parameters whenever a defined rule/pattern is detected in the score. This would allow users to create sets of rules that emulate specific musical styles and phrasing. (Classical ensemble phrasing, soloist phrasing, baroque phrasing, bebop, swing, song-specific, composer specific, etc.)
- Rules can affect a specific note value, specific order of note values, specific order of relative note values, note pitch range, or a specific combination of the many symbols provided by musescore applied to any of the previously mentioned ' definition properties' (I'll call them).
Ex. this could be a half note followed by 2 quarters, any note followed by a rest, slurred notes, an accented note, an accented note in front of a breath mark, etc.
- User can define midi properties any of the notes included in the rule such as velocity, duration, cc values
- Rules are organized by priority
- As the user creates score, he or she may may use a menu to run the plugin to detect instances and then select or deselect areas to apply changes
- then the user may continue to update note midi properties with another button.
File System/ organization:
- A rule creation/editor wizard allows the user to write in rhythms, or even melodic phrases, and add symbols using musescore's notation. In a panel similar to the inspection one, clicking on each note, gives access to edit-able properties.
- When saved the wizard creates /updates the rules in an xml file. Similarly to the right half instrument selection window, rules can be selected, deleted and moved up and down in a rule selection window. Also similarly, rule sets can be imported by putting an xml file in the same folder.
- Rules can be muted or ignored such as in the mixer. Rule sets can be exported in this way where all non-muted rules are exported as the set.
This is pretty much the functionality. If anyone has tips for where to start, similar open source plug ins, or anything, or would even be interesting in doing something, please let me know! thanks.