ASIO4ALL - Universal ASIO Driver For WDM Audio

A4A News

Project Brief

Forum

FAQ/Troubleshooting

History

Acknowledgments




07 October 2014: Version 2.12 released!

  • Combined 32/64 bit version, supports Win 98SE/ME/2k/XP/MCE/2003/XP64 and Vista/Windows 7/Windows 8.x x86/x64

  • This is mostly a bug fix release on top of 2.11 with no significant new functionality.

ASIO4ALL 2.12 - English
ASIO4ALL 2.12 - French (Translation: Guillaume Fallet)
ASIO4ALL 2.12 - Italian (Translation: Gianfranco Minischetti)
ASIO4ALL 2.12 - Portuguese (Translation: Marco Sa)
ASIO4ALL 2.12 - Russian (Translation: Egor Petrov)
ASIO4ALL 2.12 - Spanish (Translation: Ezequiel Festa)
ASIO4ALL 2.12 - Turkish (Translation: A. R. Eren)
ASIO4ALL 2.12 - Deutsch
ASIO4ALL 2.12 - Chinese (English manual)

Changes since version 2.11
  • Fix: Exception in background thread.

  • Fix: Long application startup time and, on occasion, device sample rate range demotion.

  • Fix: Outputs may remain unavailable if there is more than one output device active.

  • Workaround: Blue Screen "stdriver64.sys" / all devices marked "Beyond Logic" inside 32 bit host under 64 bit Windows. Caused by third party audio capture software, even after deinstallation of said software. The workaround is part of the ASIO4ALL installer, meaning you may have to re-run the installer, should the problem occur at any later time.

  • 20 June 2014: Important!


    There has been a mixup with the 2.11 downloads that has been corrected now. If you downloaded your ASIO4ALL 2.11 before having read this, please re-download and re-install!
    Symptom of an old (broken) download would be stuttering playback with x64 hosts. Sorry for the inconvenience!


    17 June 2014: Version 2.11 released!

    • Combined 32/64 bit version, supports Win 98SE/ME/2k/XP/MCE/2003/XP64 and Vista/Windows 7/Windows 8.x x86/x64

    • After more than 4 years, of course, this is a *major* update!

    ASIO4ALL 2.11 - English
    ASIO4ALL 2.11 - French (Translation: Guillaume Fallet)
    ASIO4ALL 2.11 - Italian (Translation: Gianfranco Minischetti)
    ASIO4ALL 2.11 - Portuguese (Translation: Marco Sa)
    ASIO4ALL 2.11 - Russian (Translation: Egor Petrov)
    ASIO4ALL 2.11 - Spanish (Translation: Ezequiel Festa)
    ASIO4ALL 2.11 - Turkish (Translation: A. R. Eren)
    ASIO4ALL 2.11 - Deutsch
    ASIO4ALL 2.11 - Chinese (English manual)

    Changes since version 2.10
    • Improvement: Make an attempt to reclaim an unavailable audio device, includes workaround for a (confirmed) Windows bug.

    • Improvement: Add general fixed factor resampling capabilty

    • Improvement: Latencies now displayed for the preferred buffer size, if host elects to violate the spec.

    • Improvement: Support for single common sample rate that is *not* a multiple of 8 or 11.025

    • Workaround: Realtek PULL mode not supported for "odd" ASIO buffer sizes. Symptom was a "Beyond Logic" error depending on ASIO buffer size.

    • Fix: Potential application compatibilty issue regarding ASIO reset request message

    • Fix: Increased latency in x64 mode

    • Fix: Pull mode _and_ latency display now working

    • Fix: ASR issue with MSVC 2013 x64 -> Performance impact with hosts compiled with MSVC 2013

    • Fix: UI appearance with different system locale

    • Fix: Hang with some x64 hosts

    • Fix: Crash on exit of A4Apanel64.exe

    • Fix: Minor memory leak

    • Fix: All known 2.11 Beta(1,2) regressions fixed!


    07 June 2013: Version 2.11 Beta 2

    • 2.11 Release Candidate

    ASIO4ALL 2.11 Beta2

    Changes since version 2.11 Beta 1:

    • Make an effort to take back control over blocked ("unavailable") audio devices.

    • Fix minor resource leak.

    • Fix regression in 2.11 Beta 1: Function of the "Always Resample" checkbox was inverted.

    • Remove excess outputlatency under the followingconditions: (1)64 bit host (2)upsampling 44.1 -> 48kHz (3)WaveRT polling mode.

    • Fix output audio glitches in 64 bit version when upsampling by integral factor.

    • Fix a4apanel64 crash on exit (not that anyone would have noticed)



    04 February 2012: Version 2.11 Beta 1

    • Finally, something new for you to mess around with!

    ASIO4ALL 2.11 Beta1

    Changes since version 2.10:

    • Support multiple sample rates concurrently - for as long as they are physically derived from a common master clock, are integer multiples of each other (except 44.1/48kHz special case), etc...

    • Support a number of sample rates on the ASIO side that the audio device does not physically support. Basically, this means an extension to the on-the-fly rate conversion capabilities.

    • Fix a regression introduced in 2.10 related to input device aggregation

    • Minor stuff, as usual...



    12 June 2010: Version 2.10 released!

    • Combined 32/64 bit version, supports Win 98SE/ME/2k/XP/MCE/2003/XP64 and Vista/Windows 7 x86/x64

    ASIO4ALL 2.10 - English
    ASIO4ALL 2.10 - French (Translation: Guillaume Fallet)
    ASIO4ALL 2.10 - Italian (Translation: Gianfranco Minischetti)
    ASIO4ALL 2.10 - Portuguese (Translation: Marco Sa)
    ASIO4ALL 2.10 - Russian (Translation: Egor Petrov)
    ASIO4ALL 2.10 - Spanish (Translation: Ezequiel Festa)
    ASIO4ALL 2.10 - Turkish (Translation: A. R. Eren)
    ASIO4ALL 2.10 - Deutsch
    ASIO4ALL 2.10 - Chinese (English manual)

    Changes since version 2.10 beta 1:

    • Fix a number of relatively minor application compatibility problems

    • Remove item redundancies in the GUI WDM device tree. Fix issue that certain configurations (e.g. "Disable all outputs") would not be saved/restored.

    • Improve audio device surprise removal recovery. Now typically the response to removal/re-insertion of an (USB, ...) audio device would be to recover from the event and resume audio streaming.

    • Workaround for full-duplex issue with Realtek HD audio drivers on certain Acer laptops.

    • General, but minor performance improvements under Vista and Win7.

    • Default audio device configuration changed to skip HDMI audio.



    3 December 2009: Version 2.10 Beta 1


    >> Download <<


    Changes since version 2.9:

    • Workaround for a VIA HD Audio driver issue under XP

    • Fix two 64 bit compatibility issues that could have prevented it from working at all

    • Improve performance (latency) of USB audio class devices in Windows 7

    • Improve latency compensation accuracy of USB audio class devices in XP and Vista

    • Re-enable WaveRT event mode for Windows 7 WOW64. Used to be broken in Vista (ksthunk.sys), fixed in Windows 7

    • The control panel now remembers the previous selection in the device tree view

    • Improve input-output synchronization in a certain number of device aggregation scenarios

    • Minor changes, this and that - as usual...


    5 November 2008: Version 2.9 released!

    • Update 21 August 2009: Turkish localization added.

    • Update 18 August 2009: Spanish localization added.

    • Update 31 March 2009: Portuguese localization added.

    • Update 16 March 2009: Russian localization added.

    • Update 15 Nov: Italian localization added.

    • Combined 32/64 bit version, supports Win 98SE/ME/2k/XP/MCE/2003/XP64 and Vista x86/x64

    • Some localizations are still in the pipe. In order to avoid duplicate work, please do not send unsolicited translations! If you want to help with localization and you really mean it, please be prepared to also write the/a manual in your language! Hacking the GUI is fun (I know), but without a native manual, folks will still be lost!

    ASIO4ALL 2.9 - English
    ASIO4ALL 2.9 - French (Translation: Guillaume Fallet)
    ASIO4ALL 2.9 - Italian (Translation: Gianfranco Minischetti)
    ASIO4ALL 2.9 - Portuguese (Translation: Marco Sa)
    ASIO4ALL 2.9 - Russian (Translation: Egor Petrov)
    ASIO4ALL 2.9 - Spanish (Translation: Ezequiel Festa)
    ASIO4ALL 2.9 - Turkish (Translation: A. R. Eren)
    ASIO4ALL 2.9 - Deutsch
    ASIO4ALL 2.9 - Chinese (English manual)

    Changes since version 2.9 beta 5:

    • Fix a minor issue with the default configuration in x64

    • Changes to the ASIO buffer size now only take effect when the slider is released, avoiding a possible reset message storm for the host.

    • ASIO channel names that are too long are cut off a little more intelligently.

    • Add workaround for HD Audio input "Chopper Sound" issue on some Vista systems.

    23 October 2008: Version 2.9 (beta5) out now!
    (Plus, the final 2.9 release date has been scheduled for the 5th of November)
    Download ASIO4ALL 2.9 (beta5)!

    Changes since version 2.9 beta4

    • Add one more instance of a workaround for the Conexant HD Audio input issue

    • Restore compatibility with Win98 SE and WinME that was broken because MS at some point decided to remove it from their tool chain

    • Fix regression: WaveRT devices not detected if Compatibility Mode enabled for the host application

    • Fix WaveRT event mode input

    • Fix: x64 version in theory could have crashed on ASIOStop()

    • Fix another theoretical bug in the x64 audio startup code

    • Fix issue where the x64 version actually crashed if an input device had exactly four channels

    • Also allow right mouse button on tray icon to open the GUI

    • Add pathetic attempt to improve WaveRT in/out synchronization

    • Fix several issues with in app integration API added earlier. Notably did it not work at all in 64 bit mode before.


    17 September 2008: Version 2.9 (beta4)

    Download ASIO4ALL 2.9 (beta4)!

    Changes since version 2.9 beta3

    • Fix several bugs in the x64 version that sort of would have kept it from working under XP 64 almost entirely.

    • Fix regression issue where enabling hardware buffer could have caused a crash.

    • Fix regression issue that caused a crash when _no_ WDM audio devices were enabled.

    • Put in stuff that is supposed to provide a workaround for a Conexant HD Audio input issue. So far, results are unconfirmed.


    8 September 2008: Version 2.9 (beta3)

    Download ASIO4ALL 2.9 (beta3)!

    Changes since version 2.9 beta2

    • Add native x64 support. The x64 driver internally is a separate binary and may develop issues not present in the x86 version, so: please test! Otherwise, the behaviour should be entirely transparent.

    • GUI moved into its own thread completly. This has been necessary because existing host software as a whole is too broken on average as to be able to chase individual developers and have them fix it. Never mind the intstalled base out there. As a direct result, the ASIO control panel does not appear as modal dialog anymore. However, this solution seems to work better than I orignially expected.

    • Improved algorithm to find a workable sample rate for some devices (e.g. EMU 404)


    26 August 2008: Clarification regarding ASIO4ALL authorship

    The recent sad news is that Carlos Mateo ("Texvo") died on August 4 2008. For his outstanding contribution to the music community, he will be missed by many. The news came along with a note that suggested his involvement in the conception and/or development of ASIO4ALL. Consequently, people have started sending condolences.

    This puts me in the difficult situation of having to clarify that Carlos was at no point in time involved in either the conception or the development of ASIO4ALL. What is true, however, is the great amount of time and dedication he spent helping other people with their audio hardware and software issues - including issues surrounding ASIO4ALL, at times. He surely will be missed!


    11 August 2008: Version 2.9 (beta2)

    Download ASIO4ALL 2.9 (beta2)!

    Changes since version 2.9 beta1

    • Make WaveRT event mode strictly opt-in. It is broken in too many instances and may have caused funny and not-so-funny things to happen with onboard HD audio devices. There is a new checkbox now where you have to explicitely allow event mode (a.k.a. Pull-Mode) to be used at all.

    • Workaround added for extremely low bandwidth devices, such as audio devices on Toshiba Bluetooth stack (and possibly others), if you're into that kind of thing...

    • Fix some minor issues WRT WaveRT resource allocation.

    • Add Workarounds for broken host implementations that violate Microsoft COM requirements. This does not completely fix anything, but rather helps to avoid crashes, while still losing functionality. BUT REGARDLESS IT IS _YOUR_ CODE THAT REMAINS AT FAULT, SO PLEASE FIX IT!



    3 August 2008: Version 2.9 (beta1)

    Download ASIO4ALL 2.9 (beta1)!

    Changes since version 2.8

    • The GUI changed somewhat, but almost everything will be just about where it used to be. You'll find your way 'round! W is gone since soon he will be indeed.

    • Add system tray access to control panel and status indicator.

    • Control panel now remembers its screen position.

    • Workaround for IDT HD Audio driver registering WaveRT interface under XP.

    • Un-blacklisted STHDA for sample rates above 48kHz. Out on probation now.

    • Workaround for WaveRT event mode seemingly still broken in WOW64, even after Vista 64 SP1.

    • Improve WaveRT performance in Vista.

    • Add host application interface, giving developers the option to control ASIO4ALL configuration from inside their application.

    • And, once again: More minor improvements, most of which mainly serve to increase fault tolerance, others may change the world as we know it, but, alas, over time I had forgotten which ones and in what way exactly.



    21 January 2008: Version 2.8 (final) released!

    - Note that more localizations may be added as soon as I get in sync with folks who volunteered! -
    ASIO4ALL 2.8 - English
    ASIO4ALL 2.8 - Deutsch
    ASIO4ALL 2.8 - Chinese (English manual)

    Changes since version 2.8 beta 2:

    • No longer faults with SB X-Fi under Vista.

    • General Vista compatibility improved.

    • Improved WDM enumerator display of device names.

    • Add ability to recover from surprise removal of USB audio devices.

    • Some fine tuning of WaveRT implementation.

    • Agressive device re-ordering (as of beta 2) softened down somewhat. Analog outputs should still be listed before SPDIF ones, though.

    • More minor improvements, most of which mainly serve to increase fault tolerance, others may change the world as we know it, but, alas, over time I had forgotten which ones and in what way exactly.


    10 April 2007: Version 2.8 BETA 2 - Download ASIO4ALL 2.8 BETA 2! Changes since version 2.8 Beta 1:

    • WaveRT support now also includes event notification mode as well as support for very basic implementations with no position register.

    • A number of audio devices that worked with version 2.6 but stopped to work in 2.7 should work again now.

    • The watchdog and crash recovery features are now optional and can be enabled in the registry - if you absolutely must.

    • Uninstalling ASIO4ALL now also removes the user settings from the registry, always giving you a "fresh start" after a re-install.

    • Device interfaces will now be reordered such that analog inputs and outputs are listed before any S/PDIF widgets. This doesn't fix anything. This will, however, save me from having to explain the same thing over and over again to users of HD Audio devices under Vista who expect stuff to "just work" in the default configuration. The default configuration often would have brought S/PDIF outputs in front of the analog ones making any application that outputs stereo sound to the first two ASIO channels use the S/PDIF as a consequence. Making people complain that there is "no sound". A support nightmare!

    • Fixed a rather unspectacular synchronization issue that could have lead to audio pins intermittently being flagged "beyond logic" even though they were working just fine.

    • USB audio devices that were blocked by other audio applications would have been flagged as "beyond logic". Now they are reported as "unavailable" - as they should be.


    28 March 2007: Version 2.8 BETA 1 - Download ASIO4ALL 2.8 BETA 1! Changes since version 2.7:

    • Add support for Vista (32-bit) WaveRT audio and real time scheduling.

    • Some additional small-ish adaptations to Vista RTM

    • KS buffer settings of 3 and 4 now work as designed.

    • Improve a condition where actual latency would increase over time.

    • Workaround for a rare WDM driver issue causing a "divide by zero" crash.

    • All the little things that I fixed during the last year and which to document I "forgot".


    27 April 2006: Version 2.7 (final) released!
    ASIO4ALL 2.7 - English
    ASIO4ALL 2.7 - Deutsch
    ASIO4ALL 2.7 - Chinese (English manual)

    Changes since version 2.7 beta 4:

    • Add some sort of localization. Whether this effort is continued or not largely depends on the willingness of individuals to spend a day or two translating stuff into their native tongue - solely for being given credit. If the localization effort turns out less than useful (i.e. I receive a lot of support inquiries in Suaheli), it will not be continued. The Chinese translation is not even very good, but - the next time you consult the manual of your DVD player - this may give you the peace of mind knowing someone, at last, is handing them back a portion of their own medication. Babelfish rules!

    • Undid change regarding SBPCI 128, reverting back to stereo only, but at least it works.

    • A new workaround for Aureal Vortex 1, 2 and 3, so these things should work now, FWIW.

    • Will not even temporarily attempt to open a device at 44.1kHz whenever its 48kHz resampling option is checked. This is supposed to fix some more "Beyond Logic" errors, especially when these were seen only sporadically.


    21 April 2006: Version 2.7 BETA 4 - Download ASIO4ALL 2.7 BETA 4! Changes since version 2.7 beta 3:

    • Add a mechanism supposed to tell when drivers are lying about their native support of 44.1kHz.

    • The GUI has been un-cluttered a little. Notably, device interfaces are no longer shown whenever they don't need be.

    • SigmaTel High Definition Audio (as also used on Intel based Macs) should work now, hopefully making for a number of happy (not just Boot-) campers.

    • SBPCI 128 should work now in 4/2 and 2/4 configurations.


    18 April 2006: Version 2.7 BETA 3 - Download ASIO4ALL 2.7 BETA 3! Changes since version 2.7 beta 2:

    • Add intersection checking. Thanks to Eugene Muzychenko once again for having me have another look into this and figuring out how it _might_ work. As a matter of fact, it seems to completely work now, but I'm still puzzled why it works the way it works and not the way it _should_ have worked to begin with - probably one of the mysteries within the Microsoft(r) Universe(tm). What this means to you as the user is that this just _might_ magically resolve a number of issues with sound cards that employ "jack sharing" and stuff like that. In fact, it just _might_ resolve some more issues with other devices as well.

    • Fix: ReWuschel now also works with ASIO buffer sizes that are not a multiple of 64 samples. This sometimes was mis-perceived as having to up the buffer size if using ReWuschel when normally you should not have to. Also, the manual has been updated with some information on using ReWuschel.

    • Add dynamic buffer strategy switching. This is experimental and mainly meant to just _maybe_ prevent one or the other occasional crackle from occurring. Even if you don't notice a difference, trust me: in _theory_, it absolutely makes sense!


    31 March 2006: Version 2.7 BETA 2 - Download ASIO4ALL 2.7 BETA 2! Changes since version 2.7 beta 1:

    • Fix: Hardware buffering would consume insane amounts of CPU time with the beta 1 on some systems.

    • Add "ReWuschel". Basically, this is a ReWire input interface to the ASIO4ALL engine. The installation of ReWuschel is optional, as it replaces the functionality of the "ReBirth Input Machine" in Reason. This means that ASIO4ALL essentially will pretend to be ReBirth, so you cannot use ReBirth in Reason with the ReWuschel option enabled - keep that in mind! Note also that it only works if ASIO4ALL is selected as the current ASIO driver!

    • Some minor improvements to the audio engine code. Measurable impact unlikely.


    22 March 2006: Version 2.7 BETA 1 - Download ASIO4ALL 2.7 BETA 1! Changes since version 2.6:

    • Actually, there have been a number of minor changes to the audio engine over the last couple months the specifics of which I forgot.

    • ASIO4ALL no longer crashes (BSOD) if there is an ATI Rage Theater or similar device in the system. The WDM audio "drivers" shipped with these devices are simply ignored.

    • SBPCI 128 works now, albeit in 2in/2out mode only.

    • USB devices now generally listed by their names, where possible, instead of the generic USB audio. Helps if you have more than one.

    • Mono inputs are converted to stereo, such as to not confuse hosts that assume channels to always come in pairs. Helps with mono input devices, such as e.g. USB mics.

    • Gave the "Buffer Size" Slider in the control panel a logarithmic scale.

    • Default configuration changed so that e.g. Realtek HD Audio would not have its inputs disabled by default.

    • Experimental: Added a watchdog thread that is supposed to kick in should the host audio engine use all of the CPU due to e.g. denormals.

    • Last minute change: Thanks to Eugene Muzychenko (VAC) for pointing out an issue that could have led to "beyond logic" errors here and there! Helps at least with VAC - but who would've thought _that_...


    11 April 2005: Version 2.6 Released! Download ASIO4ALL 2.6! Changes in version 2.6:

    • Fixed a minor memory leak that would have made about 4k of memory going stale whenever the audio engine is being restarted.

    • Add support for sample rates below 44.1kHz for as long as the sound hardware supports them.

    • Fewer overloads at low buffer size settings. This means drop-out free performance at about half the buffer size compared with v2.5 on a sizable number of cards.

    • Changed handling of default sample rate in order to work around issues with some Envy24 based cards.

    • Default settings adapted in order to work around issues with specific AC97 drivers.

    Revision History:

    19 Mar 2005: Version 2.5

    • Workaround for one more CT driver issue. Audigy LS now works with inputs enabled also. MP3+ now works with the CT supplied driver (sbusb.sys), so you do not have to revert back to the generic usbaudio.sys for the MP3+. For best results with the Audigy LS, I found that you absolutely need to enable "Always Resample 44.1kHz <-> 48kHz" in the ASIO4ALL advanced control panel.

    • For most USB audio devices that use the generic Windows USB audio driver (usbaudio.sys), latency compensation should be correct with the default settings now.

    • Default settings changed for some WDM drivers and as far as their specific quirks.

    06 Mar 2005: Version 2.4

    • Fixed an issue with the first audio device in the list becoming "sticky", meaning you could not disable it in the control panel.

    • Workaround for a bug in CT drivers. Audigy &Co. should work again.

    • Add support for some more USB devices.

    • Remove the crash recovery feature, which was more likely to confuse the user rather than actually being helpful.

    • Add proper version display to the control panel.

    • Some more minor performance tweaks an other things.

    11 Feb 2005: Version 2.3

    • Maintaining settings per application/per user works again.

    • Improved stability in certain configurations.

    • Some more performance fine tuning.

    • Workaround for a bug in M-Audio USB drivers (MobilePre USB,...) which did cause a BSOD.

    • Some more minor things.

    07 Dec 2004: Version 2.2

    • Add workaround for an issue with some SoundMax drivers.

    • Change open/close policy a little so it would better cooperate with some audio applications.

    • More minor changes to the latency guess-o-matic.

    • Fix minor graphics glitches in the control panel with WinXP modern themes

    • The driver now generally also works under all user privilege levels down to and including the "guest" account. Installation, of course, requires administrator privileges.

    • Fix an issue that could potentially have made the driver fail when opened a second time. This has not been observed in any real world setup, however.

    • Fix an issue that could have caused problems when changing the sample rate.

    26 Nov 2004: Version 2.1

    • Fixed bug that may have caused crackles no matter what the buffer size.

    • Add overload detection and -recovery. This changes the whole "feel" of the audio engine, as what would previously mostly manifest itself as a sudden start of excessive crackling is now reduced to a short moment of silence. If the overload condition does not go away, there will be even more silence. This does not happen in hardware buffered mode, for it is virtually impossible to overload the WDM subsystem in this mode.

    • Audio engine optimized once more (no changes in h/w buffer mode, though). Average latency DOWN!

    • More changes to the automatic latency compensation (still work in progress)

    • Fixed bug that would disable audio input in Podium.

    • Fixed a parameter load/save issue. The bad news is that you will have to re-do all the settings made with version 2.0. Sorry!

    • Still features the Controversal Arrow(tm), which, nevertheless, is here to stay!

    11 Nov 2004: Version 2.0

    • This has been a near complete rewrite.

    06 Mar 2004: Version 1.8 Download

    • There wasn't anyone objecting to the changes in 1.8 beta 1, hence this is becoming the final version. Two more changes...

    • Improved Direct DMA mode restart behavior. This makes this mode somewhat usable in Cakewalk Sonar.

    • Fixed a bug that may/may not have caused crashes/erratic behavior when resampling was active.

    1.7 (Feb 25th 2004)

    Direct DMA Mode no longer selectable for PCMCIA devices.

    Changing the sample rate in the host application should not cause erratic behavior anymore.

    There was a race condition that caused Sonar to crash on occasion. This has been fixed.

    Direct DMA Buffer mode resyncs somewhat faster now, sometimes and under some circumstances...

    Finally: 44.1kHz Sample Rate 4 ALL! I did the leg work reading up on that DSP stuff. ASIO4ALL now does sample rate conversion whenever required in order to support 44.1 kHz. As far as my personal judgement, I would consider resampling quality decent at least - can _you_ hear a difference? Not too bad when considering that my last piece of DSP work was like 12 years ago... Resampling currently only works in buffered mode (DMA box _not_ checked)

    Also, there is a new check box that lets you force resampling at 44.1kHz (always resampled from/to 48kHz). The reason for this option: I discovered that a number of low-cost audio gear have the WDM driver resample on-the-fly. The quality of this, more often than not, is very questionable. Further, you may have ended up in a situation where decent latency figures were achievable @48kHz, but severe crackling did occur at 44.1kHz. If this sounds like your system, this would be the box to check (Well, at least, this was the ultimate fix for _my_ lappy...)

    Added another check box: 'Disable Input'. The purpose of this one is explained easily: If you do not need ASIO input, you can achieve better overall latency i.e. smaller buffer sizes when checking this option.

    Changed the behavior of the Control Panel somewhat: Whenever you check the Direct DMA box and the current settings are not very reasonable, buffer size and iodelay settings are adjusted to reasonable defaults. This is because some settings that are o.k. in buffered mode simply don't make sense in Direct DMA Mode and may make the user believe that Direct DMA Mode does not work on their system due to excessive crackling for a prolonged period after switching to this mode. Always remember: Direct DMA Mode is a cool feature, but it needs a couple of seconds to settle down whenever the driver is re-started. Unfortunately, Cakewalk Sonar, for instance, restarts ASIO on every playback/stop/playback cycle, making Direct DMA Mode virtually unworkable in this environment.

    In order to improve the "User Experience" in multi-device setups, all control panel settings are now stored per device. Switching between devices will recall previously applied settings.

    In buffered (non-DMA-) mode the driver is now less likely to drop input buffers. This means an improvement in input quality/latency on some systems.

    Direct DMA Buffer Mode has been redesigned for more stability and timing accuracy. Unfortunately, this requires you to re-adjust the Buffer Size and Delay settings. So, if you had a setting of 128/3/3 in the past, you would now end up with e.g. 128/6/8. This does not mean an increase in latency, however! It is just that the physical ranges of these sliders have moved somewhat. Also, an issue has been fixed that would have made it impossible to set a reasonable Input Delay on some systems.

    Improve media synchronization in Direct DMA Buffer Mode.

    1.6 (Feb 2nd 2004)

    Added a facility and desktop shortcut to launch the control panel off-line. Off-line changes have no immediate effect. Hope you like the artwork ;-)

    Workaround for broken Creative drivers, causing a BSOD with some Sound Blaster cards. The Microsoft drivers for the same cards appear to have always worked fine.

    Fixed a bug that caused no inputs being available with some USB devices.

    Fixed a bug that would make the driver not work with some applications if the audio device does not support 48kHz

    Added workaround for situations where a buggy host meets a buggy WDM driver. This would manifest itself in an ASIO driver error if the application is started the second time.

    Minor change that might improve input quality in certain setups.

    1.5 (Jan 26th 2004)

    Made it work with ISA cards (yeah, right!) that do not support 48000Hz sampling rate, such as the ESS Audio Drive series - well, as long as there's a WDM driver, why not give it a try?

    Requirements for DMA box being shown have been relaxed a little. Never check this for USB devices, though!

    Fix a problem with multi-channel recording cards i.e. it runs on my DSP2000 C-Port again ;-)

    Direct DMA Buffer mode has been tweaked a little for better performance (needs testing) As a negative side effect, things may need a longer time to get in sync after you start the application or apply some changes in the control panel. Resyncing will take a couple seconds now, during which crackling and stuff will be heard.

    General workaround for all host applications that happen to drop BufferSwitch() calls. Makes Reason workaround obsolete i.e. no special treatment anymore. Should sort of fix things for Tracktion, too.

    Samplitude no longer crashes when trying to open the control panel.

    Add a Message Box whenever it has been found that the audio device is already in use. In nine out of ten cases this is because the 'Microsoft GS Wavetable SW Synth' is enabled as a MIDI output device somewhere.

    Add a version number display to the ASIO control panel so it is not so easy anymore to get things mixed up.

    1.4 (Jan 19th 2004)

    There has been a really important fix and so I decided to release a new version just one day after the last one. On the way from rev 1.1 to 1.2 I introduced an extremely stupid bug that made seem stuff not work anymore that used to run just fine with rev. 1.1

    The ASIO control panel is now being updated immediately after a different audio device has been selected. This used to be a minor annoyance in systems with more than one audio device.

    1.3 (Jan 18th 2004)

    Good news for some! ASIO4ALL now works with even more audio devices. There now is a new check box 'Force 16bit Samples', which activates a workaround for a situation where the WDM driver reports a bit depth of e.g. 20 but has no plans to actually support that when asked to. In 'normal' Windows this is no problem because in Windows, everything is just 16 bit. But ASIO4ALL tries to max out your hardware, also as far as bit depth. Most notably this workaround has been reported to get SigmaTel chips to work with ASIO4ALL.

    Minor change in the way ASIO4ALL connects to the WDM driver interface.

    1.2 (Jan 15th 2004)

    This time it's been quite a number of changes. I'm not through with everything yet, but because of the number of fixes/ improvements already made, I decided to put out this new version for the time being.

    Fixed a rather stupid bug in the code that would have caused distorted output on all channels except the left one for devices where input and output bits per sample are not the same. To add insult to injury, most newer AC97 codecs fall into that category (e.g. 20bit output/16bit input). Sorry 'bout that!

    Add workaround for a number of ill behaved host applications. If you ever encountered this phenomenon: You start your host application, enter the ASIO control panel, optimize buffer settings so you have a clean sound and then exit and restart the application and all of a sudden you are in crackling hell -> curse no longer, we now have a workaround for that! This only applies to buffered mode i.e. Direct DMA Buffer option _not_ checked.

    Improve support for some multi-channel devices and fix an issue with devices that did show up in the device list but no sample rate could be set (Actual error message depends on how much your sequencer got confused by that) More cards should be able to run on 44.1kHz vs. 48kHz only.

    Add support for 24bit packed PCM sample format (vs. 32bit), which should resolve an issue with >16bit devices that do not support 32bit PCM output.

    Fix plenty of reasons why it could have crashed when doing stuff in the ASIO control panel (Oh well...)

    Enable operation with devices that have no inputs. In this case, two phantom inputs are created, because some applications seem to require this.

    USB audio devices should now show up in the device list. (at least some should, still having problems with others...) If you install this version over a previous one or if other things happen that I have no control over, you may be able to check the Direct DMA Buffer option in the ASIO control panel for your USB audio device: DON'T! (unless your favorite color is blue). The Windows internal USB audio driver (usbaudio.sys) has a bug that makes the system go kaboooom if you enable this option for USB audio devices!

    Update on the Reason issue:
    I have received a response from the
    Propellerheads and it seems that my error description below is not entirely correct. With the information I have received, I have been able to implement a much better workaround. If you are using this with Reason this new version is a must. Crackles due to screen updates are virtually history now! The Low Priority Audio check box introduced in rev. 1.1 is gone. The driver now automatically checks for Reason being the current host application and silently applies the (better) workaround in this case.

    1.1 (Jan 5th 2004)

    Fix a bug in the device enumerator that under certain circumstances would prevent some devices from showing up in the device list.

    Add workaround for some weird Reason behavior. This is experimental, though. There is a new check box now which you are supposed to check if and only if you are running Reason with this driver. If you are a Propellerhead reading this: What makes you think that calling ASIOoutputReady() asynchronously is going to help matters in any way one can think of? Do it like the rest of the Industry do: BufferSwitch()->FillOutput()->ASIOoutputReady()->MoreStuff()->Return(). Suddenly you'll realize that things do not necessarily have to crackle if you move stuff around the screen. It does not need an extra thread, get rid of it!

    Installation over a previous version no longer resets the control panel settings to defaults. In order to install with default parameters, you need to uninstall the previous version first.

    1.0 (Final)

    Added Direct DMA Buffer I/O for devices that support it. This mode is very soft on the CPU and latencies can be achieved that are equal to the values one gets with pro gear.

    In order to understand why this works on some systems and on others it does not, one needs to know that WDM audio drivers come in two flavors: WaveCyclic and WavePci. We only have a chance with WavePci, because these drivers do not actually copy audio data from our buffer but rather make the buffer we submit to them their current DMA buffer. But we still know where our buffers are, even after we submitted them to the WDM audio driver, right? Thus, when writing to the buffer currently being played, we are writing directly to the DMA buffer! The tricky bit is to figure out where exactly to write and how to keep things in sync.

    In a nutshell, this is how the Direct DMA Buffer mode works. Unfortunately, most consumer grade stuff comes with WaveCyclic type drivers only, it seems. [Update] More feedback has now given me the impression that ironically some of the most widespread AC97 chips actually _do_ support this mode, contrary to my statement above. Good news? Maybe for you but not for me since the 'Ali Audio Accelerator' on my lappy isn't one of these! *grrrrrrr*

    Some minor improvements.

    1.0 Beta:

    First stable version.

ASIO is a trademark of Steinberg Media Technologies GmbH. Everything else on this page, including the numbers 16, 48 and 100 is or may become a trademark of Microsoft, Corp., except for trademarks of their respective owners that are used for product identification purposes only. The rest, as well as the stuff mentioned above that has not yet become a trademark of Microsoft, Corp. is Copyright(c)2003-2008, Michael Tippach.