While there are a few obvious advantages to the inherently self- contained nature of iOS apps - namely stability and ease of use - this isolationist philosophy doesn't really lend itself to the world of music production.
Even on desktop systems, it's exceptionally rare that one piece of software will do everything we need to take a project from start to finish. While some of the more recent, near-DAW apps like Gadget, Auria, GarageBand or Cubasis come close to providing a 'do-it-all' solution, given the wide array of powerful and cheap instruments and effects available on iOS, it would be a major missed opportunity not to get them talking to one another.
Prior to the arrival of iOS 7, the best way to achieve this was via an app called Audiobus. In its original form, Audiobus acted as a simple pipeline, allowing instrument apps to be fed into recording or arrangement tools, with the option to sandwich an effect processor in between.
Its monopoly on the market changed, however, when Apple introduced a new API into iOS 7, called Inter-App Audio. IAA allows developers to build I/O routing directly into their apps, allowing audio or MIDI to be sent between applications. At the time of writing, the range of developers that has chosen to incorporate IAA is far from definitive, but the list of compatible apps is expanding rapidly.
IAA in action
IAA-compatible apps fall into two categories - Hosts and Nodes. Hosts are destination apps equipped to receive a signal, which at the moment include the likes of Cubasis, Auria and Tabletop. Nodes, meanwhile, are either instruments or sound sources that feed a signal directly into the Host, or processors, which can either be insert effects, processing a sound from the Host before feeding it back in, or are instrument apps which receive MIDI from the Host and then return an audio signal.
From a user's perspective, IAA involves very little setup, and generally works pretty smoothly. If you have compatible apps installed on your device, the available Nodes should automatically appear in the relevant menu in any Host app (make sure your apps are fully updated if you can't see them). Selecting a Node within a Host app will result in it being opened automatically, so you can set up and edit the instrument or effects as desired. You'll even get a pop-up tab containing the Host's transport controls.
Once you're done, simply hit the Host app's logo button in the transport tab and the Node will go into background mode, returning you to the Host. Of course, the amount of apps you can have running at one time will depend on the age and power of your device, and older models may well struggle to cope with multiple processes going on at once, but for those with more recent generation devices - particularly up-to-date iPad Airs - IAA is a pretty major step forward.
Back on the bus
While it might be natural to assume that the arrival of IAA would have meant the death of Audiobus, thanks to a complete version 2 overhaul, the original routing app still has some significant tricks up its sleeve. It can save presets, for example, which not only capture your pipeline of linked devices but also the current state of the apps being used.
This means you can save your favourite synth sound alongside a separate effect configuration and a recording destination, and recall the whole setup as one package for future use.
Version 2 also allows an unlimited amount of instruments and effects to be chained together, and allows for multiple pipelines to be used side by side. It supports recording from multi-channel audio interfaces too, with latency compensation controls.
There's no inter-app MIDI solution in Audiobus as yet and, being a third-party app, it comes at a price (albeit a very reasonable one), unlike IAA which is included free in compatible apps. It's still an essential purchase for any iOS musician though.
For more on getting serious about your iOS music making, check out Future Music issue 291, which is on sale now.