Music for Tablets: Audiobus 3
An essential program gets a major upgrade, giving rise to a whole new family of apps, but there are still teething pains.
by Warren Burt, May 2017
Audiobus 2 was a big leap forward in the iOS music world. For the first time you could connect different apps together and treat individual programs as elements in a chain of functions. In a limited way, you could also connect MIDI apps into the chain as well. When it was first released, a lot of developers had to play catch-up, adapting their apps to work with it, but most of them did so. Then when Audiobus was upgraded to version 2, more catch-ups had to happen. Gradually, for most apps, they did, although I still have older apps that did not upgrade and in fact, seem to be in the “stopped-development slow death” phase. (Fortunately, I still have an old iPhone 4 which can’t go beyond iOS version 9, so I can keep those apps working as long as the phone does!)
So the announcement of a major upgrade to Audiobus, to version 3, is a cause for both excitement and patience. Excitement because of all the new features it has, and they are major new features. Patience because of all the favorite mainstay apps I use which don’t yet work in some aspect or another of Audiobus 3. Hopefully they will work sooner or later, but for now, using Audiobus 3 is definitely a work-in-progress.
There are three major new features with Audiobus 3: MIDI routing, Audio Units hosting, and a Mixer Page. Let’s go over each of them in turn:
MIDI Routing. In the traditional Audiobus setup, you had a chain of Input apps, FX apps, and Output apps. This still exists in AB3, but now there is also a new page, MIDI. This has slots for MIDI input, slots for MIDI FX, and an output slot. The MIDI input slot will accept external MIDI devices, like a keyboard connected through the camera-connection kit, and it will also accept the MIDI output from some apps. Among the apps that currently can function in the MIDI input slot are Animoog, Moog Model 15, Fugue Machine and Arpeggionome Pro, Cubasis, and some of Johannes Doerr’s MIDIFlow apps – his MIDIFlow Adaptor, MIDIFlow Keyboard, and MIDIFlow Motion – more on Doerr’s apps later in the review. Hopefully, in the future, there will be many more apps which will be upgraded so that they can act as MIDI inputs here. (Anthony Saunders, developer of Analog MIDI Sequencer, are you listening?)
The next slot is MIDI FX. This is a totally new category of apps. At the moment, the “Compatible Apps” page in Audiobus 3 lists apps from just two developers, Art Kerns and Johannes Doerr. I’ve used apps from both of them, and they are very simple, but a delight, offering abilities to change aspects of a MIDI stream in real time. I’ll look in more detail at Art Kerns’s midiFILTr-PG Probability Gate later in this review, as well as Johannes Doerr’s Midiflow Randomizer.
Finally the processed MIDI information goes to a MIDI output slot. This will take sound generating apps. All the apps that you would see in the IN category of the Audio page of Audiobus 3 will appear there. At this stage of the game, some will work, some won’t, and some will work intermittently. Try out your apps to see which ones will and won’t work, and for the ones that don’t work, I suggest sending emails to your developers, urging them to update their software to full Audiobus 3 compatibility. For example, one of my mainstay apps is Thumbjam. Disappointingly, at this stage, Thumbjam won’t work as a MIDI output app, although it does work very well as an Audio IN app. Hopefully, again, the developer of Thumbjam is aware of his and an update will be on the way soon.
The exciting thing about the MIDI out (Receiver) slot though, is that apps which are compatible with the Audio Units standard will appear here, and these apps are capable of existing in more than one instantiation. That is, you can use them in several different chains at once in Audiobus 3. So you could have one instance of say, Yamaha: FM Essential in one MIDI chain, and another in another chain controlled by another MIDI app. Polytimbral uses of Audio Unit apps are now possible. This is very exciting news. Audiobus 3 is on the way to becoming a universal patching app for the iOS environment. At the moment, on my iPad, the following apps are Audio Unit enabled: apeSoft: apeFilter; apeSoft: iDensity; Arturia: iSEM; iVCS3; PPG: WaveGenerator; and Yamaha: FM Essential. Other makers whose apps are Audio Unit Extension enabled are Bram Bos and Klevgrand. Look for more and more apps to have this capability as time goes on.
Audio Routing: This is page is similar to the main page of Audiobus 2: Slots for Audio IN, Audio FX, and Audio OUT apps. The difference is a slider across the top of the page, in which controls for each working app appear. This is a very handy device, enabling instant access to the workings of each app, and in some cases, having on/off and other controls available. In the example shown here, I have 3 chains of apps, and the controls for those, and for the MIDI controlling apps, appear in the slider at the top of the page. Note also, that any app that is in the MIDI OUT slot will then appear in the Audio IN slot as well, so that further effects can be added to it. In this example, Alexander Zolotov’s Virtual ANS is being processed by Sugar Bytes Turnado; while Henry Lowengard’s Enumero is being processed by Holderness Johnny gater. The Yamaha: FM Essential app is being controlled by Fugue Machine processed by midiFILTr-PG on the MIDI page.
Mixer: The final addition to Audiobus 3 is the Mixer Page. On this page, every Audio channel has its corresponding Mixer channel. Each channel has a volume slider, a pan pot, Mute and Solo buttons, and either a Play/Stop control for the Audio IN app, or a control that plays a tiny riff on the module to show that it’s active. In the example shown here, the app chains with Virtual ANS and Enumero each have their own channel with a Play/Stop button above their icon, while the Yamaha FM: Essential module simply has a little note button above it to tell if it’s active or not. But control of this module can be accomplished by pressing the Play/Stop button for Fugue Machine at the top of the page.
So with the addition of MIDI processing, Audio Units apps, and the Mixer, Audiobus 3 is really a no brainer. It will quickly become an essential part of any iOS music making rig. But do be aware that a number of your favorite apps might not work with it yet. For this I can simply recommend both patience, and of course, emails to the app developers. I’ve had Audiobus 3 for about two weeks now, and I’m already using it in live performances. As well, I’ve noticed that almost every other day, some app or other of mine has been upgraded to the Audiobus 3 compatible, so it looks like the speed of adoption of this new standard, at least for some app developers, is fairly rapid.
Midi Processing Apps
One of the most exciting additions to the iOS app world, with the appearance of Audiobus 3 is the appearance of MIDI processing apps. There are only a few of these at the moment, but I’m sure the number of these is going to increase rapidly. As well, it would be lovely if some of the “toolkit” apps, such as Jasuto, or Audulus, or even MobMuPlat, would adopt this standard as well, so that those of us who like to “roll our own” MIDI processes could do so. Hopefully …
Meanwhile, both Art Kerns and Johannes Doerr have made some very interesting MIDI processing apps. Art Kerns’ midiFILTr-PG Probability Gate is a very useful module which “thins out” a MIDI stream by only allowing a randomly determined percentage of notes to go through. It has three modes: Gate, Note, and Seq. Gate simply allows only a set percentage of notes through. It has one other feature: a “Gate On Repeat” and “Gate Off Repeat.” With Gate On Repeat, the number of notes set in it is the number of notes that will play when a single note is selected to play. Gate Off Repeat does the opposite, when a note does not play, the number of notes set there will also not play. So this allows for chains of notes to occur even at very low probabilities of occurrence.
Note allows you to set the probability of each of the 12 chromatic pitch-classes individually. So you can use this to set up filters for particular scales or pitch-sets.
Seq sets up a sequence of up to eight steps, each with its own probability. So for example, if you have an eight-note MIDI sequence playing, and you have all eight steps of Seq activated, you will get your eight-note repeating sequence, but each note will not always appear each time through the sequence. However, if you set your MIDI sequence to, say, nine steps, and then set your midiFILTr sequence to, say seven steps, you’ll then get a 63 note sequence of probabilities which will create a very interesting set of melodic possibilities.
Furthermore, this app doesn’t have to be used only inside Audiobus 3. If used outside it, it will accept any Core MIDI app input and send its filtered information through to any other module that accepts Core MIDI. For example, I placed it between Analog MIDI Sequencer and Thumbjam and got some wonderful processing of Analog MIDI Sequencer’s patterns. So far, all the MIDI processing apps seem to be very inexpensive, so the assembling of a tool kit of them seems to be very possible, even for those composers who are on a tight budget.
Johannes Doerr has developed a whole family of MIDI processing apps under his MIDIFlow label. So far, there are seven of them, each of which does a particular thing. For example, Midiflow Randomizer will add a random offset, which you set the ranges for, of every incoming note, velocity and timing point of any MIDI note signal. Midiflow Motion allows you to set up the X and Y axes of movement of your iOS device to send out Continuous Controller signals, or Note messages, or others, based on the moving of your device.
Midiflow Adapter when placed in the MIDI IN slot in Audiobus 3 will allow any Core Midi compatible MIDI generating app to send its signals into the Audiobus 3 MIDI chain. For example, I had Analog MIDI Sequencer feeding into this, which was then processed by Midiflow Randomizer which then went on to control the Yamaha: FM Essential app.
As I said above, hopefully, these are the first of a whole new family of apps that will appear, as developers begin to be aware of the possibilities here. The compositional capabilities of the iOS environment have just taken another leap. Now it will just take some patience to wait for app developers to update their existing apps (for example, in the few days between submitting this article and Saturday the 13th of May, an update for Dhalang MG incorporating full Audiobus capability has appeared), and create some new ones.
https://audiob.us/ $9.99 US on the App Store
midiFILTr-PG Probability Gate MIDI Effect: http://www.artkerns.com/midifiltrpg.html $2.99 US on the App Store
MIDIFlow MID processing apps: http://www.midiflow.com/ Bundle of 6 Apps for $8.99 US on the App Store. MIDIFlow Adaptor, $1.99 on the App Store.