I’ve recently gotten so many requests from people wanting to buy rotators, it just didn’t seem practical to build them myself. So I spent the last month or two working on a port to a MidiFX plugin. I’ve just released a VST and an AU version of the plugin for use in Logic Pro X and MainStage as well as other DAW environments. I’m quite pleased with the UI and it’s proven to be even more flexible than the hardware version.
Here’s a brief example of what it can do harmonically to some simple triads!
This latest version fixes several annoying bugs that plagued the previous free version. I’ve also added some automation capabilities. Lots more features and updates are in the works, so stay tuned, and thanks for your generous support!
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.
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.
Available Now: MidiBot v1.81
Price: $5.00 USD
Zip Contents: Mac AU/VST and Windows 64bit VST versions
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.
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/
The dll should go in C:/Program Files/VstPlugins
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
In 2011, I was fortunate enough to lead the design team on this Nuance / Intel partnership to develop the first intelligent assistant for ultrabooks. The result was Dragon Desktop Assistant. Here’s a pretty good demo of some of its functionality.
Ever wonder what happened to those text adventure games? You know the ones like “Zork” and “A Hitchhiker’s Guide To The Galaxy”. A paragraph of text would come up on screen. You type in what you want to do, and then you get to read what happens next. Imagine a mobile device with speech in, and multiple channels of audio out. A hands free, eyes free, audiobook that you can push around with speech.
What follows is a short video of the actual working prototype I coded for iOS. The “story” is nothing special, it’s only intended to illustrate the capabilities of the platform – namely the delivery of interactive fiction through complex audio and narration with speech input. Everything you hear in the demo is made up of hundreds of individual sounds being mixed on-the-fly based around what the player/reader does within the story.
Drum Toy uses an admittedly weird drum machine architecture and concept. You create basic loops using Drum Toy’s Every and Offset knobs, and then feather in the secret ingredient: Probability!
In a way, Drum Toy ‘thinks’ the way drummers do. Find the pocket, lay down the main groove and sprinkle lightly with a few tasty fills or variations here and there to keep things fresh. Drum Toy is set up to force certain beats while leaving others to just the right amount of chance. This simple mechanism yields a surprising array of personality.
Update: Feb 2018
I’ve recently created a Logic/MainStage MidiFX Scripter hack that is really useful as it combines my favorite features from DrumToy & MidiBot!
I’ve created a number of versions of “The Rotator” over the years. This video details one of the first versions that involved creating custom hardware based on the Arduino micro-controller and several parts scavenged from various bits and pieces I had lying around.
Then a couple of years ago while in Japan I made a field trip to “Electric City” in Akihabara where I was able to buy a bunch of electronics parts that allowed me to start work on yet another version.
I wanted to start again with improved hardware and a better layout. I was really excited to find what appeared to be Prophet-V-style gray buttons and some decent push-button rotary encoders. Within a few weeks I was able to get a working breadboard up and running (top left) where I could test the code and work on the software.
Enter the amazing Dennis Alichwer who totally crushed it on laying out a custom circuit board based on my design for the test harness.
The result was the “MB1” (middle left) – which stands for “Midi Box 1” or possibly “Mike Brecker 1” we’re not sure.
Anyway, I have a couple of boxes in use. One is running the latest rotator software, and the other is running an alpha version of a new toy I’m working on called MidiBot.
Update: Feb 2018
I’ve recently gotten so many requests from people wanting to buy rotators, it just didn’t seem practical to build them myself. So I spent the last month or two working on a port to a MidiFX plugin. I’ve just released a VST and an AU version of the plugin for use in Logic Pro X and MainStage as well as other DAW environments. I’m quite pleased with the UI and it’s proven to be even more flexible than the hardware version in that it can support many more voices and rotations.
Here’s a brief example of what it can do harmonically to some simple triads!
As a kid, I learned to play folk guitar during the early sixties, and I’d experimented with a number of “open tunings”. Though I knew a couple of standard tunings used for bottleneck blues and such, I didn’t take much notice until I started listening to Joni Mitchell.
Here’s an incarnation of a graphic interface for creating and controlling probability-based ambient audio soundscapes. WHAT IS THIS? This is a set of 8 rack units. Each one contains a preset bank with a handful of sounds. You can trigger them as a “single shot”, by pressing the play button. A sound will loop indefinitely when the “Loop” mode button is selected.
On the left hand side of each unit is a “random trigger generator”. Clicking the button marked RND engages the random trigger for that channel. The frequency knob controls the “rate” at which new random numbers are generated. That is, every time the LED goes on or off, a random number between 0-100 is generated.
If the random number is less than the value of “Amount” then the sound will play. The “Prob” knob adjusts the “amount of probability” or the threshold below which the random number will trigger the sound.
It’s best to test each sound by just playing it once with the play button. Some sounds are quite long. These long sounds are best triggered with either a very slow rate of chance or with a low probability of occurring.
MASTER: NEW, LOAD & SAVE
I’ve added the ability to save configurations for the full rack of eight units. You could tweak an existing patch and click “Save” and it will be updated. Tweak an existing patch but type in a new name is equivalent to “Save As”.
For a time, I made a living playing keyboard and programming synthesizers on a lots of the records made in NY, LA, and London. I’d forgotten many of them, but thanks to the inter-tubes they’ve been hoovered up into a nice discography. Here’s a listing of some you’ll remember – others, not so much.