|
Virtual Cables
By Brian Smithers
|
At the heart of any good audio education is the study of signal
flow and wiring: get your inputs and outputs straight, and you can
adapt to just about any situation. Moreover, knowing how to trace
the routes traveled by MIDI data and audio signals is critical to
effective troubleshooting.
So what happens when most of your gear is actually software?
What good is that stack of freshly soldered MIDI cables when you're
trying to send timing signals from your digital audio workstation
(DAW) to your virtual drum machine? What if you want to route the
audio output of your software synthesizer to your sequencer so that
you can apply a virtual gate to it? In that case, neither a balanced
nor an unbalanced cable will do you much good.
What you need are virtual cables: those clever inventions
that function just like real hardware cables, except that they're
actually software that connects one program to another. Here's a
closer look at how they work.
VIRTUAL I/O
To get MIDI Timing Clock (or any MIDI message) from your sequencer
to your software drum machine, you must use a utility commonly known
as a virtual MIDI cable. The cable may appear as a function
integrated into both programs, or it may be a separate application
that shows up in the list of MIDI ports available to the two programs.
Either way, it's a software connection an internal pathway
that passes the beat-clock signal between the two programs
in a manner similar to the way a physical MIDI cable passes a signal
between two hardware devices.
Getting your software synthesizer's audio output back into your
DAW works in like fashion, except you use a virtual audio cable
to make the connection. The concept resembles that of an audio bus,
except that a bus is ordinarily restricted to making connections
within a DAW's mixer. Like a physical patch cable, a virtual audio
cable connects one software application's audio output with another's
audio input.
Increasingly, virtual audio and MIDI connections are being integrated
into host programs. When a soft synth is implemented as a plug-in
or a virtual instrument, it appears as a prewired audio insert within
your sequencer, and it then shows up as an available MIDI output
device on a MIDI track. That's an ideal arrangement; however, not
all software synths are available as plug-ins, and the synth you
want may not be available in the plug-in format you need. In either
case, you'll need a virtual cable.
Generally speaking, virtual cables come in two types: interconnection
standards and ancillary applications. When two programs
support the same interconnection standard, they see each other as
I/O options. That's the next best thing to operating as a plug-in,
because it's extremely convenient. If the gear you want
to hook up doesn't work as a plug-in and doesn't support a common
interconnection standard, you must use a separate application to
emulate a physical cable. Although that is a bit less convenient,
it is nevertheless a potentially powerful and useful tool for your
virtual toolkit.
BUS RIDE
Let's take a closer look at the example I mentioned earlier and
see how to lock a software drum machine to a DAW using MIDI Timing
Clock. For this example, I'll use a Macintosh running Digidesign's
Pro Tools LE and Koblo's Gamma9000. Because I'll be using Opcode's
Open Music System (OMS) to organize the MIDI setup, I will make
the MIDI connections through a virtual pathway that is called the
IAC bus.
The IAC (Interapplication Communication) bus is a set of virtual
MIDI cables built into OMS and therefore available to any application
that supports OMS. (Mark of the Unicorn's [MOTU's] FreeMIDI offers
similar functionality through its Interapplication MIDI.) It allows
as many as four internal MIDI ports, each with the customary 16
MIDI channels.
If you double-click on the IAC bus icon in OMS Setup, you can rename
the IAC ports. Take advantage of this feature to name your IAC ports
something useful and meaningful. For this example, I'll use the
mundane but informative name GammaSync. Now the virtual
cable has a label.
In order to get Gamma9000 listening to the IAC bus for MIDI Clock,
you must first set its MIDI driver (found in the File menu under
Select Drivers) to OMS, and then set its Doc Bus (found in the Options
menu under MIDI Setup) to GammaSync. Simply click on the Sync button,
and Gamma9000 waits for MIDI Timing Clock.
Sending clock pulses down the IAC bus from Pro Tools LE is as simple
as checking Enable MIDI Beat Clock and then choosing
GammaSync as the desired port. When you start playback in Pro Tools
LE, Gamma9000 will be right in step. I will address virtual audio
routing next.
|