You are on page 1of 11

ASIO4ALL v2

Universal ASIO Driver For WDM Audio
- Instruction Manual -
Last reviewed: 08/15/08

Table of Contents
Introduction........................................................................................................................................................1
Getting Started................................................................................................................................................... 2
Setting up your audio software......................................................................................................................2
Basic Configuration.......................................................................................................................................3
Advanced Configuration.................................................................................................................................... 5
Common Usage Cases Optimizations................................................................................................................8
Using “ReWuschel”........................................................................................................................................... 9
Troubleshooting............................................................................................................................................... 10

Introduction
Welcome to ASIO4ALL v2! This manual enables you to make the most of your ASIO4ALL installation,
especially as it comes to the advanced features newly introduced in this Version of ASIO4ALL.

In order to achieve the best possible results with ASIO4ALL, it is recommended that your computer is
configured accordingly:
● Set the power scheme to “Always On” (XP) or “High Performance” (Vista) in order to turn off
Processor P-State switching! Advanced: Modify an existing power scheme so as to not switch CPU
speed, because other power settings are not that critical.
● Turn off system sounds! While e.g. the Windows logon sound certainly will not be a problem,
sound effects in response to button clicks, notifications etc. will mean that for the time they play,
ASIO4ALL may be unable to initialize the audio device.

For updates, help and further information, please visit:

http://www.asio4all.com/ - ASIO4ALL Web site
http://mtippach.proboards40.com/ - Support forum

if necessary! Sometimes. How you would do this depends on your particular software application. you would always enter the audio configuration menu and select ASIO -> ASIO4ALL v2. the ASIO4ALL control panel should appear. How this button is labeled depends on your particular software. the audio software indeed would not provide an ASIO control panel option.you can now proceed with some basic configuration.g. you need to configure your audio software accordingly. Note: Where it is possible to access the ASIO control panel from within the audio application. There now should be a button to launch the ASIO control panel. You can disable balloon notifications by switching to “Advanced” mode in the ASIO4ALL control panel. The tray icon will become visible whenever an application initializes the ASIO4ALL driver. If there is no tray icon. Once you press this button. you can launch the control panel by clicking on the ASIO4ALL status icon in the System Tray area . some ASIO output plugins in media player software. you should use that option instead of clicking the tray icon! Changes made in the control sometimes may not have an effect until you restart the audio application. Once you made it into the ASIO4ALL control panel – one way or the other . application. Generally. your audio application is not currently using the ASIO4ALL driver.Getting Started Setting up your audio software In order to make use of ASIO4ALL. This is the case for e. . For configuring ASIO4ALL with these applications anyway. Please consult the manual of your audio software for further assistance.

this means that you do not have a single WDM audio device in your system. whenever the device does not report its current availability or the lack thereof back to ASIO4ALL. Please check with your audio hardware manufacturer for a WDM driver! . such as by another audio application or by the dreaded “MS GS Software Wavetable Synth”.Basic Configuration Illustration 1: Basic Control Panel View 1. It can be either of these: Active The device has been successfully started by the audio engine. Device List This is the list of WDM audio devices found in your system. Highlight the device that you want to make changes to. this can also mean the same as “Unavailable”. The current state of each device is shown as a small icon on its associated button. Note: If the device list is empty. closing and re-opening the control panel may cure the situation. Sometimes. the High Definition Audio Device would be enabled while all others are not. Note: All parameter changes always only apply to the currently highlighted device! Activate the device you want to use by clicking on the button next to the device name! In the picture above. as may unplugging and re-inserting of USB devices. Inactive The device should be available for use in this session but has not been started yet Unavailable The device is in use elsewhere. Sometimes. a MIDI output option you should never use! Beyond Logic You get this if the device for some unknown reason refuses to start and/or displays erratic behavior of any kind.

Thus. Load Default Settings Pressing this button will reset all configuration options to their initial defaults. Switch To Advanced Mode Switches the control panel into “advanced” mode. Use when audio initially worked and you later got lost in the configuration process. Smaller buffer size means lower latency. . 3. ASIO Buffer Size Use the slider to adjust the ASIO buffer size for the device currently highlighted. “Advanced” mode is explained in the “Advanced Configuration” section of this document. Once you hear crackles or audio becomes distorted.2. ASIO buffer size directly relates to audio latency. you want to get a rather small value here. where you can fix things or completely mess them up at your disposal. 4. you need to increase the buffer size.

Using the button next to each entry. 5. You will have noticed that the items in the device list are now expandable. Note: In multi-device-setups the largest respective value of all devices will be used. Multi-device-setups require that all the devices involved are running from the same clock source.. you can now selectively enable/disable each particular item in the device list. you can now fully explore the WDM audio architecture of your system.9). Note: If devices are not accurately synced. things begin to look a little more complicated. audio placement will not be accurate for some devices! . which is trivially true for the USB host controllers embedded in the south bridge on any mainboard. Latency Compensation Since ASIO4ALL does not have sufficient knowledge of the underlying hardware/driver architecture. Therefore. By expanding the device list. their audio streams are likely to drift apart over time! On the right side of the panel are the advanced controls (5. if different devices have different inherent latencies. This way. You can achieve this by daisy-chaining devices via S/PDIF etc. Fortunately. The figure above illustrates how they interrelate in the WDM KS hierarchy. Device Interfaces and so called “Pins” (this is Microsoft(r) lingo). With these sliders you can compensate for the latencies unknown to ASIO4ALL such that recordings in your sequencer Software are properly aligned with the rest. The device list contains Devices. most USB devices will automatically synchronize themselves for as long as the host controllers they are connected to have a common clock source.Advanced Configuration Illustration 2: Advanced Control Panel View Once the control panel has been switched to advanced mode. you can also create multi-device-setups. it can only guess the actual latencies involved.

In addition. Sound complicated already? You haven't even seen the code that calculates this. ASIO4ALL will never use “pull-mode”. be able to achieve a setting that is very close to zero (“4ms” would still be considered “very close to zero”. the initial setting of “2” should only be changed on less powerful machines.. there may be an option in your sound card control panel that reads “DMA Buffer Transfer Latency” (Seen with Terratec products) or similar. Each additional buffer increases the output latency of the device by the time it takes to play one buffer. This. the default. whereas “pull-mode” wasn't even officially documented by Microsoft until almost one year after Vista went RTM. In multi-device-setups. Kernel Buffers/Buffer Offset If hardware buffering is disabled.8 behavior for this option was as if checked! checked! If you check this box and there are no problems. while “10ms”. would indicate that there is room for improvement. lower settings have the adverse effect. “Allow Pull Mode (WaveRT)” There are two basic access methods for a WaveRT device. “pull-mode” is still broken in a number of instances. this control lets you add up to two more buffers to be queued for audio output. Hardware Buffer on/off Note: For WaveRT drivers (Vista). You should set this to the lowest possible value. Note: The old ASIO4ALL 2.g. however. where reasonably small ASIO buffer sizes cannot be achieved with the default setting. As a consequence. Hardware buffering works best for rather small ASIO buffer sizes. You should. “pull-mode” provides tighter timing and is generally thought to be technically better than “push-mode”. If hardware buffering is enabled. “push-mode” is thought to be supported by all WaveRT drivers and (Vista) OS platforms. e. it is possible to mix Hardware-buffered devices with devices that are not. Therefore. “pull-mode” (also called “event-mode”) and “push-mode” (also called “polling mode”).. This only works for so called “WavePCI” miniports. there will be an additional latency of a couple hundred milliseconds. which is clearly audible. .) With Envy24-based PCI-sound cards. otherwise it will use it whenever possible. Adjustment for best hardware buffer performance involves the “ASIO Buffer Size” slider and the “Buffer Offset” slider (see below). as other types of WDM drivers do not usually allow direct access to the hardware buffer. As a general rule: Higher settings increase latencies and stability.6. “1ms” for best results. Try something between 128 and 256 samples as a starter! The biggest advantage of using the hardware buffer is that this method uses a lot less CPU. this control determines the amount of clearance (in ms) between where ASIO4ALL will insert data into/read data from the hardware buffer. it may be possible to decrease latencies even further. keep it checked for better performance! 7. If it works. this box is labeled “Allow “Allow Pull Mode (WaveRT)” (WaveRT)” instead! Enables the hardware buffer for the highlighted device. however. and the position where ASIO4ALL currently thinks the hardware read/write position is. If this box is left unchecked. is not particularly recommended! If hardware buffering is not supported by a particular audio device.

you can enable this option. Resampling will automatically take place whenever ASIO4ALL is opened for 44.1 kHz at all.1 kHz and the WDM driver does not support this sample rate. Some AC97 devices report e. this option provides a workaround.1 kHz by resampling internally. More often than not. To work around this. Force WDM driver to 16 Bit This option only has an effect if the supported bit depth of the WDM driver is larger than 16. be instances in which case an AC97 will support 44. There may. this was introduced as a workaround for an issue with the SigmaTel AC97 WDM driver. however.8. 9.1 kHz audio to/from 48 kHz. but less than 24. however. Always Resample 44. 20 Bits resolution but cannot actually be opened for more than 16 Bits resolution. Should this be the case on your system. .1<->48 kHz ASIO4ALL can do real time resampling of 44. this option absolutely must be enabled in order to make it work at 44. AC97 resampling quality is extremely poor and/or prone to stability issues. With at least one incarnation of the SoundMax WDM driver (smwdm.sys).g. Originally.

Common Usage Cases Optimizations • Playing Software Synths Live In this scenario. you do not need audio inputs. as always. Thus. Therefore. in this scenario you do need inputs. Hence. To disable channels. you should disable all channels you do not want to use. expand the items in the WDM device list and disable everything you do not want to use in this setup! • Computer As Effects Processor Obviously. it is recommended that you relax the latency requirements a little and work with an ASIO buffer size that feels comfortable with all your favorite VST plugins active. audiophiles prefer ASIO output over DirectSound or MME. you probably want to check that recorded audio is aligned properly. which normally will provide you with a better stability at very small ASIO buffer sizes. ASIO4ALL allows for bit transparent audio where the Windows driver stack does not. use the advanced control panel. set the ASIO buffer size to the maximum and be happy! . make the necessary adjustments in the “Latency Compensation” section in the advanced settings dialog. In these scenarios. or allow smaller buffer sizes in the first place.1KHz resampling if it is not really necessary! • General Purpose Sequencer Setup Normally it matters most that you do not get any dropouts even when the CPU load goes through the roof. you would make sure that all inputs are disabled. • Latency Does Not Matter A Lot In certain configurations. Disable 44. if not. latency is of little concern and audio input is not asked for. and. in which case dropouts are a little worse than just moderately annoying. If your sequencer provides latency compensation. you best disable them all. which most likely does mangle audio data. Further. you should also disable all audio outputs you do not really need. This especially applies when you are recording audio. But. Naturally.

you cannot use ReBirth in Reason. Reason. but support ReWire. This makes sense for applications that only allow for ASIO output. Then: Create->ReBirth Input Machine . in order to get real-time audio input in Reason. In order to re-enable ReBirth input for Reason you need to re-install ASIO4ALL with the ReWuschel install option left unchecked! .Using “ReWuschel” If you selected the ReWuschel install option. Note that.that's it! The ASIO4ALL inputs are now mapped to the outputs of the ReBirth Input Machine. One such application is Reason. the audio inputs ASIO4ALL provides to your host application are now also accessible as ReWire inputs. once you have ReWuschel installed. you need to make sure that ASIO4ALL v2 is the current ASIO driver. Now.

. when switching from another driver to ASIO4ALL v2. • Changes made in the control panel do not propagate between different audio applications . The ASIO4ALL Web Site has further information on that. try to restart the audio host application. Once successfully installed.k.”) can be ruled out as the cause. Without any software mixing . unplug the device.. there simply are no hardware mixing capabilities at all. everything looks o. the number of available input and output channels is likely to change. it is always advisable to restart your audio host application after any change in the audio device setup whenever you find that the particular application does not appear to be able to handle these kinds of changes on the fly. the first two or more ASIO channels will be routed to SPDIF. Most of the time. if you use the default configuration. but due to its various configuration options. close the ASIO4ALL control panel. Most notably. can act like a chameleon. .. Therefore. • Cannot play sound from another application when ASIO4ALL is active This by design. please log on as Administrator and install ASIO4ALL v2 again. as well as the names of the channels that are seen by the host application. As a consequence. . You can change this by either disabling the SPDIF output in the ASIO4ALL control panel or correctly assigning ASIO channels in your audio application. Sometimes. As close to the hardware as possible means that all the software mixing provided by Windows will be bypassed. if you change the device setup in the ASIO4ALL control panel. the previous driver will not release the audio device in time.Neither do they propagate between different users! This is not a bug. • (Vista) The meters are moving. If the device is an USB/PCMCIA/FireWire device..DLS Synth. If any such “Software Wavetable Synth” (sometimes in disguise as “.. with the exception of “user666” him/her/itself.But there is no sound Drivers for High Definition Audio devices have a habit of listing SPDIF outputs before the analog ones. • Audio device flagged as “Unavailable” or “Beyond Logic” even though it is not in use elsewhere You want to make sure the “MS GS Software Wavetable Synth” or anything by a similar name is not enabled anywhere in you MIDI setup. there are numerous things that can go wrong without ASIO4ALL being at fault. In the latter case.Troubleshooting Since ASIO4ALL presents itself to the audio software as a single ASIO driver. This further allows having ASIO4ALL run in educational/computer lab type environments without “user666” being able to f**** things up for any user on the same machine. ASIO4ALL v2 should not require Administrator privileges anymore in order to run. it's a feature! ASIO4ALL v2 stores settings per host application/per user! This makes it possible to have several instances of ASIO4ALL run at the same time for as long as they do not try to use the same piece of audio hardware exclusively. More potential problems and possible solutions: • ASIO4ALL v2 not visible in host audio configuration menu There are two possible reasons for this: Either your audio application does not support ASIO or you installed ASIO4ALL v2 as an underprivileged user.and the associated latency and bit mangling - you are stuck with the hardware mixing capabilities of your audio device.. plug it in again and re-open the ASIO4ALL control panel.

Earlier Versions of ASIO4ALL did not make this attempt at guessing. All trademarks are the property of their respective owners and used for product identification purposes only.e.. Perceived) latencies are at least as good as with earlier versions and on top of that. Either way. This document contains statements that may/may not be true. I shall not be held responsible for any of that. that is. . If the guess was correct.. The true (i. This support is still a bit under development and will be improved as time passes. they do not change anymore when CPU utilization goes up! Copyright 2004-2008.g. but rather the represent the whole of driver/OS/hardware inherent latencies. so you may obtain a smaller latency display with v1.• The latencies displayed in e.x and other WDM->ASIO wrappers. or the urge to do weird things to domestic animals. Particular combinations of colors or black and white contrast may/may not cause epilepsy. Michael Tippach. ASIO4ALL supports the latency compensation features of ASIO hosts that perform latency compensation. The values reported here are not just the latencies ASIO4ALL adds to the audio stream. Cubase SX 3 do not match the values that would result from the ASIO buffer size. nausea.