MIDI Bridge by Audeonic – music app review

Yes, this is going to be a review of the MIDI Bridge music app but, if you have a minute to spare, then just bear with me because I think MIDI Bridge deserves a little bit of context. If you want to skip forward a few paragraphs (to ‘the virtual world’) then feel free but, if you are up for a quick bit of useful background, then just read on….

I think it is fair to say that Audiobus has caused quite a stir in the iOS music world. In providing a protocol that developers can built into their own apps, it allows audio to be streamed between those apps enabling, for example, your favourite synth app to stream its audio output in real-time to your favourite DAW app for recording. In audio terms at least, it provides a sort of ‘app glue’ and, in some regards, serves a similar function to ReWire technology in the world of desktop audio software. And as increasing numbers of app developers seem to be keen to offer support for Audiobus (including both WaveMachineLabs and Steinberg, makers of perhaps the two most high-profile iOS DAWs, Auria and Cubasis respectively), it is beginning to get some serious market traction.

But what about MIDI? Core MIDI support was introduced in iOS 4.2 and various app developers have built support for it into their software. So, if you wanted to be able to send MIDI data from, for example, an external MIDI keyboard to one of your iOS synth apps, providing you had a means of getting MIDI data into your iOS device in the first place, this could generally be made to work.

There are still problems however; different app developers offer different levels of support for Core MIDI and there seems little consistency in the way users access that support within the apps (even down to different terminology being used to describe the functionality). This all results in some unnecessary difficulty and confusion for users – and this must be especially frustrating to the many less experienced musicians for whom, perhaps, an iPad is their first experience of high-tech music making. The problems can be particularly thorny if you want to pass MIDI data between multiple apps. At the moment then, we have the software version of a tangled mass of multiple MIDI cables found in hardware studios of old and where it was a nightmare to work out whether (or how) one MIDI device was (or could be) connected to another.

The virtual world

‘Virtual’ MIDI – that is, software-based connections that transfer MIDI data between different applications – has been around on desktop computers for many years and the Core MIDI protocol build into Mac OS is part of that, allowing MIDI data to be passed between applications and even to different computers over a network (Maple, MIDI Yoke and rptMIDI are examples of the same sorts of technology in the Windows environment).

And while Core MIDI is now part of iOS so that the underlying software code is there for app developers to work with, what we really need is a front-end system so we can manage all these connections. If you like, we need an app to act as a ‘virtual MIDI cable tidy’ system and get rid of the virtual MIDI cable spaghetti that means we are not quite sure what we can connect to what or how we might make those connections.

Take me to the bridge

The MIDI Bridge Interfaces panel where you can establish links between your various MIDI sources and destinations. The virtual MIDI cables between a number of device can be seen in this example. Click on the image to see a larger version.

Enter, stage left, MIDI Bridge by Audeonic and which is intended to do exactly this job (and, in fact, somewhat more, but I’ll come to that a little further on). Well, in fact, MIDI Bridge has been standing on side of the stage for some time as it was first released in August 2011. However, I think it might have been a little bit ahead of its time (and perhaps this says something about the foresight of MIDI Bridge’s developers) because, at that point, the majority of musicians were still marvelling about being able to run a single music app on their iOS device; only a few brave souls were actually trying to link multiple apps together.

However, with the advent of some serious DAW apps like Auria and Cubasis over the last six months, we now have recording environments that make it highly desirable to have the capacity to link together your various synth or drum machine apps to your DAW to create an integrated recording environment (and yes, I know Auria does not, as yet, support MIDI, but how long do you think it might be before that is forthcoming?). So, while MIDI Bridge has been around for a while, I suspect that the wider iOS musical community is only now in a position where such an app might be fully exploited.

Crossing the bridge

So what is MIDI Bridge? Perhaps the easiest way to describe it is as a Swiss army knife for MIDI on your iOS device. It provides a visual representation of all the available MIDI inputs (sources) and outputs (destinations), whether these are from other apps (well, those apps where the developers have decided to make their MIDI in/out visible), MIDI hardware connected to your device or MIDI ins/outs available over a network.

MIDI Bridge appears as a MIDI in/out device within the Cubasis Connections panel for each MIDI track.

Linking a source with a destination is simply a case of tapping on the particular icons in MIDI Bridge’s Interface display and links can be unmade in the same fashion. This process includes the ability to direct multiple inputs to a single destination of a single input to multiple destinations (or combinations of these).

In principle, this is all very straight forward, although there may also be a MIDI setting or two that also needs configuring in the source/destination app itself to actually get the data flowing as required. Incidently, if you want to name your devices, taping the small ‘i’ icon on a particular device allows you to do this. As MIDI Bridge remembers all the details about your port connections, including your personalised naming, it is a nice touch and makes it easier to manage your system.

MIDI Bridge allows fast switching between apps and contains a useful list of apps that support this feature under the Applications panel

As shown in the main screenshot of the Interface panel, some of the MIDI device icons have a double-headed green arrow within them. These indicate which of the apps feature ‘fast-switching’ and, if you tap on the arrows themselves, it brings that app to the foreground without having to go via the Home button. Fast switching is part of the Open Music App Collaboration (OMAC) standard – put together by a group of music app developers to create a set of (unofficial at this point) standards for music apps in terms of how they handle MIDI and audio data. This works well within MIDI Bridge, although you do have to be careful just where you tap on the icons as, initially at least, I sometimes missed my target and managed to fast switch when trying to make a connection or visa-versa. Conveniently, MIDI Bridge’s Applications panel shows a list of apps that support fast switching and those actually installed on the device are indicated with a tick.

Networking

While the most obvious MIDI sources might be either an external MIDI keyboard (perhaps linked with a physical device port such as the MIDI Mobilizer or iRig MIDI) or another app running on the same iOS device, MIDI Bridge also handles MIDI data over a network. When a network connection is in place, the Wi-Fi graphics on the CoreMIDI Net in/out icons glow yellow and I had no problems getting MIDI data from my iMac desktop system into my iPad (and audio out from iPad then recorded back into desktop DAW).

There are a range of obvious uses for this type of connection. For example, it allows you to use a MIDI keyboard connected to your main desktop system to control synths in iPad without any re-patching of real cables, etc. if you want to use an iPad sound in a desktop project. You can, of course, also send data from a MIDI track on your desktop out to an iPad synth.

It is also possible to send MIDI data from the iPad to your desktop. It’s perhaps not very likely that you might want to use one of the virtual keyboards in an app (as you probably have a hardware keyboard already hooked up to your desktop that is easier to play), however, if you want to use an app that offers one of the more interesting MIDI performance interfaces to generate a performance, this might well be worth doing. For example, I like the performance options offered by ThumbJam. It allows you to confine the range of available notes to a particular scale and, via the touchscreen and the motion sensors of the device, also lets you to add vibrato and pitch bend to notes in a very intuitive fashion. This worked a treat via MIDI Bridge and I was able to use Thumbjam to create a performance in real-time that was played on a VST synth sat within Cubase 7 on my iMac.

The performance of MIDI data transfer also seemed very responsive with little by way of noticeable latency in the transmission of the MIDI data in either direction, even when programming drum parts where any lag can become particularly obvious to the player. That’s not to say that MIDI transfer over Wi-Fi is not without its occasional problems though as it is obviously dependent upon what else is going on on your network in terms of traffic. However, the only time I did experience any noticeable latency was when I was really pushing my iPad 3rd generation with quite a few audio apps running simultaneously. Shutting a couple of things down quickly restored MIDI data transfer to very acceptable rates.

Filter this

You can create a custom velocity curve via MIDI Bridge.

If all MIDI Bridge did was allow you to connect your MIDI hardware and MIDI apps together, it would be a very useful app. Indeed, it may be all that many users need it for. There is more however as MIDI Bridge also includes some very useful MIDI filtering options and, for each MIDI device shown on the Interfaces panel, these are accessed via the blue/green ‘Port Modules’ button located in the bottom left (for an source) corner or bottom right (for a destination) corner of the MIDI device icon.

The available filters are similar to the sorts of options you might find in a desktop MIDI sequencer. For example, you can filter certain MIDI events out such as aftertouch or controller data (perhaps to reduce the amount of data being transmitted). Equally, you can define a custom velocity curve to change the MIDI dynamics between a source and destination.

Other very useful options include the ability to split your MIDI data based on either note (essentially creating a keyboard split) or velocity. The split signals are then sent to different MIDI channels.

The Note Splitter allows you to define a keyboard split and to send different zones from the keyboard out on different MIDI channels.

There is also a very useful Note Mapper that would be excellent for remapping MIDI notes to use with a virtual drum instrument. While this might be a bit time consuming to configure first time around, as you can save filter settings in a preset system, they can easily be recalled for repeat use.

No flow

As outlined earlier, MIDI Bridge provides access Core MIDI functionality in a way that is consistent with the current OMAC standard. Unfortunately, as this is an ‘unofficial’ standard, not all app developers (or the apps they develop) deal with Core MIDI in this way. As a result, there are occasions when connecting such apps to other MIDI sources or destinations might be less straightforward than simply creating a virtual cable in MIDI Bridge’s Interfaces panel.

There is little Audeonic can do to control how other developers implement MIDI support within their own apps aside from encouraging them to adopt the OMAC way of doing things. However, if your own favourite app doesn’t seem to want to play nicely with other music apps in your workflow, all is not necessarily lost. There is some excellent additional information available on the on Audeonic website that, as well as giving you some very useful background on how MIDI Bridge does what it does (and which will help you get better use out of it), also explains the different approaches used by some apps in handling MIDI data. In turn, this might help you find a workaround for any problematic apps you have to deal with.

While it is perhaps to be expected that inter-app communication is still somewhat unpredictable on a platform as young as iOS, it would be a shame if this situation persisted for long. In Audiobus, we have one potential solution for audio communication and, at present anyway, app developers seem keen to sign up to make their apps compatible as the Audiobus userbase grows. Hopefully, a consensus can also start to develop about the implementation of Core MIDI support.

I’d be surprised if MIDI Bridge didn’t follow whatever consensus developed (and, indeed, Audeonic might be part of developing that consensus). However, as well as enabling you to easily link apps that already play nicely, currently, it is also a tool that might just allow you to connect apps that don’t and, therefore, it is well worth having in your toolbox.

In summary

MIDI Bridge not as easy to master as Audiobus but this is because the app attempts to do more than just allow you to decide which apps are linked together to allow data transfer. It also gives the user control options over the MIDI data, allows you to manipulate it in various ways and gives you a chance of linking apps when the apps themselves don’t make it easy because of the way they currently implement Core MIDI functionality.

It would be great to see more app developers looking to support MIDI Bridge and to ensure that they build into their apps the necessary code to allow MIDI Bridge to pass MIDI either to or from them. In essence, what we need is a consensus on the standard way to handle Core MIDI amongst iOS music app developers. If all the user needed to do was establish a link between the apps required using MIDI Bridge and then identify MIDI Bridge as the input and/or output source for MIDI data within each app, this would really untangle the virtual MIDI cable spaghetti that can, at times, leave iOS musicians pulling their hair out.

Of course, you don’t have to have MIDI Bridge in order to get some apps to pass MIDI data to one another. Some apps already work together quite nicely and, if you only use a couple of synths and a DAW and they already communicate well, then that’s great. However, with many iOS musicians now expanding their app collections and their systems growing in complexity, MIDI Bridge does make managing those complex connections easier. There are also times when MIDI Bridge can enable a connection between apps that seems otherwise difficult to achieve. In addition, it allows you to integrate MIDI hardware and MIDI passed over a network connection into the same environment. Oh, and don’t forget that all those MIDI filtering options.

As I said earlier, MIDI Bridge is an iOS MIDI Swiss army knife and I’d recommend that any serious iOS musician add it to their toolbox. There is a bit of a learning curve, but it is most certainly a curve worth scaling.