Gearwire's Vista Transition Glossary
The transition to Windows Vista in the worlds of pro and project audio is unfolding at somewhat less than lightning speed. As of this writing, most major audio hardware and software vendors have not announced Vista-compatible drivers or applications. What could be holding back such big hardware names as M-Audio, PreSonus, Digidesign and others?
The fact is that most new audio capabilities in Vista aren't seen as essential by these manufacturers and simply aren't supported -- unless and until the vendors develop new drivers and software versions to take direct advantage of them. This is the difference between "Vista-compatible" and "Vista-native". So far, only a few vendors have taken up the challenge of providing native support and even some of those that seem to have may not have truly done so.
For example, MOTU, (covered in Gearwire as one of the earliest Vista adopters) released Vista driver sets for their I/Os in December. Yet reportedly none of the drivers provided actually exploits Vista's WaveRT audio driver architecture, which is probably Vista's single greatest advance in I/O performance. This is only one case of what will probably be many where "compatible" is passed off as "native."
Despite the enormous lead time preceding Vista's rollout, it is clear the industry is in for a long transition, one that will bring many confusing moments for audio pilgrims of all kinds for many months to come. To help keep straight what vendors are doing or not doing with Vista, we thought it would nice to have a pocket guide to the terminology of Windows audio and drivers new and old.
This Vista Transition Glossary won't explain everything. It doesn't clear up what role, for example, DRM has in Vista's audio. It certainly doesn't predict what a vendor will do with what parts of Vista and when. In fact, all it really does is put in one place the results of researching several Microsoft white papers, authoritative posts from vendor forums and years of experience in short glossary form. We think it'll be pretty handy to use as you, as always, perform your own research.
Vista For Audio Transition Glossary
API: Applications Programming Interface - the building blocks in the form of subroutines and objects given to programmers to develop applications.
APO: Audio Processing Object - New to Vista, part of the WaveRT driver type. An insertable object for manipulating the audio stream for processing by software without interrupting the WaveRT communication between the audio hardware and the client aplication. Not to be confused with VST plug-ins, as APOs are much lower-level than VST and primarily for use by driver developers.
ASIO: A propretary audio driver architecture developed by Steinberg that reduces latency in Windows applications by bypassing the WDM model altogether and speaking directly with the cardmaker's hardware. Similar to OpenAL.
BSOD: Blue Screen Of Death - The classic Windows system crash screen.
DS: DirectSound - A Win32 (Win9X and XP) audio API (applications programming interface) similar to MME in that it speaks to the WDM Port Class driver, either doing so directly or through the low-level kernel mixer (kmixer).
DRM: Digital Rights Management - Under Vista, protection of HD-DVD and Blu-Ray DVD content. Reportedly WaveRT and UAA are subject to DRM polling and can ratchet back the bitrate on your soundcard without your foreknowledge.
Kernel Mode: Where the majority of the operating system itself and its services runs. The most exhaustively tested of the code running on any given Windows system. Kernel-mode execution was required for MME and DS subsets of the WDM driver model, which added latency and exposed the entire system to crashes when a vendor failed to test exhaustively before shipping the driver to the user. Most BSODs come from kernel mode.
Kmixer, Kernel Mixer: A low-level mixer in the Windows audio subsystem responsible for mixing, attenuating and graphically monitoring audio streams headed to or from DS or MME drivers. Bypassed entirely by ASIO and sometimes by WDM. No longer present in Vista.
Mini Port Driver: A WDM driver class supported in XP and Vista. Vista introduces the new Mini Port driver class "WaveRT". XP and Vista both support "Wave PCI" and "Wave Cyclic" Mini Port drivers, only Vista supports "WaveRT".
MME: Microsoft Multimedia Extensions: Another standard Windows Audio API, similar to DS except MME must always be routed through Kmixer, whereas DS may optionally connect directly with WDM's foundational port class driver.
OpenAL: A propretary audio driver architecture developed by Creative that reduces latency in Windows applications by bypassing the WDM model altogether and speaking directly with the cardmaker's hardware. Similar to ASIO.
UAA: Universal Audio Architcture: New with Vista. A class driver architecture for audio devices. provices basic "generic" audio functionality at a minimum of 2-channels of 24b/96kHz, six channels (if supported by underlying hardware). As of 2005, Microsoft planned to ship UAA class drivers for USB, Firewire (1394) and HD audio devices. Further, Microsoft writes "UAA class drivers support current and planned Microsoft content protection technologies".
User Mode: The vast majority of what you actually see and hear running on your WIndows computer is running in User mode. Unlike system services and low-level routines, user mode programs have as their greatest benefit a limited ability to drag down a system. The Vista audio redesigns generally have audio processing executing in user mode as opposed to the more brittle and fragile kernel mode.
WASAPI: Windows Audio Session API. New to Vista, a component of Vista's new user mode audio architecture. Executes in user-mode "instances". Still bypassed by ASIO and other proprietary driver architectures that speak directly to hardware.
WaveCyclic: Not new with Vista. A WDM mini port driver type characterized by the use of a cyclic buffer. Access to this buffer under XP is mediated by the kernel.
WavePCI: A WDM mini port driver type designed for PCI expansion cards. Not new with Vista.
WaveRT: Wave Real-Time - A new miniport type unique to but not strictly required under Vista. By design, WaveRT is a streaming driver used in reading and writing audio that reduces latency to theoretical minimums by allowing the applications that use the driver to completely control the streams, (as opposed to the way other driver types work.) Drivers use buffers to read and write with and these buffers have classically been accessed by the kernel in order to know things about the audio. WaveRT bypasses this kernel chokepoint and allows direct access to the chunks of buffer memory themselves, eliminating microseconds from the read/write operations.
WDM: Windows Driver Model - Windows NT, 2000 and XP and Vista share the same foundation, the Windows NT kernel. NT kernel's default driver model is WDM, the WIndows Driver Model. WDM still reportedly works the same way in Vista as it does in XP.
WDM Port Class Models: Refers to the foundation of a particular WDM driver. All PCI WDM audio drivers are based upon the class "Port Class". USB / Firewire drivers are based upon the class "Stream Class" aka "A/V Stream". Vista supports all XP "Mini Port" driver models, two of which are named "Wave PCI and "Wave Cyclic".
WDM Kernel Streaming: Any WDM driver built under XP is expected to work as-is under Vista.




Post new comment