In my PC Musician feature of SOS June 2003, I explained how the various PC resources (CPU, RAM and hard drive) are used up by audio tracks, soft synths, soft samplers and so on, to help PC users decide on the spec that would meet their needs when buying or building a new model. However, many musicians face the opposite dilemma: they have a PC that has problems running some songs and are not sure whether they need to upgrade their soundcard, install more RAM, buy a faster processor or get a larger, faster drive to resolve them.
As you can see from the SOS Forum survey results in the box on page 70, there's no such thing as a typical song, so if you're in the situation described above you need to do a little detective work to find out what's causing the problems in your particular case. To help, I decided to take some typical problems reported by SOS Forum members, explain their most likely cause and point out the best solution, as well as offering temporary workarounds for those who can't afford to upgrade at the moment or have a project that urgently needs to be finished.
The Problem: "I'm having big problems ever since I bought Spectrasonics' Atmosphere to plug into my Fruity Loops Studio software. It takes up a lot of space on my hard drive (3GB) and it's now come to the point where, if I add more than, say, six channels of it into FL Studio, the whole piece stutters so much that I can't play it for more than three seconds. The CPU meter also hits 100 percent every time it starts stuttering. I have 512MB RAM in my computer. Should I get more? I think my processor is running at 3.19GHz. If I don't need more RAM, would an external soundcard be the answer? (I have a laptop.)"
The Diagnosis: This user suspects his RAM, processor and audio interface. As an Atmosphere user myself, I instantly know which of these three is the real culprit: lack of RAM. This is simply because Atmosphere (and its stablemate Trilogy) load their patches entirely into system RAM and each one can consume up to 125MB. With six instances, a PC that has 512MB RAM could well be struggling, and once the RAM is nearly all in use Windows will start to ferry whatever data it can to virtual RAM (a cache on your hard drive). Thus every time the song tries to access a different Atmosphere patch, some of the data may have to be retrieved from the hard drive — hence the severe stuttering. The CPU meter hits 100 percent because the PC can no longer process the song in real time, due to the extra time it takes to keep reloading that data.
If you suspect that lack of RAM may be the cause of your own problems, there's never any need to guess, or to blindly upgrade just in case — just load in your most complex songs and monitor their RAM usage for yourself. You can read the Available Physical Memory in Kilobytes from the Performance page of Windows Task Manager. However, I've always found that the freeware Cacheman utility (www.outertech.com) provides a much clearer and easier-to-use display of both Physical and Paging File memory, as a percentage bar-chart, so you can see at a glance what proportion of your RAM is already used and what remains (see screen on left). Just launch this periodically to see how much RAM is still available.
Out of interest, I ran Cacheman as soon as I reached the Windows XP desktop on the Internet-enabled General Purpose partition of my PC, and 300MB (30 percent) of my 1GB total had already been used up. However, on my stripped-down, music-only partition, only 200MB (20 percent) had been used. An extra 10 percent of available RAM is well worth having, and it's yet another reason to create a multi-boot setup.
Once I'd loaded Gigastudio 3.1, the 'RAM in use' percentage rose to about 30 percent, and to about 40 percent once I'd launched Cubase SX 3.1, leaving my system with 600MB for instruments. My typical projects have about half a dozen soft synths and the same again of Giga instruments. As long as I'm careful, I can keep loading stuff in until the Cacheman memory gauge reads 99 percent without any juddering or other mishaps.
The Workarounds: Once a RAM shortage is indicated, the obvious cure is to install more RAM, although there are some limitations when running Windows XP, if you need more than 2GB (see PC Notes May 2005 for more details). Some soft samplers offer engine adjustments that reduce RAM consumption in favour of more CPU load, which may be worth a try if you're a heavy sampler user.
If you're running close to the edge with RAM, try saving your song, closing your sequencer, and then relaunching it and reloading your song. If you've been making lots of edits and trying lots of soft synths, Windows may be caching unused data that will be released using this method. However, the easiest way to release RAM is to choose different soft synths — as you can see from the chart below, some can need only a few MB per instance, while others can swallow 100MB!
The Typical Song?
With this in mind, some months ago I organised a small survey on the SOS PC Music Forums, to find out just what the spread was. You can see the results so far in the screenshot on the right, and if you want to add your votes you can still do so, at www.soundonsound.com/forum/showflat.php? Cat=&Board=PCMus&Number=217340.
As you can see, a large majority of musicians who replied seem to use between 10 and 30 audio tracks and mostly one or two plug-ins per track, but occasionally three or four, and very few software sampler instruments. However, there's a huge variation in the typical number of soft synths used in each song, although most people seem to use less than eight.
Given the very different demands of specific soft synths, few musicians are therefore likely to stress their PCs in exactly the same way. However, if your PC is set up sensibly, and isn't running loads of background tasks, we can deduce from the results of the survey that everyone who took part should find a lowly single 5400rpm hard drive quite sufficient to fulfil their audio track requirements and would probably get away with 1GB of RAM (although 2GB is always welcome, as memory doesn't cost that much nowadays).
The limiting factor in most cases is likely to be processing power, which is why so many musicians find their sequencer 'freeze' functions so handy, as these let you return the CPU overhead of a track to the pool, by converting the track to a new processed audio version.
The Problem: "My Cubase SX audio glitches when it's playing back just one audio track, when there are another 52 muted. I'm using my Audiophile 2496 ASIO driver and have a 3.2GHz Pentium 4 PC with 1.5GB RAM."
The Diagnosis: Here's an intriguing one. You wouldn't expect any PC to have problems replaying a single audio track. The twist in this tale is that while the muted audio tracks aren't contributing to the mix, they are still being streamed by Cubase, just in case you hit those mute buttons and want the tracks instantly added to your mix. Whichever sequencer you use, you can confirm such behaviour either by watching its Disk Meter load, or by saving your song, deleting all but the one track and trying again. Your hard drive should now show minimal loading. Even the CPU overheads of plug-ins used by muted tracks are still weighing down your song, whether you hear them or not, although in this case you can temporarily disable them via their on/off switches.
So in reality this person is running 53 audio tracks and, assuming that these are 24-bit/96kHz, is beginning to aproach the limits of most single 7200pm hard drives. I've personally managed to run 76 mono 24-bit/96kHz tracks on my Seagate Barracuda SATA 80Gb ST380013AS audio drive before it ran out of steam, but this was with long tracks, each lasting the whole duration of a song. With shorter parts being dropped in and out, some audio editing and some inevitable file fragmentation, this figure will certainly drop.
If you're also running a soft sampler such as HALion or Kontakt inside your sequencer, this can greatly increase the load on your hard drive. You need to be especially careful if you're running a separate soft sampler such as Gigastudio, since its additional load (both CPU and Disk) may not show up on your sequencer's performance meters.
There's another fairly common reason for a hard drive to conk out when it's only playing back a couple of dozen audio tracks. This problem is often exhibited as intermittent glitches (even though the sequencer's CPU meter displays a low overhead reading), and it's due to an unsuitable Buss Master DMA mode. You can check this inside Device Manager:
Select 'View Devices By Connection'.
Locate the Storage Controllers on the list, expand their entries, and you'll find your hard drives and optical drives attached to either Primary or Secondary Channels.
Right-click on the Channel connected to each drive and select 'Properties'.
Click on the Advanced Settings tab. For each of the two devices that can be connected to each channel you'll find a Device Type (normally set to 'Auto Detection'), and a Transfer Mode, which should read 'DMA if available'.
If it reads 'PIO Only', your hard drive will be running well below par, so change it to the other setting, click on the OK button and then reboot your PC. (When this Transfer Mode does read 'DMA if available', the 'Current Transfer Mode' box beneath it should typically display 'Ultra DMA Mode 5'.)
A quick way to check the performance of your hard drive is with a utility such as Dskbench (www.sesa.es/us/dl/dskbench.zip) or HDTach (www.simplisoftware.com/Public/index.php?request=HdTach). These will show up whether or not your hard drive is using the most suitable DMA mode. You should achieve an average or sustained read speed of at least 40MB/second with most modern hard drives, with a CPU utilisation of two percent or less.
The Workarounds: If your hard drive is operating in the correct mode but you still regularly find it beginning to struggle, there are several ways forward. For a start, defragmenting your audio drive may improve matters (although occasionally this may make things worse — see PC Musician June 2005 for more details).
If you're running a VST soft sampler and have plenty of spare system RAM, you may be able to offset some drive load into this, courtesy of its disk-streaming parameters. Alternatively, it may be time to investigate the partitioning options I discussed in the 'Partition Decisions' feature in SOS May 2005. Creating a separate partition just large enough for the current project, on the fastest 'outside' portion of your drive, may let you run more audio tracks without spending any more money at all, assuming that you've already got a suitable partition utility, such as Symantec's Partition Magic, Paragon Software's Partition Manager, or Acronis' Disk Director Suite.
In the long term, you should also ask yourself whether you can actually hear the improvements offered by higher sampling rates such as 96kHz on your system. Remember that not only will these more than double the hard-disk load over using a 44.1kHz sample rate, but also that any plug-ins and soft synths you use will consume more than twice as much CPU overhead, as proportionally more calculations are needed per second. At the very least, anyone whose final format is to be Red Book Audio CD should consider moving from 96kHz to 88.2kHz on future projects, if their audio interface offers that sample rate. This will reduce drive loading by over eight percent.
If you're running absolutely loads of audio tracks (one SOS Forum poster admitted to a song containing 330, but with only 50 to 75 at any one time!) you should perhaps take a closer look at your working methods, unless you're mocking up an orchestral score and layering multiple instruments for each part. If this isn't the case, perhaps rethinking your working methods will result in significantly less hard drive torture.
However, ultimately it may be time to invest in faster hard drives: a 10,000rpm model should boost your audio track count significantly, or you could investigate RAID (Redundant Array of Independent Disks) by installing two identical drives configured as RAID 0, to potentially double the overall transfer rate. Just remember that your data is more precarious on such a system, because it's spread across multiple drives. Also bear in mind that both 10,000rpm and multiple drives are likely to increase the overall acoustic noise level of your PC.
Soft Synth Overheads
As discussed in the main text, running out of processing power is probably the most likely reason why songs might start glitching or coming to an untimely halt. Buying a faster processor, or a completely new PC with faster everything, is the obvious answer. However, not all of us can have that luxury, and fortunately there are various other things you can do to stretch the CPU you do have as far as possible.
Adjust Sequencer Settings: Some sequencers (Cubase, for instance) provide a similar 'Restrict Polyphony' function, this time shortening any overlapping notes when required, to avoid overstepping the mark. However, this may produce audibly different results than directly capping the soft-synth polyphony, because the soft synth may have more sophisticated algorithms at its disposal to determine which notes are least likely to be noticed when removed.
Examine Sustain: If you've used a sustain pedal during your performance, it can often be difficult to know what the true polyphony of your track is, so look for special functions in your sequencer, such as Cubase's 'Pedals to Note Length', which scans for MIDI sustain controller on/off commands, lengthens affected notes to match the pedal 'off' position and then deletes the sustain commands. Once you see the true length of your notes it may become obvious why a particular track is so resource-hungry!
Select Appropriate Instruments: Each soft synth takes a different number of CPU cycles for each note, depending on how many oscillators, filters, LFOs and so on it uses, or the complexity of its physical modelling. Spend a little time getting to know the appetites of your favourite soft synths, so you can bear this in mind when choosing your sounds. For instance, I love the AAS String Studio software, but its physical modelling can eat processors for breakfast, so I only use it for exposed 'lead' instruments. Take a look at the chart below for a breakdown of how a selection of different soft synths compare.
The Problem: "I have a PC laptop with a 2.8GHz P4 processor and 1GB of RAM. Recently I've been using a lot more VST Instruments than I usually use in Cubase SX 2 and also in Fruity Loops. My CPU use hits around 50 percent and is fine for a couple of minutes, then will suddenly jump to 95 or 100 percent, where it stays (slowing the computer down immensely) until I finally close Fruity Loops or Cubase (stopping the song from playing doesn't help). I've loaded the same song on my housemate's 1.8GHz Athlon desktop, it only registers 40 percent on his CPU meter and the spikes and crashing aren't an issue. What's going on? Is this a Pentium 4 issue, an overheating issue, or possibly a problem with some software on my computer?"
The Diagnosis: Some PC laptop owners have experienced their CPU meter slowly rising for no apparent reason, and the surprising cause turns out to be overheating due to dirt and muck completely clogging up the cooling fans underneath the laptop. As the processor temperature rises, the processor clock speed is automatically throttled down to prevent damage. The cure in such cases is either to have the computer dismantled and properly cleaned by the manufacturer, or to attempt DIY cleaning using compressed air or a vacuum cleaner.
However, in this case the CPU rise is sudden, which points instead to 'denormalisation' problems (discussed in PC Notes October 2002 and affecting several processors, most notably the Pentium 4 range). Most plug-ins have long since been tweaked to avoid the issue, but if your CPU usage suddenly jumps at the same specific point in the song each time, this could be when an elderly plug-in causing the problem has an extremely low audio-input level or silence to deal with. You can track down which one by selective disabling, and cure it by inserting a corrective plug-in such as Sascha Eversmeier's freeware Normalizer (www.digitalfishphones.com/binaries/normalizer_PC_Win.zip).
Another major cause of laptop CPU problems is the increasing sophistication of technologies such as Speedstep, Smart CPU and Cool 'n' Quiet, used by processor manufacturers to minimise the power consumption of their products. These work by throttling CPU clock speed down to a lower value when you're not using 100 percent of your processor, as well as in some cases reducing CPU voltage and fan speed, keeping temperatures and fan noise down and extending laptop battery life.
Although these are wonderful features for most computer users, unfortunately musicians have to battle with the audio consequences of them — such as clicks, pops or longer interruptions. These normally happen when the CPU clock speed is ramped up or down, so the safest option is to disable such behind-the-scenes trickery and leave your CPU at its top speed. Some laptop users have also found their CPU being reported by Windows as having a much slower clock speed than the one they bought — once again, this could well be due to throttling.
The easiest way to ensure maximum performance is to open the Power Options applet in Control Panel and select the 'Always On' Power Scheme. If you want a more versatile way of switching between the various Power Scheme options, including those normally hidden from the user by Windows XP, try downloading the Speedswitch XP utility (www.diefer.de/speedswitchxp/index.html) that I discussed in some detail in PC Notes December 2003. You may also want to disable any special drivers involved in throttling, if there's such an option.
The Workarounds: Apart from the issues just mentioned, most CPU 'maxing out' problems are simply a result of attempting to run more plug-ins or soft synths than your PC can handle. Since soft synths are the most likely culprits, I've dedicated a box to Soft Synth Overheads (on page 72). Elsewhere I also mention track 'freezing' and reducing project sample rate, as the most radical cures.
However, there's another step you can take before having to get out your credit card to upgrade your processor or buy a DSP card such as the TC Powercore or Universal Audio UAD1. It's now fairly well known that below about an audio buffer size of about 12ms the CPU load rises due to ASIO driver overheads, so if you're running out of CPU and using a latency of less than this you'll reclaim processing power by changing the latency value. If you're running at 3ms or below you may be able to reduce your CPU load by 50 percent or more!
CPU & Disk Meters
Steinberg's Cubase range doesn't actually measure CPU overhead, but instead times how long it takes to calculate all the plug-in and soft-synth contributions in your song, mix them together and use this data to fill one of your audio interface buffers. If (for instance) you've set your buffer size to 6ms and the calculations required to fill it take 3ms, then the meter will read 50 percent. Similarly, drive meters measure the time taken to retrieve the audio data that needs to be sent to your audio interface and compares it with the total available. A few applications 'hang on' to remaining CPU time, so while their own CPU meter may register a realistic figure, the Windows one remains permanently at 100 percent.
Judging by posts on the SOS Forums, quite a few musicians point the finger of blame at their audio interface when songs run into problems, but apart from occasional driver issues the interface is rarely the culprit — except at low latency. As mentioned in the main text, if you reduce your interface buffer size below about 12ms your CPU overhead will nearly always rise, and will do so radically below 6ms. So to rule out your interface from song problems just increase latency to 12ms or above, if only temporarily.
Nevertheless, some musicians have, over the years, complained that a song they were working on one evening that played back perfectly won't do so without severe glitching when they load it up the next morning. Others may find this scenario hard to believe, but a new benchmark is now demonstrating that this behaviour is indeed possible at low latency with some interfaces (see this issue's PC Notes column for more details).
If your songs suffer from occasional clicks and pops you should note down when the clicks happen and what you (and your song) were doing at the time. If the clicks are fairly regular it could be a background task cutting in, so examine the ones that are running, using Windows' Task Manager, and try temporarily stopping them, to see if that cures the problem. If clicks only happen on some songs and not others it could be a rogue plug-in or soft synth. You can temporarily move the contents of your VST plug-ins folder elsewhere and methodically move them back until the problem recurs. If the clicks seem totally random, the problem might unfortunately be some incompatibility between your audio interface and another hardware component in your PC, so try searching on-line audio forums for anyone suffering from similar problems.