You are here

DSP-assisted Audio Effects & Latency

PC Musician By Martin Walker
Published April 2004

DSP-assisted Audio Effects & Latency

Extra DSP assistance to help your PC's processor cope with effects treatments used to be the province of the pro. Now there's a wide range of DSP-equipped cards to fit all budgets — but many people don't realise the latency issues that might be involved in using some of them.

Last month's PC Musician dealt with how you can add DSP effects to your PC setup by plumbing external processors, such as reverbs, into your soundcard and sequencing software. This idea is a useful way of stretching the power and facilities of your system, but if it's not something you want to do, there are still ways of taking the stress off your PC processor and giving yourself more effects power at the same time. A surprising variety of DSP-assisted audio effects are available for the PC musician, ranging from soundcards with on-board effects to dedicated DSP expansion cards that provide no audio I/O, instead concentrating on a range of high-quality effects and relying on a normal soundcard, installed alongside it, to get audio signals in and out of the computer. Strictly speaking, all software plug-ins use Digital Signal Processing, but to avoid confusion let's refer here to DSP as anything using dedicated hardware DSP chips separate from the PC's main processor.

Soundcards + DSP

Soundcards that have DSP effects include budget models such as those in the SoundBlaster Audigy range, whose algorithms are now quite sophisticated, and Yamaha's incredibly successful SW1000XG, with its five effect busses.

Yamaha's 01x turns the concept of extra DSP for your PC into a deluxe studio centrepiece.Yamaha's 01x turns the concept of extra DSP for your PC into a deluxe studio centrepiece.Staying with Yamaha for the moment, their DSP Factory has a 16-channel mixer with 4-band EQ and a dynamics processor on each channel, plus two multi-effect processors. When these cards were released in 1998 they were little short of revolutionary, but unfortunately their lowest possible latency, of 23ms, isn't up to (or rather down to) today's standards. However, I've noticed some enterprising musicians using a second basic stereo soundcard for low-latency recording, but switching back to their Yamaha products during the mixing process.

Those looking for quality reverbs were also tempted in 1998 by Lexicon's Studio 12T system, effectively a soundcard with the engine of the famous PCM90 hardware reverb grafted on to it. Unfortunately, this proved tricky to set up in a suitable PC, and while its £2600 price tag was probably in line with hardware units of similar quality, relatively few musicians were tempted. The subsequent Lexicon Core 2 released in late 1999 was far more affordable, at £599, but still wasn't easy to configure and didn't set the world alight.

Bringing the options right up to date are products like Yamaha's new 01X (reviewed in SOS March 2004), which not only combines the features of a soundcard with a fixed bank of DSP effects, but also adds a digital mixer and remote-control functions. With eight analogue inputs, a further 16 channels controllable via software, plus dynamics and 4-band EQ on every channel, the 01X integrates neatly with the majority of sequencer applications, to form a poweful studio system.

Going a few years back in time, for those who wanted more flexible DSP assistance 1999 saw the release of the long-awaited Creamware Pulsar system. This soundcard and DSP combination, along with the subsequent and more powerful Scope Fusion platform, has gone from strength to strength, largely due to its array of Analog Devices SHARC DSP chips. These chips provide raw DSP power that can be allocated at the user's whim to whatever combination of audio effects, software synthesizers and samplers can be run within the capability of each card. Those needing more power can add expansion cards containing yet more DSP chips.

While not cheap, Creamware systems provide excellent audio quality, although most users would probably agree that the emphasis has tended to be more on the synths than the effects. Moreover, most of the Creamware cards don't provide on-board RAM, so while their Masterverb Pro reverb seems to be roughly equivalent to a mid-range hardware device, it does put a lot of traffic on the PCI buss as the audio data gets passed to and fro from your audio application, which may restrict the maximum number of audio tracks you can run. Nevertheless, the XTC version of the Pulsar card provides DSP-powered VST effects and Instruments that integrate neatly into applications like Cubase, and may be just the combination you need.

Soundscape's Mixtreme is another popular soundcard/DSP combination originally launched in 1999 that's still going strong (admittedly after suffering from a lot of support uncertainty after various take-overs). Happily, in July 2003 its original developers and support group re-assumed responsibility for Soundscape products, creating a new company called Sydec Audio Engineering (www.sydec.be).

Like Creamware's range, Mixtreme's DSP power is fully user-configurable, but concentrates on mixing and effects, with exemplary audio quality. If you need more DSP power you can run multiple Mixtreme cards on a single IRQ, or add Mixpander cards, and their DSP mixer's 'stream' inserts are available as inputs and outputs to Windows applications, so you can add DirectX or ASIO effects to individual channels as required.

Because of its close connection with the Soundscape Digital Audio Workstation range, Mixtreme has also attracted rather more high-end third-party plug-in effects than Creamware, including a Drawmer compressor, TC Works (now TC Electronic) reverb and multi-band Dynamizer, plus a world-class DeHiss from Cedar.

Hints & Tips For DSP-Assisted Soundcards

Creative's Audigy Platinum eX.Creative's Audigy Platinum eX.Creative's SB Live!, Audigy, Audigy 2, and Audigy 2 ZS soundcards all provide DSP effects, but only with the Audigy 2 Platinum eX and Audigy 2 ZS Platinum Pro models do you get the option of applying several of these effects in different amounts to individual audio tracks, rather than in a blanket fashion to the entire stereo audio output emerging from the soundcard.

You can access the DSP effects individually when using Creative's low-latency 16-bit/48kHz ASIO drivers (although they are not available if you choose the 24-bit/96kHz ASIO driver option, which would require twice as much DSP power to run the effects). Within ASIO-compatible applications such as Cubase and Logic Audio you'll see two extra stereo output channels labeled 'FX Slot 1/2' and 'FX Slot 3/4' (see screenshot). FX Slot 1 is permanently wired to the Audigy DSP reverb and slot 2 to its chorus, while slots 3 and 4 are whichever two other effects you 'Add' in Creative's EAX Control Panel; you can set these up as multiple send effects from each Cubase track.

All the DSP effects routed in this way will now be heard via the main stereo output of the soundcard, but if you want to record your final stereo mix, complete with these effects, as a new pair of audio tracks in your sequencer application, you can use the Creative ASIO input labelled 'Post EQ Front L/R'. Sonar 3.0 users should be able to access the same features, since this version supports ASIO as well as WDM drivers.

In the case of Yamaha's popular SW1000XG, its six stereo audio playback channels each have access to reverb, chorus and variation busses, so you can apply any amount of these three effects to each channel, and you also have the option of adding your choice of up to two insert effects to any one of the six. This is wonderfully flexible if your songs use up to six stereo tracks, but what if they have a larger number of mixed mono or stereo tracks?

The answer is to use SW1000XG outputs 1/2 for the main audio output; route Aux Send 1 signals to SW1k outputs 3/4 and configure it for 'fully wet' reverb; route Aux Send 2 signals to SW1k outputs 5/6 for 'fully 'wet' chorus; and so on. Just as with the Audigy, you can then apply your chosen amount of any of the five effects to any of your audio tracks, however many you have.

DSP Powerhouses

So there are some good systems available — but for many musicians wanting to add the ultimate in DSP-assisted effects to their software application, the two most serious products for the shortlist are TC Electronics' PowerCore and Universal Audio's UAD1. These are cards which provide only the extra DSP muscle for running plug-ins and feature no I/O, so they have to be run in conjunction with a 'normal' soundcard. Both the TC and Universal Audio systems support the use of up to four DSP cards, if your computer has sufficient slots and you want yet more power.

However, it's important to point out that the proprietary 'free-form' DSP solutions mentioned here can only run plug-ins specifically designed for their own hardware — you can't use them to run loads more standard VST or DirectX plug-ins than you would normally be able to run on your PC's native processor.

It's always difficult to compare the power of products featuring different DSP chips, but both cards have an impressive range of plug-ins developed especially for them by a variety of companies. The PowerCore has the reputation of having the best available reverb plug-in, and many musicians are also swayed by the quality of its Sony Oxford EQ, its Master X5 finaliser, the TC-Helicon Voice Modeler, and the Waldorf D-coder vocoder. It's now available as both a PCI card and an external FireWire-connected unit that has double the DSP power of the PCI card. On the PC, Powercore supports the VST plug-in and Instrument standard, so you don't have to employ proprietary routing. The Powercore plug-ins appear as options in your existing VST plug-in list inside any VST-compatible host application.

The Universal UAD1 card has some of the best compression plug-ins that are currently available bundled with it (the Teletronix LA-2A Levelling Amplifier and UA1176LN Limiting Amplifier), and its Pultec Program EQ (EQP-1A) is also well-respected, as is the RealVerb Pro reverb — although it's perhaps not so coveted as TC's bundled reverb. (UAD's new flagship DreamVerb may change this situation, however.) Another tempting UAD1 plug-in is the high-end 'analogue' Cambridge EQ. The latest version 3.3.1 of the UAD software supports both VST and DX plug-in formats, so you can use it from within most audio applications.

Playback & Input Monitoring Latency Scenarios

1. Audio playback with soundcard featuring DSP effects: When audio tracks are being played back, RAM buffers are required between the computer and soundcard to avoid glitching, but passing the audio signal through dedicated DSP effects on the card won't add any extra latency, whether they are fixed in ROM or downloaded from your computer into RAM on the soundcard.1. Audio playback with soundcard featuring DSP effects: When audio tracks are being played back, RAM buffers are required between the computer and soundcard to avoid glitching, but passing the audio signal through dedicated DSP effects on the card won't add any extra latency, whether they are fixed in ROM or downloaded from your computer into RAM on the soundcard.2. Audio playback with dedicated DSP card plus normal soundcard: If you add a dedicated DSP card to provide effects, it will need buffering in exactly the same way as the soundcard, so playback latency will triple. Fortunately, the majority of music applications compensate for this extra path delay automatically, so that all your tracks remain in sync.2. Audio playback with dedicated DSP card plus normal soundcard: If you add a dedicated DSP card to provide effects, it will need buffering in exactly the same way as the soundcard, so playback latency will triple. Fortunately, the majority of music applications compensate for this extra path delay automatically, so that all your tracks remain in sync.3. Zero latency input monitoring with DSP-equipped soundcard only: The simplest path for input monitoring is the so-called 'zero' latency option provided by the soundcard, which connects the A-D to the D-A converter. This results in about 2ms overall latency (one millisecond for the A-D and another for the D-A conversion). The input signal may also pass through the soundcard's effects block with no added latency, as shown here.3. Zero latency input monitoring with DSP-equipped soundcard only: The simplest path for input monitoring is the so-called 'zero' latency option provided by the soundcard, which connects the A-D to the D-A converter. This results in about 2ms overall latency (one millisecond for the A-D and another for the D-A conversion). The input signal may also pass through the soundcard's effects block with no added latency, as shown here.4. Input monitoring through sequencer application, with added DSP effects card: The most complex signal path is created by monitoring an input signal through the application, as shown here. Buffering is required for the input when it is sent to the application, as well as for its playback, resulting in double the normal latency (the two upper sets of buffers), although this does allow you to add native plug-in effects. If you want to add dedicated DSP effects on a Powercore or UAD1 card, two further sets of buffers are required, so overall latency will quaduple.4. Input monitoring through sequencer application, with added DSP effects card: The most complex signal path is created by monitoring an input signal through the application, as shown here. Buffering is required for the input when it is sent to the application, as well as for its playback, resulting in double the normal latency (the two upper sets of buffers), although this does allow you to add native plug-in effects. If you want to add dedicated DSP effects on a Powercore or UAD1 card, two further sets of buffers are required, so overall latency will quaduple.

Practical Considerations

We've established that there's a range of options available for providing more effects and processing muscle — but there are things to bear in mind when deciding to incorporate one of these options into your setup. One potential problem when using DSP effects is a more complex signal path, which may result in audio delays. The simplest configuration is a soundcard with integral DSP effects, such as the ones mentioned above, since these effects can be applied to playback channels while the audio signal is in the soundcard. Because these signals are already in the digital domain, there's virtually no added delay in processing them, so the mechanism of applying the effects is relatively unproblematic for the user.

The situation when adding DSP effects to incoming analogue signals while the signals are actually being recorded is very similar to the above. As the audio has already been converted to digital by the soundcard's A-D converter, digital effects can be added in the digital domain without any further delays being apparent. Most products with DSP processing functions provide options either to listen with effects but only record the dry signal (ideal if you want to monitor vocals with a little added reverb, for instance), or record the signal with the effects. This approach is perhaps more suitable for electric guitar (for instance), although once again most people prefer the dry option, so that they can change their minds about their effects later on.

In short, then, cards such as the Audigy, SW1000XG and DSP Factory, the original Pulsar and the Mixtreme, plus all-in one solutions like the 01X, can all add their effects without you experiencing any delays. Moreover, in the case of the Pulsar, if a soft synth has been selected and loaded into its DSP chips, almost the entire signal chain is running inside them, and if you use its hardware MIDI input to trigger the synth, overall latency will be very low.

Wait For It

In the case of 'freeform DSP' systems such as the Mixtreme, Pulsar XTC, PowerCore and UAD1, operational delays may be experienced when initially sending the desired data to the DSP chips. So, for instance, if you're using the Pulsar XTC from within Cubase, when you choose any Pulsar plug-in from the drop-down list it may take longer to appear on your screen and be usable than a plug-in relying on native processing, since its data must first be loaded from your hard drive, then downloaded to the DSP chips via the PCI buss, and finally initialised.

More problematic are audio signals that have to be ferried to and fro inside the PC. This is when buffering is needed to maintain a glitch-free audio stream against untimely interruptions from other Windows tasks. When you record an input signal (a guitar or voice, say), it's subject to software buffer delays (latency) on the way into your Windows audio application. The playback of existing audio tracks is subject to similar delays before the signal reaches the soundcard and is converted back to analogue through the D-A converters, so that we can listen to it.

When you're using a DSP effects card such as the Pulsar XTC, PowerCore, or UAD1, where the effects aren't applied directly to a soundcard's output but are instead added elsewhere in the signal path, such as to an insert or aux send, extra buffers are needed, and more delays are involved. For example, if you're using Cubase and a soundcard, all playback signals are subject to the normal latency caused by the ASIO buffer size. If you add a UAD1 card, and configure it to provide a VST insert plug-in, the audio is first sent from Cubase to the DSP chips on the UAD1 card, incurring a latency equal to the ASIO buffer size, and then returned to Cubase, incurring a further latency equal to the ASIO buffer size, before being routed to your soundcard for playback, when an additional latency equal to the ASIO buffer size occurs.

So if you were running with a 256-sample buffer at 44.1kHz, playback latency would be about 6ms, but the additional latency due to the UAD1 insert would be 512 samples, or about 12ms, making overall latency 18ms. If you passed your audio through several insert effects, each one would add a further 12ms to the overall latency. (See the diagrams overleaf for an illustration of where latency occurs in the signal path of different PC/soundcard configurations.)

Getting Compensated

Many modern audio applications include some form of automatic compensation for such delays during playback on inserts, so you simply won't be aware of them — but this compensation does not necessarily apply to all signal paths. For instance, Cubase VST from version 3.7 onwards and SX 1.0 do compensate for such latencies in insert paths, but not for aux sends or groups, which may leave untreated audio tracks 'ahead' of the treated ones by an amount equal to the extra DSP latency path.

To combat this limitation, it's possible to delay the untreated audio tracks, to bring them back into sync: simply drag the tracks in question to the left by the appropriate amount. Some applications provide dedicated track-delay parameters, calibrated in milliseconds, to make this process easier, but an alternative method that's probably less prone to user error is to insert a delay 'compensation' plug-in, that simply adds the appropriate delay, to those tracks not using any DSP plug-ins. Universal Audio developed the UAD Delay Compensator plug-in to do just this for UAD1 users.

Further complications may arise when you have both MIDI and audio tracks in the same song. In this case, delayed audio inserts may be automatically compensated for by your music application, but the MIDI tracks may then end up ahead of the audio ones. You can, once again, move these tracks by dragging. (Universal Audio have a track advance plug-in to instead move the audio tracks forward by the appropriate amount.) Fortunately, the latest versions of many VST host applications, including Cubase SX 2.x, Nuendo 2.x, Magix Samplitude 8.x, and all DirectX host applications, including Sonar, perform comprehensive compensation for all signal paths, so using VST or DX-compatible DSP plug-in hardware becomes far more transparent to the user.

However, Emagic's Logic Audio still only compensates for its tracks and channels, but not busses and auxes, and as development on the PC version is now at an end this situation, unfortunately, won't change. If your audio software doesn't provide compensation, you could try downloading the AnalogX SampleSlide (www.analogx.com/files/" target="_blank">http://www.analogx.com/files/ sslide.exe), a tiny 192K DirectX plug-in that lets you delay mono or stereo audio streams by a specific number of samples. As most sequencer applications (including Logic Audio) automatically compensate for insert effects, the most common SampleSlide scenarios are when you want to apply DSP reverb to multiple tracks using effect sends, or DSP/native plug-in compression to several tracks via a group channel (many native dynamics plug-ins look ahead in the waveform to anticipate peaks, and therefore impose a delay, just like DSP-based ones). This will result in the reverb return or compressed sounds playing slightly late.

The solution is to re-route the outputs of all the tracks, except the one playing back the DSP return signal, from the main output channel to a group channel or different output buss. Then use SampleSlide as an insert on this group or buss. If you type the DSP delay, in samples, into SampleSlide, all the tracks will then end up back in sync.

Effects & Monitoring Live

Live monitoring with DSP plug-in (as opposed to on-board soundcard) effects remains a problem area, since the signals are arriving in real time, giving no opportunity for compensation. In this scenario, the only thing you can do is try to run your soundcard at its lowest possible buffer size, thereby producing a low latency value, bearing in mind that any DSP plug-ins you apply to an incoming signal will be subject to at least double this latency before you hear the results.

If your PC is struggling to manage a low enough latency for comfortable monitoring when recording, while at the same time playing back audio tracks using plug-ins, there is a way around this: temporarily mute most of the tracks and deactivate their plug-ins. Then you should be able to reduce your latency value during the recording and raise it again for mixing. Steinberg have also introduced the 'Constrain Delay Compensation' feature in Cubase SX 2.01, which temporarily disables compensation during VSTi and live audio recordings, to minimise delays.

Ultimately, it will always remain next to impossible to automatically compensate for plug-in delays in a multitasking computer environment, while at the same time providing low-latency input monitoring, since the two approaches are mutually exclusive. However, one possible solution would be to try running a dedicated DSP card such as the PowerCore or UAD1 alongside a DSP-assisted soundcard such as the Mixtreme or original Pulsar. This would allow 'zero latency' monitoring with DSP effects on your live input signals, with the option of further high-quality delay-compensated plug-in insert and send effects — possibly the best of both worlds!