Wednesday, March 20, 2013 by Tim Webb
Crudebyte has released JACK Audio Connection Kit for iOS as a way to connect apps for both audio and MIDI between apps. Previous JACK has been used for many years on desktop OSes, with a lot of popularity among Linux users.
This is a direct, and free, competitor to Audiobus so I feel I should put in some disclaimers here. I have personal and professional relationships with both of the Audiobus developers. Hell, I was playing StarCraft 2 with Sebastian earlier this week.
All that said, I'm very excited about JACK! Unifying MIDI and Audio in a single app is godsend when we still have a mess of different VirtualMIDI implementations between developers. For the most part they've got VirtualMIDI figured out, but it is always slightly different between each developer and just different enough to be confusing for users. JACK has the potential to make this a thing of the past, with all MIDI from all apps being routed visually in the same app. I've been speaking with the developer this morning and he pointed out that nothing is being dictated by JACK here; you can still use good old VirtualMIDI if you prefer while JACK handles the audio!
The interface is not as streamlined as Audiobus, but the more modular view is helpful to create very specific routing. In Audiobus if you throw in an effect all of your inputs will be routed through that before reaching the output. With JACK's architecture you could
route a single app through an effect.
I emphasize the could part of that. This was just released and so far the only apps on iTunes that support JACK are those of the developer. Presently that is just MIDI Wrench, a useful free MIDI diagnostic app, and CMP Grand Piano. CMP Grand Piano is a quite serious piano app, but it will take up a serious amount of your iPad storage at 1.7GB!
Users should be excited about this, there is no "buy in" on your part. Developers will have a tough time deciding how to allocate their time though. It only takes an hour to implement either JACK or Audiobus, but there are support issues when implementing third-party SDKs. Between JACK, Audiobus, and Sonoma's AudioCopy/Paste, we ask this of Devs quite a lot.
JACK is more than just one app. It is a system that connects the music and audio world on your iOS device. JACK allows audio channels and MIDI ports of your audio & music apps to be connected with each other. It does not force a predefined schema in which way apps shall be connected with each other. You can freely connect them in any way you want, intuitively like drawing on a paper. Besides audio & MIDI interconnection, JACK provides other very useful mechanisms to let your audio apps work together like never before. For example record/playback synchronization between DAWs and sequencer apps. Arbitrary data sharing among apps and much more. Even though JACK is quite new on iOS, it already came a long way. Providing you the most professional and powerful environment for your audio apps, highly optimized with explicit multi core support, low latency and maturity which it gained over many years of usage and development on other operating systems already. JACK is an open standard, which can freely be supported by anybody.
- Audio connections between apps and external devices.
- MIDI connections between apps and external devices.
- Record/Playback synchronization between apps.
- Multi Core CPU support for high performance (parallelized internal audio graph).
- Low Latency Performance (configurable, i.e. 2ms buffer sizes).
- Arbitrary, custom data sharing among apps (allows easy extensions of the system).
- Arbitrary amount of audio & MIDI ports per app, changeable at runtime.
- Intuitive user interface that allows you to easily manage all audio and MIDI connections, environment settings, monitor current overall CPU usage and more ...