Any musicians that delves into the world of electronic music is bound to encounter the idea of MIDI at some point, and in reality, it can be a bit of an overwhelming topic. When you start dealing with connections between electronic instruments, different signal chains, and communication protocols, you get into some technical jargon . . . for less technically minded folk like me, that can get in the way of making actual music. The results that you’ll get from an understanding of MIDI will certainly help you make more in-depth and interesting music though, so it’s worth the time investment. In the iOS world, MIDI is still a bit of a wide open realm of possibility; with the amount of new iPad and iPhone users jumping on the iOS music boat everyday, its best for us all to get some of the basics under our belt. We call it Virtual MIDI in the iOS music world, and although its a little different, it allows for the same type of powerful music production as physical MIDI connection. In this series, we’re going to dig into the use of Virtual MIDI, starting with a little background and an overview of how the process actually works.
Before Digging Into Virtual MIDI, What Is MIDI?
The early days of electronic musical instruments was a wild frontier full of exciting innovation rapidly progressing technological development, which largely happened within individual companies. With each new innovation, musicians saw the possibilities inherent in electronic instruments, and as they eagerly adopted these evolving devices, they hoped for connections between them. Instrument developers like Roland, Korg, and Yamaha were creating powerful new devices that could communicate with their own company counterparts; unfortunately, these devices couldn’t send control messages to instruments from other manufacturers. For a while, a lack of standardization was the norm, but the demand for interactivity between devices soon became deafening. The need for communication between devices from different manufacturers became apparent to the companies, so they began to talk about a protocol to let their instruments interact. After two years of discussions, a number of important electronic music companies agreed upon MIDI as the standard communication protocol between instruments in 1983, and musicians embraced it emphatically.
The word “MIDI” is actually an acronym that stands for Music Instrument Digital Interface, and it describes the transfer of event information between two or more electronic instruments. It’s important to remember that there’s not any actual audio or “sound” being transferred between devices, it’s simply a stream of data that instructs the playback of the receiving instrument. Each time a key is depressed on one keyboard, that action turns into a collection of “event data” that includes information about the pitch that was played, how long it was played, how hard the key was hit, and more. When the receiving instrument gets the data, it triggers the appropriate sound based upon the original event data. With the use of sequencers, each particular event can be meticulously programmed, allowing for complex compositions that can manipulate sonic elements in real time. There have certainly been advancements in the way that MIDI data moves between instruments, but in main idea behind the protocol has remained the same.
What Makes MIDI On iOS “Virtual”?
When we discuss MIDI compatibility on the iPad or iPhone, we’re talking about a fundamental change in the way that you make connections that can send and receive event data. MIDI initially involved networking devices through MIDI input and output ports through the use of a special five pin connector and occasionally some type of interface – whether you were connecting two synthesizers or a computer and a sound source, you had to make a physical connection. Since each iOS music app is a self contained piece of software, you can’t make physical connections within the device; instead, you need to route the event data through virtual connections. Once you enable MIDI, the software within each app makes the connections around the specifications that you set. Even when you’re using an accessory like the iRig MIDI or the MIDI mobilizer to connect your iPad or iPhone to an external synth, you’re still making a “virtual” connection; through an adapter, you’re connecting a MIDI cable to your iOS device, but you’re routing the signal to the app through Virtual MIDI. The “virtual” piece of the puzzle is the the fact that you’re not plugging into wire into specific pieces of hardware; instead you’re assigning connections within specific apps themselves.
Although each Virtual MIDI compatible app has its own way of creating an interface on the touch screen, there are some basic ideas that allow you to make Virtual MIDI connections. You’ve got to start by picking two apps that you want to use – a controller and a sound source. The controller app is going to be where you play the notes and the sound source is going to be provide the audio through specific patches. You want to start by going into the sound source app and turning on Background Audio. This is another part of the core Apple iOS system that allows an app to still play audio even though it might not be the app on your screen; in other words, it is triggering audio in the “background.” Once you’ve enabled background audio in your sound source, go to your controller app. Within the controller app, you’re going to set-up the connection; if you’ve got multiple Virtual MIDI compatible apps running in the background, you’re going to have to make sure that only your preferred sound source is selected. In some cases, you may need to assign a MIDI channel to the sound source, but in most situations the “MIDI Omni” setting will do the trick. If you’re using a sequencer app that can control multiple synths, like Genome MIDI Sequencer, you can make use of MIDI channels to assign specific collections of MIDI data to be received by different apps. If the controller app has internal audio, you’re going to need to mute the app, so that you’re only hearing audio output from the sound source app. Once you’ve made these connections, you should be able to trigger audio in the sound source app by tapping on the screen in the controller app.
What’s The Difference Between Virtual MIDI & CoreMIDI?
When you’re dealing with MIDI on an iOS device, there’s two terms that tend to float around – Virtual MIDI and Core MIDI. They both accomplish the same task – sending event data from one place to another – but they serve different pieces of the signal chain. Core MIDI is a feature integrated into the iOS by Apple that allows any class-compliant USB MIDI controller to communicate with Core MIDI compatible apps. That means that an external USB keyboard can be plugged into an iPad using the camera connection kit and trigger a Core MIDI compatible app like Sunrizer Synth. Virtual MIDI on the other hand, is built into specific apps, providing the ports and connection protocols that allow you to use one app to trigger sounds in another app. Virtual MIDI uses the Core MIDI feature to make the connections, but the actual ports and process that you go through involves Virtual MIDI. You might use a combination of Virtual MIDI and Core MIDI to trigger both external and internal synthesizers from an iOS app, sending signals to different destinations on different MIDI channels. Apps may be compatible with Core MIDI and not Virtual MIDI; they might support both, or they might not be compatible with either type of MIDI connection. It’s important to remember that we are talking about two different things when we discuss Core MIDI and Virtual MIDI, since they accomplish different types of connections.
Core MIDI preceded Virtual MIDI, but we didn’t always have the luxury of Core MIDI built into the Apple iOS. In fact, it arrived on iOS devices fairly late, becoming a system wide API as a part of the iOS 4.2 update in 2010. This was a bit of a surprise; Mac OSX has long integrated Core MIDI into its operating system, making MIDI connections on desktop music production a viable proposition. The first few waves of iPhones and even the first iPad didn’t have Core MIDI capabilities, but folks were still determined to use their iPads and iPhones together with external devices. Both Akai and Line 6 created Software Developer Kits for the Akai Connect and MIDI Mobilizer respectively, allowing developers to write compatibilities for these interfaces into their apps. When a developer integrated these SDKs into their apps though, they were only making them compatible with that specific hardware. That was the difference that arose with the arrival of Core MIDI – a developer could integrate Core MIDI into their app and any class compliant MIDI hardware device could work with it. As you can imagine, this was a huge step forward that made MIDI an accessible tool for any iOS user.
Why Would We Want To Use Virtual MIDI?
Virtual MIDI opens up a variety of music creation possibilities that significantly multiply the amount of power found in each individual music app. A vast array of potential sits in the ability to trigger iOS synthesizers through the use of the many unique and inspiring controllers made possible by the touchscreen. For example, you could use SoundPrism Pro to tap out an interesting chord progression that would be played using a lush pad patch on Sunrizer SynthArpeggionome Pro that you could then playback through some cutting edge patches in Animoog. You might even put together a complete song in Genome MIDI Sequencer, MIDI Pattern Sequencer, or Koushion MIDI Step Sequencer that could be simultaneously triggering a number of iOS synth apps during song playback. The possibilities are extensive when you look at the ever expanding collection of iOS sequencer, synthesizers, and more – connecting apps through Virtual MIDI means that you’re going to be making more interesting and intricate music.
As the world of iOS music has advanced, the number of contexts where you can apply Virtual MIDI has also expanded. Live performance is a prime area of application for Virtual MIDI; the rise of high quality iOS synths combined with the number of inventive controllers hitting the App Store means that performers have new tools to shape sound. If they want to apply these tools on stage, they need to connect them through Virtual MIDI and send the output to an amplifier – the results could be truly inspirational. With the advent of Audiobus, this also means that we can now input music through a controller and trigger audio in a synth app that can then be recorded on an iOS DAW. This can lead to some pretty innovative stuff on the home recording front, opening up a whole new process for creating electronic music solely on an iPad or iPhone. It’s certainly a huge step forward for electronic musicians, making a number of musical desires a reality in both live performance and studio work.
Are All Apps Compatible With Virtual MIDI?
Not all music apps are created equally, and as a result, not every music app takes advantage of the possibilities inherent with Virtual MIDI. Developers need to write Virtual MIDI into their app in order to makes these connections. Although there has been quite a bit of collaboration around the development of Virtual MIDI, in reality, its still a bit of a new technology. On that token, its quite possible to encounter issues around Virtual MIDI compatibility between apps, largely due to the way that its implemented within the development. Fortunately, when most developers make the leap into a major feature like Virtual MIDI, they generally work at it until they get it right. For the few issues that you’ll encounter with certain apps, you’re going to find rock solid Virtual MIDI implementation in some apps like SoundPrism Pro, Sunrizer Synth, Genome MIDI Sequencer, Animoog, Arpeggionome Pro, and more. It’s important to remember that this is a feature that won’t be found in all apps though, so you will probably want to make sure that a synth or sequencer app is Virtual MIDI compatible before your buy it – you can find a list of those apps on our Virtual MIDI Resource List.
Virtual MIDI can sometimes be a bit difficult to grasp – much of what happens is behind the scenes, so sometimes the actual process is intangible. The results are certainly worth the study though, so take the time to digest the whole idea of what Virtual MIDI is and what it can do. We’ll be back soon in the next part of the tutorial with some specific examples of making Virtual MIDI connections between a number of popular apps.
———-
Virtual MIDI can be a bit of a stumbling block for some folks or an exciting possibility for other. Has Virtual MIDI been something that you’ve applied in the creation of your music? Are you a MIDI veteran from the days of physical hardware that is loving the applications of Virtual MIDI on iOS? Are you just banging your head against the wall trying to get Virtual MIDI to work? LEAVE A COMMENT below and let us hear about your experiences with Virtual MIDI!
———-
CHECK OUT THESE RELATED ARTICLES:
iPad Music App Tutorial: NanoStudio TRG-16 Quick Tips (Part 2)
iPad Music App Tutorial: Adding Echo, Mixing, And Exporting With WerkBench
14 Music Studio Quick Tips
iPad & iPhone Music App Tutorial: Moving Audio With Audiocopy & Audiopaste
———-
Facebook
SoundCloud
Twitter
YouTube
RSS
{ 4 comments… read them below or add one }
Thanks for this post. I was confused about the difference between Virtual and Core MIDI.
Not any longer!
Good article, thanks.
Great post! I wasn’t aware of the difference. As a developer I was wondering if you know where someone could start implementing virtual midi? Any docs?
Wow! Great job. I’m a bit wiser now:-)