Home | Audio | DIY | Guitar | iPods | Music | Brain/Problem Solving | Links| Site Map
This work is licensed under a Creative Commons License.
Two Heads Are Better Than One
Aug 1, 2004 12:00 PM, By Thad Brown
The FedEx truck pulls up, drops off a few boxes, and it's Christmas in August. Your brand-new computer for the recording studio is faster, has more drive space, and even looks better than the old one. And for music, it ought to improve everything from track count to virtual-instrument polyphony. With computers, faster is always better, but remember, that old computer was good enough to get the job done. Now that there is a new machine in the studio, has its older sibling suddenly become useless? In a word, no.
The first thing to determine regarding your newly orphaned computer is whether it would be best suited for a musical job (perhaps as a virtual-instrument player) or for a nonmusical job (such as CD burning or backing up files). In the following article, I'll cover both musical and nonmusical uses and suggest ways to get the most out of additional computers. I'll also cover networking and remote-control basics as well as offer a few pointers to avoid the pitfalls of working with multiple computers.
Computer As Instrument
The simplest musical use for a second computer is as a virtual-instrument host. Many software synths and samplers will run as standalone applications, taking in MIDI and sending out audio. For example, instead of running your favorite organ or electric-piano plug-in instrument in your digital audio sequencer, you might run it as a standalone instrument on a second machine, thereby leaving your sequencer with more CPU power for doing its main job of recording and playback. The instrument could be played in real time by an external MIDI keyboard or by the MIDI from your sequencer on the main computer.
The setup for recording on one computer while another acts as a virtual-instrument host is the same as the setup for adding an external hardware synth to your studio — you need a way to route MIDI and audio between the two machines. The best choice for audio is a digital SPDIF or AES/EBU connection, keeping the audio completely within the digital domain. That's fairly common with modern audio interfaces, but it's still rare on hardware synths. If you don't have audio interfaces on each machine with SPDIF or AES/EBU, you can use the analog inputs and outputs without much loss of quality.
An inexpensive one-in and one-out MIDI interface is all you'll need on the computer hosting the virtual instrument. Route its output to any input of the MIDI interface that serves your main computer. Feed the MIDI input of the virtual-instrument computer either from a MIDI controller keyboard, if it is to be played live, or from any output of your main computer's MIDI interface, if it is to be played by your sequencer. Using a second computer as a virtual instrument running multitimbral sampler software like GigaSampler, Kontakt, Mach5, or Vsampler is a great way to use the second computer — you get 16 tracks of sampled instruments with no cost to your sequencing power.
Hosting Multiple Intruments
Using your second computer to simultaneously host several software instruments is not much more difficult than hosting just one. For example, if you have a Mac running Digital Performer and want to use an extra PC as a synth and effects processor, the only hardware each computer needs is a MIDI interface and an audio interface with ADAT Lightpipe input and output. The second computer has to be slaved to the clock of the first one (see the sidebar “Digital Clocking”). Once that's done, 8 channels of digital audio and 16 channels of MIDI can easily be shuttled back and forth between the computers.
There are several ways to host effects and instrument plug-ins on a second computer. You can simply run multiple standalone instruments. Most software synths and samplers can be configured to use only certain audio outputs and receive only certain MIDI channels. For example, Vsampler might use the first four outputs and be triggered by MIDI channels 1 and 2, while a Native Instruments' B4 is triggered by channel 3 and sends audio to channels 5 and 6. Running several standalone instruments is workable, but it does not allow for the use of effects plug-ins, and it requires the settings for each instrument to be saved individually.
A better idea is to use additional software to manage your instruments and effects on the second computer. If you have a digital audio sequencer on the second computer, you can use it to host the software instruments. As a bonus, you can use it to host DSP effects plug-ins to process signals at its audio inputs. One advantage of using a sequencer to host your instruments is that saving a project from that sequencer automatically saves all your settings. Open one project on each computer, and your settings will be in exactly the same spot as where you left them.
If you don't have a second digital audio sequencer, there are software products designed specifically to host multiple instruments. One example is Steinberg's V-Stack (www.steinberg.de), a cross-platform (Mac/Win) standalone application that hosts VST plug-in instruments and effects. Version 1.2 includes a software mixer to control the signal path, allowing software instruments and incoming audio to be mixed and routed to DSP effects. Dsound's RT Player Pro (www.dsound1.com) is another cross-platform application that can host multiple VST instruments and chain multiple effects. RT Player Pro doesn't include a software mixer, but it does have cool stompbox-style effects. Other hosting options include Chainer (www.xlutop.com) for Windows and VSTi Host (www.defectiverecords.com) for the Mac. For hosting Audio Units (AU) plug-ins on the Mac, check out RAX (www.grantedsw.com) and SynthTest (sourceforge.net/projects/synthtest).
No matter which setup you choose, you'll have to deal with latency when using a second computer. If a DAW track from the primary computer uses a plug-in effect on the secondary computer, the audio signal has to go through the primary computer's sound card, the secondary computer's sound card, the plug-in, the secondary computer's sound card again, and possibly the primary computer's sound card again. With the low latencies of modern high-end sound cards, the whole trip may take less than 10 milliseconds under ideal circumstances, but even that can be an issue.
If the second computer is being used mainly for reverb plug-ins, latency won't matter because you can usually compensate by decreasing the reverb predelays. For an insert effect like a compressor or a send effect like chorus, however, latency matters a great deal. The best solution is to use the second computer in jobs for which it is best suited, such as hosting reverbs and virtual instruments. Of course, latency can be a problem with virtual instruments, but jogging a MIDI track to compensate is usually an easy task. To that end, often the best method is to record MIDI while playing the instrument on the main computer, then use the recorded MIDI track to play the same instrument on the second computer.
When latency is a problem for audio tracks, one work-around is to nudge the unprocessed track on the DAW computer back a few milliseconds to compensate for the latency in the effects loop. All latencies — except for the latency of the plug-in itself — will be constant, so adding all of the sound card latencies together provides a good starting point. Most DAWs allow individual tracks to be moved precisely and in small increments.
Syncing Two Computers
The most complex method of linking two computers — synchronizing the machines to the same clock using one of the common time-code formats — is also the most versatile. There are three forms of SMPTE time code: LTC, VTIC, and MTC. (Time code is often inaccurately referred to as SMPTE, which stands for Society of Motion Picture and Television Engineers — the people who set the standards used for audio and video time codes.)
LTC (Longitudinal Time Code) uses an audio signal to carry the time code. If you accidentally pipe it into your audio signal path, you'll hear a loud screeching sound. VITC (Vertical Integrated Time Code) is a video-only version and offers specific advantages for video producers. VITC is not commonly used in music-only setups. MTC (MIDI Time Code) is LTC translated to MIDI format. Most sync boxes can read LTC or VITC and convert it to MTC, and vice versa.
The basics of syncing two computers using any form of time code are the same, though the details will vary with your setup. The primary computer sends some form of time code to the secondary computer, telling the secondary computer the current playback position in increments called frames (because video and film are frame-based media). Time code also carries instructions to start and stop playback. The primary computer might generate time code in a number of ways. Many programs have the ability to send MTC on any available MIDI channel, and others can even generate LTC on the fly. (Some applications can create an audio file that contains LTC at the specified frame rate.) When LTC is used, it's routed to a synchronization box using a dedicated audio output. For things to work properly, the secondary computer must use the same frame rate and must be set to the master computer's time code. Those settings are usually found in the DAW's synchronization or MIDI control panels (see Fig. 1). Any frame rate can be used; however, if video or film is involved, their frame rate will dictate your choice. For audio-only setups, the easiest thing to do is to set both machines to use 30 frames per second. Finally, it's always best to use the computer that is the digital-clock master as the time-code master.
Setting up synchronization may seem like a hassle, but once done, it offers several advantages. For example, a PC running ACID (Sony) or Cubase SX (Steinberg) could be slaved to a Mac running Digital Performer (MOTU). Instrument and effects hosting is then available along with all the sequencing features of ACID or Cubase. Syncing Mac and Windows machines also makes you platform-agnostic, allowing others to bring projects on either platform to your studio. Even if the core of your studio is a high-powered PC, having a Mac slaved to it lets you easily integrate projects in Digital Performer, Logic (Apple), or even GarageBand (Apple).
Nuendo (Steinberg) and Cubase SX users have one other option: Steinberg's System Link (see the sidebar “Emerging Technologies”). System Link takes one bit from one channel of the digital-audio stream and uses it to transmit synchronization and transport information. For example, in a System Link studio, the primary computer might run Nuendo while the secondary computer runs Cubase SX. One ASIO output on the primary computer is designated to send System Link information to the secondary computer. By default, System Link provides 16 channels of MIDI data (more channels can be sent if necessary). That makes System Link ideal for running software instruments on a secondary computer, leaving the primary computer solely for audio mixing and effects.
Although it's possible to move files between computers manually, it's not ideal. Connecting the machines over an Ethernet network is easy and more effective. Most modern computers (Mac or PC) have Ethernet built into the machine. If yours doesn't, for a few bucks you can get an Ethernet PCI card on eBay. The simplest way to network two Ethernet-ready machines is with a crossover Ethernet cable. If you need to network more than two machines, you'll need a hub. A hub is a box with multiple Ethernet ports (typically between 4 and 64) that lets you route network traffic from any one computer to any other. With a hub, a bandmate can bring a laptop to the studio and access all of the computers on the network.
Both the Mac OS and Windows platforms have built-in peer-to-peer networking, but you're usually better off using a TCP/IP configuration, even for a small home network. TCP/IP is built into Unix, Mac OS X, and Windows XP and is also used by the Internet, making it the networking standard.
The following is an explanation about how TCP/IP networking works. IP addresses — made up of four numbers between 0 and 255 that are separated by periods — are a lot like phone numbers. Each section of a phone number is increasingly specific. The first section specifies the country; the second, a section of the country (in the United States, this is represented by a state area code); the third, a geographic subset of the area code (usually a city or a county); and the last, a specific phone line within that subset. IP addresses work the same way. Each successive number is more limiting, with the last three-digit number — called a subnet — specifying one of 255 possible addresses on one subsection of the network.
When TCP/IP was designed, it was assumed that some networks would be self-contained rather than connected to the Internet. IP addresses beginning with 192.168 were set aside for those. Home networks, on which machines are not directly connected to the Internet, typically use IP addresses beginning 192.168.1, along with a subnet mask of 255.255.255.0. Subnet masking allows complex routing of network traffic and is used mostly on large, busy networks. Home networks almost always use 255.255.255.0 as the subnet mask because it's the most efficient way to work with a network on which all IP addresses begin with the same three numbers — in this case, 192.168.1. If you need access to only your home network, ensure that each computer has a unique address and the same subnet mask.
TCP/IP is supported on all platforms, so the configuration for Mac and Windows machines is nearly identical. Fig. 2 shows the Windows TCP/IP control panel for one of my home PCs. On the Mac, the control panel is in the Network section of the System Preferences panel.
A wireless network is not dramatically different from a wired one, although people often confuse a protocol, which is used to transmit the data (TCP/IP), with networking hardware. Ethernet refers to a particular kind of hardware cable and network interface, whereas TCP/IP is a protocol that allows computers to find each other and send data back and forth. TCP/IP can be used with any kind of networking hardware, including Ethernet and wireless.
In a wireless network, a low-level radio signal (similar to that of a wireless phone) carries data between a computer and a base station. The base station typically sends the data on to a hub or router over an Ethernet cable. The only major differences between wired and wireless networks are speed and security. Standard Ethernet networks have a maximum data transfer rate of 100 Mbps. Less common Gigabit Ethernet networks offer 1,000 Mbps. Older wireless networks had a theoretical maximum transfer rate of 11 Mbps, whereas more modern wireless networks transfer data at 54 Mbps. Distance and obstructions, however, often keep wireless rates well below their theoretical maximum. In short, standard Ethernet is at least twice as fast, and often several times faster than wireless.
Because the data is transferred over the airwaves rather than through cables, wireless networks are inherently more difficult to secure. Wired networks are still vulnerable to attack over the Internet; however, anyone standing outside your house can potentially gain access to your wireless network. Any computer that can access the Internet, wired or wireless, should have security installed. Home computers on a network connect to the Internet using a router, and most routers can also act as firewalls.
A firewall is a hardware or software system that monitors and controls the traffic coming into and out of the network. Most routers that are designed to share a cable modem or DSL line have some firewall capabilities. You can buy commercial software products, usually called personal firewalls, and install them on each computer on your network. A personal firewall monitors attempts to access your computer from the Internet. The difference between wireless and wired networks is that if a wired network does not connect to the Internet, you don't need to worry about firewalls. In contrast, even a standalone wireless network should be secured using the security options on the wireless base station.
When using multiple computers, it is often desirable to have them share the same keyboard, mouse, and display. You can do that with a KVM hardware switch or using remote-control software.
A KVM switch lets one keyboard (K), video output (V), and mouse (M) control two or more computers. Inexpensive models, including cables, can be found for around $50. For computers within a cable's reach, a KVM box offers real advantages. You get total access to each machine, and there is no performance hit from running remote-control software.
KVM is still an option for computers that are not within a cable's reach. A KVM extender is a box that extends the range of a KVM switch to as much as several hundred feet. Gefen (www.gefen.com) makes KVM extenders specifically targeting audio and video professionals. Most of the company's products use two boxes connected by a standard networking cable — one next to the remote computer, and the other next to the operator. One advantage of a KVM extender is that it allows you to keep the recording environment free of noisy, irritating computer fans.
There are programs for all platforms that let you control one computer remotely from another. For Windows users, there are commercial tools such as pcAnywhere (Symantec, www.Symantec.com) and RemotelyAnywhere (www.remotelyanywhere.com). These programs aren't cheap; however, they do give a Windows machine full control over another Windows machine residing on the same network. RealVNC (www.realvnc.com) lacks some of the features of the commercial applications, but it is free and also allows a GNU/Linux machine to control a PC and vice versa. Apple makes its own tools for remotely controlling Macs (www.apple.com/remotedesktop).
The basic remote control setup for any of those programs is the same. The machine to be controlled has software installed on it to which the machine doing the controlling can connect. Usually the connection is established using the IP address of the remote computer, and a password is required to authenticate the connection. Once the connection has been established, a window opens and displays the desktop and applications that are running on the remote machine.
I use RealVNC, which allows me to see an X Windows session on a remote GNU/Linux computer. After installation, RealVNC runs as a service and has an icon in the system tray. Fig. 3 shows the RealVNC remote-control window with Microsoft Word running to edit a draft of this article. The only downside of remote control is that usually the remotely controlled machine uses a fair amount of CPU bandwidth when sending a view of the desktop to the primary machine. If you're using a real-time audio application, that drain on your CPU can be costly. MIDI control is a better choice than remote control for managing DAW and plug-in parameters.
A Server of Your Own
Music is just one of the possible uses for an extra computer. The simplest way to use an extra machine is to stuff it full of cheap hard drives, network it to the studio computers, and use it for quick backups and temporary file space. You probably can't stream audio from a remote file server on a home network, but you can archive gigabyte-size projects over a fast local network in a few minutes. A networked file server provides a central location for shared files. Servers are also ideally suited for streaming MP3 files.
If you're using a TCP/IP network, file sharing is easy. Activate file sharing on the system that will be your server, then link to that server from any other machine on your network. On a machine running Windows XP, activate file sharing using Windows Explorer. Right-click on the folder you want to share (see Fig. 4), select Sharing and Security, click through the warning dialog if necessary, and click the “Share this folder on the network” button located in the bottom half of the control panel (see Fig. 5).
Using a Mac to share files with other Macs or Windows machines is simple. Open System Preferences, click on the Sharing icon, and select the Services tab. Click on the Personal File Sharing box to enable sharing with other Macs, or click on the Windows File Sharing box to share with Windows machines. Click on the Start button to enable sharing.
Accessing shared files using either platform involves essentially the same steps. On a Mac, select Connect to Server from the Go menu, select the desired server, and then click on OK. From a Windows machine, type in the IP address after clicking on the Start menu and selecting Run. All servers will now show up in My Network Places. When asked for a user name and password (for either platform), use your account information for the computer that is sharing the files.
You can use a second computer to relieve your audio computer of nonaudio tasks. Moving office work such as email, instant messaging, word processing, graphic design, and Web site maintenance to a second machine can increase stability. On my network, for example, the GNU/Linux computer that is my firewall and router also works as my in-house file server and email machine. Not using a Windows email client protects me from a majority of virus problems.
You can also use a second machine as a CD burner for project backups, rough mixes, and demos. Install a CD burner in the extra computer, network it to the main audio computers, move the data to be burned to the shared drive on the second machine, and burn away.
The computer or computers you already own can probably do more than you realize. The true power user is not the one with the fastest and newest computer, but the one who eyes that machine with the 300 MHz Celeron processor that nobody wants and thinks “I could use that as a backup firewall.” Good computers don't die, they just get a new gig.
Home | Audio | DIY | Guitar | iPods | Music | Links | Site Map | Contact