MidiBot, improbable music

MidiBot Plugin image
MidiBot – a MIDI pulse probability generator

Brooklyn – sometime in 2018…
My latest weekend project is a radical upgrade for one of my old iPhone apps. MidiBot is a MidiFX plugin coded using the Juce framework.

What Is It?
MidiBot is a poly-rhythmic pulse generator that probabilistically adds rhythmic and harmonic material as MIDI triggered sequences. It’s basically DrumToy with a ton of extra functionality thrown in.

What Does It Do?
I tend to use MidiBot as a super funky bass player, deep-pocketed percussionist, and ultra-cool practice metronome. But truth be told, I mostly made it ’cause I don’t get to jam with real people much any more. So I coded a workaround.

Automation & Probability
The video below shows two MidiBots running in Logic Pro X. The two instrument channels (bass & chimes) being triggered with some randomization applied to a couple of parameters. Additionally, Logic’s automation curves are animating two of MidiBot’s parameters (Fill Probability & Range) as it plays back in sync with the track.  This controlled chaos can yield some pretty subtle yet surprising results. MidiBot is endlessly fun to jam with.

Red beats are pulses that must be played.
Yellow beats are pulses available for filling.
Probability can be applied to various parameters.
Modes & Range control the available notes and ranges.

A nice bass trigger
Finger picking backbeat
Jazz ride cymbol

Some patch ideas: Here are a few patch ideas to get you started experimenting with MidiBot.

And here’s the thing: I’m gonna make this thing super easy to download (against well-informed advice). I know it’s easier to pirate and share without serial number authorization and all that crud. But do me a solid, and keep in mind I’m not with a company or some corporation on this. I’m just a guy coding in his spare time.

I’d really like to be able to post more toys for musicians like this, but you have to help me keep this as a workable distribution model. So let me politely ask you to pay up a few bucks, enjoy the groove, and let other people find it in the same way?

Yeah?  Thanks!  You’re awesome.
— Robby


Listen Up – As of July ’22 – Apple has sync issues with 3rd party MidiFX plugins. So I can’t sell it in good conscience, so it’s free, as is.

Recommended workaround – use my earlier Scripter code (linked below). All the same snazzy features. Paste that code into Scripter, and run it  using Apple’s “internal” plugin for better sync.

Scripter script: MidiBot v1.06b
https://raw.githubusercontent.com/RobbyKilgore/LogicProX_MidiFX_Scripts/master/MidiBot.js


Available Now: MidiBot v1.81

Price: $5.00 USD

Zip Contents: Mac AU/VST and Windows 64bit VST versions

Installation Instructions:
You’ll probably get a message that zip files are dangerous.
Yes maybe, but not in this case.
Once the zip is downloaded, unzip the files.

On Mac
The VST binary should go in $(HOME)/Library/Audio/Plug-Ins/VST/
The AU (component) binary should go in $(HOME)/Library/Audio/Plug-Ins/Components/

On PC
The dll should go in C:/Program Files/VstPlugins

Cubase Users
1. Open Cubase
2. Load Midibot as a VST instrument on an Instrument Track
3. Program MIDIbot to desired values or load saved patch preset from patch list
4. Load the VST Instrument you want to trigger with MIDIBot on a new/separate VST Instrument track
5. At the top of the channel strip of your new VST Instrument, select “Routing”
6. In the “Routing” submen, select “MIDIBot MIDI OUT” as the MIDI IN of your VST Instrument so that the VST Instrument will listen to the MIDI EOUT of the MIDIBot
7. Make sure the VST Instrument that’s listening is record enabled.
8. Press play in your DAW to start MIDIBot rolling. It will then trigger your desired VST instrument.
9. Multiple instances of MIDIBot can be loaded up triggering individual VST instruments within the same project by repeating the steps above