I implemented a simple scripting language in MicroTonic version 3.0 and now with the release of MicroTonic version 3.0.1 I feel that the scripting engine has matured enough to start releasing some scripts.
Before you start downloading and installing I'd like to prepare you for what you should expect from these and possible future MicroTonic scripts.
The scripts are based on a language that I developed a few years back called PikaScript (more on this in a separate post). PikaScript is a simple and robust language, but it is also very slow, so I decided not to allow scripts to run in real-time. That is, these scripts can just process patch, pattern (and MIDI configuration) data, they cannot process incoming MIDI or outgoing audio in real-time. Also, this is the first time I open up a product to scripting possibilities so I wanted to keep things extremely simple. The only way you will be able to interact with the scripts is through text input and output.
In short, these scripts are more of the nature of automating repetitive and complex UI tasks rather than providing polished and slick new features to MicroTonic. That said, if you'll take time to read the script descriptions below you'll see that some of them are actually quite creative. For instance, by utilizing some clever midi configuration options there is a script that allows you to transpose entire patterns with MIDI notes.
Here is the download: MicroTonic Script Package 1.zip 561.43KB 611 downloads
(Notice that you have to be a registered Sonic Charge customer in order to download attachments from the forum. If you are having trouble downloading it may be because your forum email does not match the email you registered with. Please contact support.)
Windows Installation Procedure
Place the entire contents of this package into a folder with the name "MicroTonic Scripts" in the same directory as the Microtonic Drum Patches and Microtonic Presets are located. E.g. "C:\Program Files\Sonic Charge\MicroTonic Scripts".
Mac Installation Procedure
Create the folder "/Library/Application Support/Sonic Charge/MicroTonic Scripts" and place the entire contents of this package into the folder.
(The following descriptions are taken from the header comments in the source files.)
Auto Sort Drum Channels
Classifies the drum patches in the current preset using some magic neural network algorithms and then reorders the channels so that the bass drum typically lands on channel 1, the snare drum on channel 5 etc. Muted channels will be ignored.
Notice that although the neural networks are built on statistics from thousands of drum patches, they sometimes make horrible mistakes. You have to be a little understanding.
One reason for sorting presets with this script is to get a more consistent mapping of MIDI notes to drum sounds. Another reason is that the morph feature and loading of only patches / patterns may work better if the channel layouts of the different presets correlate.
You may wish to modify the RENAME_PATCHES, MARK_UNCERTAINS and ADD_INITIALS constants.
CC to All Channels
Copies the CC assignments for the currently selected channel to all (unmuted) channels, so that you can easily take control over all channels from your MIDI controller. Sort of similar to the "Edit All" button in the GUI.
Export Drum Patches
Iterates all .mtpreset files from a chosen directory and exports all their drum patches (as .mtdrum files) to another chosen directory. Useful for expanding your drum patch library with patches from Patternarium presets.
Extends the current pattern to 16 steps through repetition (only works if pattern is < 16 steps).
Copies the drum patch of the current drum channel to all eight channels and transposes each channel according to a user-supplied list of semitones. This allows you to create melodic sequences with the MicroTonic pattern engine.
Stretches the pattern group so that it will play at half tempo (with exception of swing and fills).
Copies the currently active program to all 16 programs in MicroTonic, transposes them and configures MIDI so that you can play the transposed programs in a scale starting at A2 going up to C4.
Replicates the currently selected drum channel on all muted channels and then mutates them by a selectable amount. The pattern triggers are then distributed randomly between the mutated channels, thus creating random note variations within a beat.
Pick New Patches
Replaces the drum patches for all drum channels (that aren't muted) with randomly picked factory patches from the installed patch packages. Each patch will be replaced by a patch of the same category, as determined by the patch name.
E.g. a BD patch will be replaced by a new random BD patch and an SD patch will be replaced with another SD patch. If the category cannot be determined (i.e. the patch name doesn't contain a known category prefix), the patch is left untouched.
One suggestion is to run the `Auto Sort Drum Channels` script to automatically categorize the drum sounds before executing this script.
This script copies the current preset to the left morph edge and randomizes the right edge. You can now slowly morph from left to right to find a new preset and then run the script again.
Suggest Preset Name
Generates a random preset name using a statistical algorithm based on character sequences from an English dictionary.
All scripts are released as public domain. You may (and are encouraged) to modify them as you wish.