Windows 9x In Windows 95, 98 and Me, the DirectSound mixer component and the sound card drivers were both implemented as a
kernel-mode VxD driver (Dsound.vxd), allowing direct access to the primary buffer used by the audio hardware and thus, providing the lowest possible latency between the user-mode API and the underlying hardware, but in some cases causing instability and
blue screen errors. Windows 98 introduced WDM Audio and the
Kernel Audio Mixer driver (
KMixer), which enabled digital mixing, routing and processing of simultaneous audio streams with a higher quality sample rate conversion as well as kernel streaming. Under WDM, DirectSound sends data to the software-based KMixer. Windows 98 Second Edition improved WDM audio support by adding DirectSound hardware buffering, DirectSound3D hardware abstraction, KMixer sample-rate conversion (SRC) for capture streams, multichannel audio support and introduction of
DirectMusic. If the audio hardware supports
hardware mixing (also known as hardware buffering or DirectSound hardware acceleration), DirectSound buffers directly to the rendering device. If DirectSound streams use hardware mixing, KMixer and its latency delay are bypassed. On Windows 98 and Windows Me, WDM audio drivers were preferred but compatibility with VxD driver model was preserved. Although
Windows Driver Model (WDM) was available starting with Windows 98, few audio card manufacturers used it for Windows 98 FE. Later,
Windows 98 SE improved the WDM audio support. Due to internal buffering, KMixer introduced significant processing latency (30 ms on then-current systems). Windows 98 also includes a WDM streaming class driver (Stream.sys) to address these real time multimedia data stream processing requirements. When the sound card uses a custom driver for use with the system supplied port class driver
PortCls.sys or implements a mini-driver for use with the streaming class driver, applications can bypass the KMixer completely and use the kernel streaming interfaces instead to reduce latency. In Windows 95, 98 and Me, DirectSound is designed for older audio devices in that time, such as
AC'97 and
AudioPCI.
Windows 2000/XP In Windows 2000, Microsoft also implemented the same WDM-based audio stack on
Windows NT by introducing the WDM audio drivers and the kernel mixer component (
KMixer). In Windows XP, Microsoft introduced another improved kernel streaming class driver,
AVStream. Beginning with Windows XP, hardware acceleration was also added for DirectSound capture effects processing such as
Acoustic Echo Cancellation for USB microphones, noise suppression and array microphone support.
Windows Vista/Windows 7 Windows Vista features a completely re-written audio stack based on the
Universal Audio Architecture. Because of the architectural changes in the redesigned audio stack, a direct path from DirectSound to the audio drivers does not exist. DirectSound,
DirectMusic and other APIs such as
MME are compatibility wrappers over
WASAPI session instances. DirectSound runs in emulation mode on the Microsoft software mixer. The emulator does not have hardware abstraction, so there is no hardware DirectSound acceleration, meaning hardware and software relying on DirectSound acceleration may have degraded performance. It's likely a supposed performance hit might not be noticeable, depending on the application and actual system hardware. In the case of hardware
3D audio effects played using DirectSound3D, they will not be playable; this also breaks compatibility with EAX extensions. In Windows Vista/7, the
WASAPI is managed by the
Windows Audio service. Third-party APIs such as
ASIO and
OpenAL are not affected by these architectural changes in Windows Vista, as they use
IOCtl to interface directly with the audio driver. A solution for applications that wish to take advantage of hardware accelerated high-quality 3D positional audio is to use ASIO or OpenAL. However, this only works if the manufacturer provides an ASIO or OpenAL driver for their hardware. In
Windows Vista/
Windows 7, as well as later
Microsoft Windows, software uses
XACT and
WASAPI is recommended because WASAPI is designed for
UAA audio devices, and WASAPI can offers lower latency compared to older MME/DirectSound.
Windows 8 WASAPI audio stack in
Windows 8 introduces support for "hardware offloading" of multiple audio streams to the audio card for mixing and effect processing, in addition to the software processing introduced in Vista, however the functionality is only exposed for
Windows Runtime apps. DirectSound's and
DirectMusic's hardware interfaces to sound card drivers are not implemented. Windows 8 required audio drivers to be
WDF and
UAA based.
Windows 10 Windows 10 support
hardware offloading of APO
sound effects. Since Windows 10, its
WASAPI introduced low latency audio mode. Windows 10 added support for software-based audio enhancer called Spatial Sound.
Windows CE Although DirectSound support was available in
Windows CE versions up to 4.2, it was removed starting 5.0. Windows CE 6.0 also does not support DirectSound, instead favoring that applications be rewritten to use the Waveform Audio API. == Replacement implementations ==