Running two or three soundcards simultaneously can greatly increase the power and flexibility of your PC — but it can also lead to serious conflicts. Martin Walker leads you through the pitfalls.
How would you like a computer with 10 audio input channels, 24 audio output channels, a 64‑voice, 32‑part multitimbral MIDI synth, and five effect busses? That's exactly what my PC contains at the moment. But as you have probably guessed, I haven't spent several thousand pounds on a new all‑singing, all‑dancing soundcard. The secret is that I now have three soundcards running side by side, each contributing some of these features.
More people are now attempting this, usually after buying a new soundcard, and not wanting to discard the old one. Until recently, however, nearly all manufacturers and developers discouraged this approach, simply due to the often horrendous system clashes that could occur (see the In The Murky Past box). Thankfully, most of today's soundcards are far easier to install, and use fewer PC resources than those of the past. In addition, the PCI buss has a much larger bandwidth than the ISA one used by older soundcards, allowing many more audio streams to be shuttled to and fro without running into problems.
It is rare to find every one of your desired features on a typical low to mid‑priced card. For example, there might be a digital out, but no digital in. By combining the features from several cards, however, you can often build up everything you need, and even upgrade in stages. Increasingly, manufacturers themselves are providing drivers that can run several of their own cards together, and even mentioning the possibility of running their model alongside those of competitors. Cynical people might say that this is to tempt more people to buy their card, even if they already have another one that works perfectly well. They would be right of course, but it's still tempting isn't it?
You might be thinking that this sounds too good to be true — there has to be a catch somewhere. Well, there are various things to take into account, and there are certainly potential problems. There are also limits beyond which it would be foolhardy to venture. I came across one fiscally‑challenged musician attempting to create an eight in/eight out system using four SoundBlaster cards! However, as long as you are aware of the limitations, and are prepared to work round them, avoid them, or even ignore them, you can put together a surprisingly powerful system offering a unique combination of features.
Although some people may amass several soundcards to achieve more simultaneous analogue inputs and outputs, I suspect that most will be attempting to combine cards which offer different, more specialist features, such as a sampler, software synth, or onboard effects.
No doubt tomorrow's MIDI + Audio sequencers will all offer sampling along with their existing hard disk audio recording facilities, but at the moment sampling is largely separate, and can be neatly separated into two distinct categories — hardware and software. If you can afford it, the hardware option is likely to give you least problems, since your system won't be attempting to run several processor‑intensive applications side by side. There are various soundcards available with hardware sampling on board, including the Emu Audio Production Studio (reviewed SOS Jan '99), Creative Labs' SoundBlaster Live! (along with its predecessor, the AWE64 Gold), which all use the SoundFont standard, and a selection of cards supporting DLS (DownLoadable Sound), such as the Yamaha Waveforce series. Thankfully these two competing standards have recently been brought closer together. In October last year, MPEG (Motion Picture Experts Group) agreed a new DLS‑2 format that combines the best features from both, planning to make a specification for this available in January this year.
Hardware samplers that use system RAM will add a slight system overhead to ferry the audio data to the soundcard in real time, but this will be much less than the alternative, the software sampler. This carries out all the calculations needed to mix together multiple samples being played back at different pitches, which obviously takes a sizeable chunk of processor time. The top contender here must be Nemesys' Gigasampler (reviewed SOS Dec '98), which provides 64‑voice polyphony and unlimited sample length by streaming the sounds direct from a fast hard drive. It also provides resonant filtering, envelopes, and LFOs (as do nearly all modern hardware samplers). This moves it into the territory of the software synth (or softsynth), nearly all of which offer some sort of sample playback as part of their armoury.
The boundaries between samplers and synths are now decidedly blurred. Many synths only offer a selection of preset sampled sounds as sources for their synth engine, which in turn adds the real‑time manipulations and 'fairy dust' to the final sound. Many soundcards include synth engines based on a fixed ROM wavetable — from the basic 1, 2, and 4Mb ROM sets on the SoundBlaster cards, to the 20Mb ROM set of the latest Yamaha SW1000XG. It is always useful to have a versatile set of MIDI banks available to supplement sampled or hard disk audio sounds as they get you off to a rapid start when writing music, even if you later replace some of their sounds with samples. Resonant filtering, envelopes, and LFOs also help to create movement in the sounds, and of course, the hardware synth only takes a minimal processor overhead.
However, S+S (Sample+Synthesis) based synths can only go so far, and many people are attracted by the possibilities of other synthesis types, such as analogue, FM, and physical modelling. Once more, both hardware and software solutions exist, with the hardware ones being far less processor intensive. The Yamaha SW1000XG possibly provides the widest choice here, since its daughterboard socket can accommodate either VL (physical modelling) or FM synthesizers on a plug‑in board.
On the software side, basic synths are available that provide GM wavetable‑based playback. These will take a significant processor overhead, depending on what facilities they offer. However, true software synthesizers are likely to take the biggest chunk of processor power of all since, along with any other processing, they calculate their waveforms in real time. To run these alongside a MIDI + Audio sequencer, you will always need a powerful PC, unless you are prepared to reduce both the number of audio channels and synth voices significantly (or to use a second, stand‑alone PC dedicated to this purpose). On the plus side, software synthesizers do provide the biggest range of options, and therefore the widest range of sounds.
Until very recently, the only way to run a softsynth was to use an entirely separate soundcard to that used for hard disk audio. Once you do this, though, its normal wave playback facilities become unavailable. This is because the softsynth is often driven by MIDI — data is received from a sequencer, and then the softsynth output is calculated and sent to the wave output of your chosen soundcard. What you have to do is make sure that the MIDI output of the softsynth is available inside your MIDI + Audio sequencer, but disable the appropriate wave audio driver so that this can be used exclusively by the softsynth. If you get errors when launching your sequencer along the lines of 'Cannot Open Wave Driver', this is probably because it is already being used by the synth.
However, depending on the softsynth, certain cards with multichannel outputs can now have a single stereo channel pair allocated to this function, with the remainder used for hard disk audio. Windows MME and DirectSound drivers can both be used on a stereo pair‑by‑pair basis: with my new Yamaha SW1000XG card, for example, I have managed to simultaneously run Cubase VST (four stereo wave outs), Reality (one stereo wave out) and Generator (one stereo wave out). Sadly, for those who use device‑specific ASIO drivers for Cubase VST, this is not possible, since Cubase grabs the entire card and talks to it directly. Bizarrely, it doesn't even release it to use an external wave editor such as Wavelab, although this is possible with the MME drivers by disabling Background Audio from the Preferences menu, or by using the new 'Enable Audio Only During Play' feature of Cubase v3.6.
Softsynths do tend to provide lower latency when run on soundcards with DirectSound compatible drivers. Part of the reason for this is that, since they are generating sounds in real time, they tend to use small asynchronous buffers (see the Getting Converted box for more details) to keep their latency down to manageable proportions. By contrast, most audio sequencers tend to output much larger regular buffers, which explains why some softsynth applications (notably Gigasampler) will only work with DirectSound compatible cards. For this reason, some musicians with very respectable soundcards already dedicated to audio recording and playback are actually buying a second, low‑cost consumer soundcard with DirectSound drivers.
The ideal solution is if some sort of integration can be provided for these extra features in the MIDI + Audio sequencer, as has happened with the latest versions of Rebirth and Cubase VST. Since VST is in charge of the audio streams provided by Rebirth, there is no prospect of the sort of conflicts that may arise when two applications are blindly juggling their own audio buffers (so to speak). However, these two products are a special case, being marketed by the same company. In general, you will get away with running two audio applications simultaneously, but the possibilities for glitches may multiply alarmingly. You should also expect significantly fewer simultaneous audio tracks in these situations.
Any combination soundcard system is at its weakest when analogue signals enter or leave it. This happens whenever conversion from analogue to digital take place, and when either the final stereo signal is converted back to analogue for monitoring purposes, or when signals are sent to the outside world for further analogue processing. If you are building up a multitrack performance by recording individual mono or stereo channels, rather than recording a live band which needs many simultaneous inputs, you will probably only need to use a single A‑D/D‑A converter from your soundcards. To get the highest possible audio quality, always use the best converters available: if you are using two soundcards, and one card has 20‑bit converters, while the other has 18‑bit converters, use the 20‑bit ones. The same goes for the output, although if (like many people) you are mastering direct to CD‑R or DAT, then the D‑A process is only being used for monitoring, and will not affect the final recorded quality.
Incorporating low‑cost consumer cards such as the AWE64 Gold or SoundBlaster Live! needn't compromise your overall system sound quality, since both of these cards provide a 20‑bit S/PDIF digital output. It is possible to connect this to an external converter, or the digital input of a more expensive card, to provide 20‑bit quality for either a softsynth or SoundFont‑based sampler. However, this may compromise jitter levels as explained in the Clocking On box, right.
The biggest potential problem with multiple soundcards is keeping them all in sync, and this is why the preferred solution (if you are starting from scratch) is to buy a single card providing all the features you are likely to need. By doing this you are spared even the possibility of system conflicts, and are provided with a neat, one‑stop solution that will appear within your chosen MIDI + Audio sequencer as a single set of drivers, ready for (hopefully) instant use. This is ideal for anyone wanting to avoid problems, especially in a professional music environment. A reasonably well‑specified system is also likely to offer the converters and socketry mounted in an external rackmount case, which not only makes for a potentially better audio performance, but also makes it easier to patch it into the rest of your studio.
Running an additional MIDI interface card (or a second soundcard running a MIDI synth or sampler) shouldn't cause any sync problems — although often a professional soundcard will have MIDI interfaces included and will still run everything from a single IRQ, making it even easier to install. I discussed MIDI hardware timing uncertainties in some detail in SOS June '98. Although these are often several milliseconds, and vary according to the number of notes being played, there is little you can do to remove them. At the software level, DirectMusic (see this month's PC Notes column) may in future provide rock‑solid timing locked to audio sync, assuming that music developers use it.
Most real‑time software synths that I have used simply appear as MIDI devices. Again, any latency sluggishness, although annoying during the recording process, can be compensated for during playback in exactly the same way as with any other MIDI device. Incidentally, if you anticipate using several software synths, this could be another reason to upgrade to Windows 98, since it has none of the MIDI device limitations of its predecessor.
While MIDI timing uncertainties may mean a potential loss of 'tightness' to those with golden ears, the main sync problems with multiple soundcards are of the audio variety, and these are much more important. Some of you may remember the reader who had problems with an Event Gina soundcard driver (see Crosstalk in SOS September '98 ), where even an offset of only a single sample at 44.1kHz was enough to be audible. Although this is equivalent to a delay of only 23 microseconds, you can still hear it if the two channels in question are replaying a single stereo signal, and are later mixed to mono or via some sort of surround sound coding.
As long as you are aware of the limitations, and are prepared to either work round them, avoid them, or even ignore them, you can put together a surprisingly powerful system with a unique combination of features.
The insurmountable problem with freewheeling several soundcards side by side is simply that they are not locked together. However accurate each clock is, the chances of them staying in sample‑accurate sync over several minutes are nil. Sometimes you may be lucky when using two identical soundcards from the same manufacturer and find that the timing stays reasonably tight. Various companies also offer driver software that will support multiple cards. For instance, Midiman offer a driver that will run two Dman 2044 cards simultaneously, and quotes a typical drift of one millisecond per minute.
If you are faced with this situation, you will achieve better results if you keep any stereo tracks to a single card, rather than splitting them between the two. The problem is aggravated if you tend to record long continuous audio tracks, since the drift is likely to increase over time. There's less of a problem if your music uses shorter audio snippets or loops, since any drift will be reset to zero each time a new part is started by your sequencer.
To successfully run several audio soundcards side by side (or indeed use any combination of digital audio equipment) you really need a single accurate clock and the means to lock every other device to it. This in turn requires some sort of hardware connection. Certain expandable systems provide this option internally by means of a ribbon cable that interconnects the soundcards. Examples of this approach include running a couple of Yamaha DS2416 cards in tandem, a DS2416 and an SW1000XG, and the DAL V8 system.
Many others rely on the clock output of one card being externally connected to the clock input of the next, even if a single piece of driver software can support several cards. Multiple Laylas or Ginas can be connected in this way (as many as you have available PCI slots), using a single interrupt. In many cases you can use an S/PDIF output (which contains an embedded clock signal along with the digital data) to feed the S/PDIF input of a different card.
If one of the cards has an S/PDIF output but no input, this will have to provide the master clock. Examples of this include the AWE64 Gold and Yamaha SW1000XG. Any suitable card with an S/PDIF input can then be used as a slave device, and the two should stay locked in perfect sample‑accurate sync. Popular examples of such combinations include AWE64 Gold/Gina and SW1000XG/Gina (which is what I'm currently using).
For those who aspire to multi‑channel surround sound, the problems can get worse, since it is often not even possible to guarantee sample‑accurate sync between stereo pairs on the same soundcard! This problem occurs when running nearly all multi‑channel cards with Windows Multimedia drivers (but not device‑specific ASIO ones). Since every stereo pair of channels appears to the operating system as a separate wave device, each must be started in turn, and because of this, it is possible get small offsets between the pairs. Some developers claim that if an interrupt happens unexpectedly during the start procedure, each stereo pair can be up to 64 samples out of sync with the others.
A device such as the Korg 1212 solves this by the use of a 'synchronisation group', meaning that recording or playback will not start until all the wave devices in this group have received a start command from the MIDI + Audio sequencer. The Sonorus STUDI/O can also configure its drivers in a variety of ways as far as Windows MME is concerned — anything from eight stereo pairs, through two eight‑channel devices, to a single 16‑channel device. This also avoids having to start multiple devices sequentially. Indeed, it's surprising that more multi‑channel soundcard manufacturers haven't taken this approach.
However, if you look at the advanced options of the ASIO Multimedia Setup menu in Cubase VST, you will find 'Open All Devices Before Start' in the Card Options. This should ensure that multi‑channel soundcards start every channel in absolute sync. I tested this for myself, using a similar technique to that used for measuring Cubase timing (see SOS June '98). You record the output from two different audio tracks back into the input of the soundcard, with one panned hard left, and the other panned hard right. This allows you to examine timing differences between the original playback wave, and audio recorded from different analogue outputs. There will always be delays due to the combined D‑A and A‑D conversion, but these should be identical on each occasion: it is the differences between recorded channels that are important.
Using my Event Gina soundcard, I started by recording the outputs from each stereo pair using the ASIO multimedia driver. As I expected, close examination of the resulting recordings showed that they were synced to sample accuracy, although the delay of this stereo pair to the original playback did vary significantly on subsequent recordings by up to 40 samples at 44.1kHz (about 1mS). Moving to the ASIO Echo Gina/Darla/Layla driver certainly removed the need to adjust the offset manually (again, see the June '98 issue), since the delays were much smaller. However, I still saw a 20‑sample variation between recording and playback during repeated recordings. I then played back the same WAV file through both the Gina 1 and Gina 8 analogue outputs, and again both the ASIO Echo driver and the Multimedia one recorded both channels with sample‑accurate sync (see screenshot on page 124).
To show the difference between sync‑locked and freewheeling cards, I tried out Cubase VST with my Event Gina and Yamaha SW1000XG. First, I sent the same click track to an analogue output of both the Gina and SW1000XG (the top pair of waveforms in the screenshot on this page). I then re‑recorded these through my left and right Gina analogue inputs. The results are shown as Freewheel1, with a further recording of the same as Freewheel2. The important thing to note here is that the spacing between the two clicks in Freewheel1 is different from that of Freewheel2 (about 1mS) — there is no lock between them even at their start points.
To lock the two together, I first connected the S/PDIF output of the SW1000XG to the S/PDIF input of the Gina, using a short 75Ω digital cable. Then the SW1000XG was set to Sync Reference (move it to the top of the list in the Cubase Advanced Options in Setup MME), and then the Gina clock input set to S/PDIF (External). Every subsequent recording then showed exactly the same offset of 36 samples between the cards (Sync1 and Sync2 in screenshot, above). This is probably due to the different D‑A conversion times of each card. Another peril of using multiple soundcards can also be seen. The top trace in each and every recording shows that the Yamaha SW1000XG card seems to invert the polarity of its outputs which could cause mixing problems later on.
Using several soundcards together can provide a unique combination of features, and as long as you are careful, needn't give any problems. Normally, running software synths and samplers won't need sample‑accurate sync (how many people synchronise rackmounting samplers using word clock?), and any teething troubles here are likely to be when configuring drivers so that the synth or sampler can run at the same time as your MIDI + Audio sequencer.
When it comes to multiple audio cards, if the drivers provide outputs as stereo pairs, always run stereo tracks across a single pair, and make sure that multiple cards are sync‑locked together if possible. If not, try to keep longer track segments all on one card so that they stay in sync with each other, and tracks with shorter parts on the other. At least these will be pulled back into sync with the other card at the start of each new part.
If you want sample‑accurate sync across more than two channels then a dedicated multi‑channel card is safest. You should also achieve this using two cards (although there seem few guarantees), but although this should work in the digital domain, analogue is a different matter, due to the different and inevitable delays during A‑D or D‑A conversion. Recording a drum kit with eight or more simultaneous inputs may still be possible, since each mic will already be placed at a different distance from various drums, but you may need to carry out a lot of tweaking. May the sync be with you!
Another feature that now eases the use of multiple soundcards is IRQ Steering, which is available with Windows 98 (and was also supplied with Windows 95b). This overcomes the restriction of running out of Interrupts (IRQs). There are only sixteen of these, and a significant number of them are allocated to system components by default (such as the mouse, keyboard, floppy disk, hard disk, and real‑time clock). It is not possible to share these interrupts when they are used by an ISA buss device, but PCI cards can have them allocated dynamically, so that several can share the same one.
With Windows 98, if IRQ Steering is disabled, the BIOS allocates IRQs automatically (unless you assign them yourself by hand inside the BIOS setup). If IRQ Steering is enabled, Windows handles this instead. It does need a BIOS that supports this, since the IRQ routing table must be passed by the BIOS to Windows so that it knows how your motherboard is configured. In general, it leaves the BIOS choices unaltered, except when there is a conflict with a non‑Plug and Play ISA device (such as an old MIDI interface or soundcard). If Windows detects an IRQ conflict with a PCI device, IRQ steering will disable it, re‑program a different IRQ to the PCI device, and then re‑enable it.
If you have either of these operating systems, you can see whether IRQ Steering has been enabled by going into Control Panel‑System, and then opening the System Devices section. If you double click on PCI bus, you will see a tab marked IRQ Steering, which will show the relevant tick box. If steering is enabled, you can also see which (if any) of your interrupts are being shared, by double‑clicking on Computer at the top of Control Panel‑System, or (in Win 98 only) the Conflicts/Sharing section of Microsoft System Information (which you can find in the Accessories‑System Tools of the Start Menu. If any interrupt has been programmed to PCI mode (and is unavailable to ISA devices), it will show an entry for IRQ Holder for PCI Steering. If several devices are sharing the same interrupt, they will each have an IRQ holder (see screenshot, above).
Soundcards are normally clocked from an on‑board crystal oscillator. Crystals are tuned to specific frequencies, and form the basis of an extremely accurate and stable oscillator circuit. They normally operate at several MHz (if you look at your soundcard, you may well see a small metal can with a frequency marked on it). Several different sample rates can sometimes be derived from the same crystal, by digitally dividing this stable master frequency down by various amounts to produce the standard 48, 44.1, 32, 22.05, 16 and 11kHz options.
Whatever your chosen sample rate, the job of this master clock is simply to clock out samples at an absolutely steady rate, since any variation gives rise to the dreaded jitter. You may degrade the audio fidelity of an expensive soundcard slightly if you slave sync it to the higher jitter clock of a low‑cost consumer soundcard. However, jitter should only affect the audio quality during A‑D or D‑A conversion (that is, during analogue recording and playback). In fact, it is possible for the low‑jitter clock in a CD or DAT player to give better playback sound quality than when listening to exactly the same digital data played back by your MIDI + Audio sequencer using the higher jitter clock on a cheap soundcard.
Many musicians will have upgraded their soundcards over the last couple of years, and it's not hard to see why. Far removed from the days of background hums, whistles and hiss, the majority of today's models have excellent audio performance. Even low‑cost consumer models can offer surprisingly high quality.
Given this situation, many people may be wondering whether they can run their new card alongside the old one. A couple of years ago this was definitely frowned upon, and anyone who attempted it needed a fairly thorough knowledge of their available computer resources, as well as plenty of perseverance. The main problem was that the average card used two or three IRQ settings, as well as one or two DMAs, and a host of memory I/O addresses. For correct operation of all aspects of the card, each of these needed to have a unique value, currently unused by any other expansion card.
With each device having only a small selection of possible options for each setting, installing an ISA card often meant some hours of shuffling the resources used by existing cards. Not surprisingly, anoraks were much in demand, and anyone who managed to install several soundcards was looked on with a mixture of awe and incredulity.
With the arrival of Plug and Play things did start to get easier, although there were terrible teething troubles during the changeover, as ISA legacy (pre Plug and Play) cards sat invisibly alongside the new ones, waiting to trip up the automatic allocation of resources. The big change came when PCI cards started to predominate. The PCI buss also has a much higher bandwidth than the ISA one — it has been estimated that to produce 16‑bit stereo sound only takes about one percent of the CPU's resources using a modern PCI soundcard, whereas an ISA card might take up to 20 percent.
Bear this in mind when you decide to carry on using your ancient ISA card to run a software synthesizer!
When both cards are using the same clock, transmission is described as synchronous. When you need to change the sampling rate of a signal, or to use a soundcard that can only run at a fixed internal clock frequency, you can use an asynchronous sample rate converter (SRC). This is a device that can lock on to a wide range of incoming digital sample rates, but convert them in real time to another rate. This is not only ideal for forcing the output from any DAT recorder to be automatically changed to 44.1kHz, but also allows the card to remain the master when receiving S/PDIF signals from other cards.
The Emu APS is one example, since all four of its digital input channels can be mixed simultaneously with the four analogue ones, to be mixed to a single mono or stereo track for recording to a hard disk. This may also mean that jitter from low‑cost cards could be reduced in line with the better performance of the SRC.
However, due to its fixed 48kHz internal sample rate, you will only keep perfect sync with external signals when they also use a 48kHz sample rate. Other cards that can perform real‑time conversion include the Zefiro ZA2, and the Sonorus STUDI/O. You can often use this sort of card to provide real‑time conversion between two dissimilar formats.