Optimizing Windows for Audio
- Live Versions: All
- Operating System: Windows XP, Vista, 7, 8
Why should I optimize my computer, should it not just work?
While Microsoft Windows is synonymous with PC users all over the world, this unfortunately means that there are a huge combination of hardware settings, system settings, and audio settings that can affect the smoothness of audio playback on Windows-based computers.
When should I complete these steps?
If you are experiencing any pops, clicks, dropouts, distorted or stuttered audio, then you should take a look at the following steps to streamline your audio and minimise background processes.
Step 1: Update Live, plugins and drivers
Having Live, your plugins and your soundcard driver fully updated will make sure that any previous issues will, in most cases, be resolved. So before we begin this tutorial, please make sure you are running the latest version of Live, and your soundcard driver.
Likewise, running the latest version of your Plug-Ins will ensure that you are avoiding any older, known issues that have since been resolved.
Step 2: Setting your Driver
In Live, you have the option to choose a variety of audio drivers and on Windows, the best performing driver is ASIO.
Commercial soundcards will generally come with a custom ASIO driver that will be best suited for use with your hardware. You can choose this driver from Live's preferences under the Audio Tab:
Additionally, the third party audio driver, ASIO4ALL is available to download for free. It can be useful to those who may experience driver issues and have tested their manufacturer drivers without complete success.
Step 3: Buffer Size
The audio buffer size, measured in samples, refers to the 'slice' of audio that is processed by the soundcard at any one point. So at a setting of 256 samples, a chunk of audio 256 samples long is processed and sent through the soundcard outputs, finally heard as an audio stream through speakers.
The soundcard will then fetch the next batch of 256 samples, and repeat the process, as long as Live continues playback.
Because this cycle is continuous, you can see that the processing 'workload' on the soundcard is greater when the buffer size is smaller.
A larger buffer size on the other hand, will minimize this workload, but will also increase the amount of delay in time, or latency, while the audio signal is processing.
A recommended approach is to find a suitable setting by beginning at 128 samples, and doubling the value until you find a happy medium.
Keeping the value in multiples of 2 ensures that your computer processes the audio efficiently and therefore we highly encourage you to maintain buffer sizes of one of the following: 128, 256, 512 or 1024 samples.
It's possible to set the Buffer size in Live's preferences → Audio Tab, however depending on your soundcard, it might be necessary to click on 'Hardware Settings' to make the adjustment in the audio interface preferences. For related information on this topic, please see the this article:
Buffer Size can't be changed.
Some soundcards allow for change directly in Live.
With some brand soundcards, you may need to first close Live and then make this setting within your audio interface's Control Panel.
When the controls are greyed out in Live, the setting can be changed in the interface Control Panel
Step 4: Minimize CPU consumption from other programs
Many brand computers come with pre-installed utilities which run unnecessarily in the background. For best performance, it is recommended to use Live on a freshly installed operating system to minimize the amount of unwanted programs running.
It is possible to uninstall such programs from the Control Panel, in the Program's subsection.
Additionally, disabling the amount of programs that run automatically when Windows is starting, will further help the cause.
To view the startup programs :
- Start Button
- Type 'Run' to find the Run Dialogue (Windows button + R)
- Hit enter
Run on Windows
- Type 'msconfig'
- Click the 'Startup Tab'
- Disable any unnecessary programs, eg. messenger apps, idle programs.
Step 5: Disable Visual Effects on Windows 7
By default, Windows 7 will have the Aero graphics theme enabled which can tie up resources otherwise useful for your audio performance. To disable this theme, along with other unnecessary visual effects, please do the following:
- Right click on the Dekstop and choose 'Personalize' from the menu.
- From the Basic & High Contrast Themes section, select Windows Classic, or Windows 7 Basic.
- Select the 'Start' Button.
- Type 'Run' to find the Run Dialogue (Windows button + R)
- Type: "SystemPropertiesPerformance" and press Enter
- In the 'Visual Effects' tab, you have the option to select 'Adjust for best performance'. This will unmistakably make Windows 7 seem a lot less flashy as it disables animation, however if you are experiencing any graphics-related performance issues, this is a valid solution.
Visual Effect Options in Windows 7
After trying all of the above steps, and are still experiencing pops, clicks or drop-outs, then some detective work may be required.
Step 6a: Debugging with DPC Latency Checker
This great tool allows users to see a visual analysis of the computer's capability to handle the audio stream. Any processes that are disrupting the stream will be represented in Yellow or Red, whereas a consistent row of healthy Green columns means that the audio stream is steady and should be without any drop-outs.
It is free to download directly from here.
A steady row of green means represents a system well suited for real-time audio
Red and Yellow spikes indicate that there are problems that can potentially affect the audio stream.
Note: For Windows 8 users, the DPC read-out does not show correct values. The output suggests that the Windows 8 kernel performs badly and introduces a constant latency of one millisecond, which is not the case in practice.
More details on this can be found here, along with a more thorough guide to using DPC latency checker.
Step 6b: Debugging with LatencyMon
To further investigate the cause of audio drop-outs we can install another utility called LatencyMon, which is free to download here.
LatencyMon will begin a scan of all running processes by selecting the 'Start Monitor' (play) button to the top left of the interface.
As LatencyMon scans we can take a look at the 'Drivers' tab to locate the offending processes. By selecting 'Highest Execution', and ordering the list, we have an accurate reference of what processes are doing what. The main offenders will have high execution times and as you can see in the following image, the network driver NDIS.sys is taking a large toll on our processing resources.
Ordering processes by execution time allow us to see what is causes audio issues.
So what processes can I turn off?
This is in an important step, as some background processes are important to the running of your system, so it is not a matter of simply disabling the most expensive processes one by one.
Usually by simply searching for the process or file name online, we can get a solid indication of what it is.
Here are some examples, of what can be common causes to audio drop-outs.
- Wireless adapter searching for signal → disable Wireless
- Anti-Virus → Turn off internet disable Anti-Virus
- Bluetooth → disable Bluetooth
- Windows Scheduler → disable the process in XP, Windows 7
- Processor Scheduling → disable scheduling as explained here.
**Windows relies on certain background processes to run correctly. If you are unsure exactly what a process is doing, it is recommended to keep it enabled.
**Any changes made are done so at the risk of the user.
Step 7: More Efficient Power Options
PCs, especially laptops, can run at different levels of power, so to select the one that is best for audio performance, go to:
- Control Panel → System and Security → Power Options → High Performance.
- Select 'Change plan settings'.
- Set both options to 'Never'.
Turn off Power Plan Settings.
Step 8: Disable System Sounds
- Control Panel → Hardware and Sound → Sound.
- Under the 'Sounds' tab, select 'No Sounds'.
Disable Window's System Sounds.
Step 9: Set processor scheduling to "Background services"
This will improve your soundcard's performance on Windows:
- Control Panel → System and Security → System.
- Advanced System Settings → Performance → Settings.
- Advanced Tab
- Set processor scheduling as 'Background Services'.
Set processor scheduling to "Background services".
Make sure 'Allow the computer to turn off this device to save power' is unticked.
Defragment your Disk Drives
Data written to disk is generally assigned to the first available slot on the disk. If the file is quite large, which can often occur in the audio world, the file will reside on different physcial locations on your hard-drive.
Defragmenting is the process of re-organising the data beside each other, which can speed up the disk reading and writing process.
To Defrag your disk:
- Start Button → All Programs → Accessories → System Tools
- Disk Defragmenter
We have addressed the issue of good memory housekeeping in our article How to deal with RAM limitations.
Disable USB Port Power Saving
Windows 7 allows the computer to power off USB devices to save power. This can be handy when on a laptop, however in most audio applications this is not ideal. To disable this, do the following:
- Control Panel → System and Security → System → Device Manager
- In the Universal Serial Bus controllers:
- Right Click each USB Root Hub
- Choose Properties → Power Management
- Make sure "Allow the computer to turn off this device to save power " is unticked.