Using Patterning with Clock Sync from Bitwig Studio

14 Sep 2015

[Update, 9/14: clarify that iConnect interface is not required to route audio between an iPad and computer.  Either MusicIO or Audiomux can also be used for this.]

Patterning is an awesome drum sequencer for iOS by Olympia Noise Co.  Sequences are programmed using a unique interface built around concentric circles.  You can read reviews on ANR or Music App Blog and FACT Mag has a nice interview with Ben Kamen, who created Patterning (and the other apps in the Olympia Noice Co. catalog).

This post isn't a review; it's about integrating Patterning with your desktop system and using your DAW to control tempo in Patterning.  I'm using Bitwig Studio, but the steps would be similar for other DAWs.

Here's the core of my setup:

  • MacBook Pro
  • iPad
  • iConnectMIDI4+ - MIDI interface with audio passthrough between iPad and laptop (Mac and PC)

Note that you don't need the iConnect in order to do this.  As long as you can get MIDI between your computer and your iPad (e.g., using MusicIO or MIDIMux) you can sync Patterning with your computer.  The iConnect allows you to connect additional MIDI devices and enables you to pass audio back and forth between your computer and your iPad.  MusicIO and the MIDIMux sister app, Audiomux, will also let you route audio between a computer and iPad with nothing more than the standard lightning (or 30-pin) connector cable.  For example, you might want to send a guitar signal from your computer, run it through AmpliTube running on your iPad and send the processed signal back into your computer.  The iConnect gives you more overall flexibility but these other apps will do the trick, too, and they're a fraction of the cost (< $10 vs $199 for iConnectMIDI4+).  I use MusicIO when I'm working with just my iPad and MacBook Pro and it works great.

Alright, let's begin.

Step 1: Configure Bitwig to Send Clock Data to Patterning

To send clock data from Bitwig open up preferences and click add controller manually.  From there you select the generic controllers option and choose MIDI Clock Transmitter from the list.  I'm using the iConnectMIDI4+ and I've got my iPad connected to the first USB port (which keeps my iPad fully powered) on the iConnect interface.  So I want Bitwig to send clock data there.

bitwig-clock-transmit-to-iconnect-usb1

Step 2: Configure Patterning to Receive Clock Data from Bitwig Studio

From the file menu in Patterning, pull up the MIDI config screen and under the MIDI clock heading select receive.  Then tap the small arrow to the right of the "send", which will allow you to select an input source from which to receive clock data.

set-patterning-to-receive

I've got my MacBook Pro connected to the third USB port on the iConnect interface so that's what I select.

patterning-select-clock-input-source

At this point, Patterning will sync from Bitwig Studio enabling you to trigger clips in Bitwig and play along in time in Patterning.  As you can see in the screenshot below, Patterning indicates that MIDI clock is enabled and you can see the tempo is 126 BPM, which corresponds to the tempo in Bitwig.  If the tempo is further adjusted in Bitwig, Patterning will automatically update the tempo display on this screen and you'll hear the sequence adjust to the timing changes accordingly.

patterning-midi-clock-enabled

And here's the tempo in Bitwig Studio, which is controlling Patterning.

That's all there is to it!

bitwig-tempo

This setup has been working great so far though there are a few seconds of jitter in Patterning when you first start playing in Bitwig.  Which is to say, it takes Patterning a second or two to get in sync with Bitwig.  I'm not sure if this is an issue with the clock data being sent from Bitwig or how Patterning is processing the incoming data but things smooth out fairly quickly.

My workflow thus far is to set up a track in Bitwig that gets its input from the iConnectMIDI4+ (i.e., my iPad).  I record clips live on that track and then move the clips off to "bounce" tracks.  I usually try variations with different kits so I end up with a few tracks (1 per kit) with a bunch of clips from Patterning.  This is nice because I can then just mute the Patterning live input track and improv with the various clips on the bounce tracks.  There are other workflow approaches but this one's working for me for now.

I'm curious to know how others are a) using Patterning, b) integrating iOS with their desktop systems, and c) approaching workflow for iOS audio in Bitwig Studio.