Toms Midi Mangler
A tool to randomize Midi in probabilistic ways...
When working with Midi, I often want to create subtle or not so subtle variation. As a quick way to do that I found that a combination of probability based randomising if a note will be played or not, if it's velocity will be changed and how much, if it's pitch will be changed and how much and finally bringing it back into a scale of my choice is my most used configuration. So I programmed this tool for three systems I use often:
- Loomers node and code based Midi Toolkit "Architect",
- Native Instruments node based toolkit "Reaktor 6" and
- UVIs versatile Instrument "Falcon", which allows the user to create custom Lua scripts.
This tool has the following settings:
Note Probability: Determines if the note will sound or not, 0 = no notes go through, 1 = all notes will be played. The values in between will let the chosen percentage through randomly.
Vel(ocity) Probability: Probability of Velocity being changed. So for instance 0.5 means, that about half the notes will be affected.
Random Velocity: If the note will be changed, this parameter sets the maximum amount of change from which a random value will be chosen. The range is +- 127
+-: With the above knob you can set positive or negative values so that velocity will either increase or decrease randomly. With this checkbox, you can overwrite this and make it randomly go in both directions
Pitch Probability: Probability of the notes pitch getting changed.
Random Pitch:A positive or negative number representing the maximum number of halftone steps the note will be transposed.
+-: Like with velocity, this allows you to make the pitch go in both directions.
Output Scale: From the two dropdowns, you can select first your key and second your scale the generated notes should conform to. Set the latter to "Chromatic" if they should be unchanged.
Channel Probability: The probability of the note channel being changed from it's original value.
Channel Min and Max: These faders set the Minimum and Maximum Midi Channel the changed notes should be placed on. So if your incomming Notes are on Channel 5 and you set Min to 1 and Max to 2 with a Channel Probability of 0.5, about half your Notes will stay on Channel 5, about 25% will land on Channel 1 and the remaining 25% on Channel 2.
Make sure the Min value is smaller or the same as the Max value!
Download: For Loomer Architect
Extract the .frag file and put it into your ~Documents\Loomer\Architect\Fragments folder (on Windows that is), then it should show up in your node list in Architect.
In Bitwig Studio, you can simply place Loomer Architect in your device chain at any point before the instrument you want to provide with mangled Midi and load this ensemble.
If you use the Channel Probability, you can for instance place an Instrument Layer device after Architect and have different Instruments on Layers that are set to specific Midi Channels.
In other hosts you have to check how they deal with Midi-plugins, sometimes you will have to create extra tracks for this plugin and route the result to your instrument track.
Native Instruments Reaktor 6:
This tool has mostly the same setting as the above, although the value ranges are sometimes different (0-100 instead of 0-1) and there are no random channels. I'll only explain the parameters that are different:
Panic: Stop all Notes. Sometimes there can be hanging notes, here they can be ended.
Upper and Lower Note Limit: Highest/Lowest Note allowed. Higher Notes are re-distributed to the range between Upper and Lower Note Limit. Great if you have samples only on a limited note range and want to limit your wrangled notes to that range.
The graph window below the output remapper shows the note steps used and can be also used to draw your own user scales.
Download: for Reaktor 6
As you can see, the parameters are pretty much the same, although the script is written in LUA using Falcons very nice and easy to use scripting abilities.
Put the extracted file "Toms Midi Mangler.lua" in your "...Documents/UVI/Falcon/User Presets/EventProcessors/Script Processor" folder, then it should show up in Falcon in the Script Processor tab. From there you can drag it to any position in the Events tab, for instance after an arpeggiator to make it more alive... :-)
Download: for Falcon