Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
DirectSound
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==OS Support== ===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 of Death|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.<ref>[http://msdn.microsoft.com/en-us/library/windows/desktop/ee416769(v=vs.85).aspx DirectSound Driver Models]</ref> If DirectSound streams use hardware mixing, KMixer and its latency delay are bypassed.<ref>[http://msdn.microsoft.com/en-us/library/windows/hardware/ff537603(v=vs.85).aspx Overview of DirectSound Hardware Acceleration]</ref> 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. 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. ===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]]).<ref name=CakeWalkKS>[http://www.cakewalk.com/DevXchange/article.aspx?aid=114 CakeWalk - Windows Pro Audio Roundtable]</ref> 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<ref>[http://msdn.microsoft.com/en-us/library/ff536379(v=vs.85).aspx Exposing Hardware-Accelerated Capture Effects]</ref> such as [[Echo cancellation#Acoustic echo cancellation|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.<ref>{{cite web |url=http://techreport.com/articles.x/13874 |title=Techreport article on Vista-ready soundcards |date=15 January 2008 |access-date=2008-12-23}}</ref> DirectSound, [[DirectMusic]] and other APIs such as [[MultiMedia Extensions|MME]] are emulated as [[Technical features new to Windows Vista#Audio stack architecture|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 effect]]s played using DirectSound3D, they will not be playable; this also breaks compatibility with EAX extensions.<ref name=creativeKB25937>[http://support.creative.com/kb/ShowArticle.aspx?sid=25937 Creative Technology - Support - Audio in Windows Vista]</ref> Third-party APIs such as [[Audio Stream Input/Output|ASIO]] and [[OpenAL]] are not affected by these architectural changes in Windows Vista, as they use [[ioctl|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 OpenAL. However, this only works if the manufacturer provides an OpenAL driver for their hardware.<ref>{{cite web |url=http://www.openal.org/openal_vista.html |title=OpenAL and Windows Vista |access-date=2008-01-10 |url-status=dead |archive-url=https://web.archive.org/web/20080102032457/http://www.openal.org/openal_vista.html |archive-date=2008-01-02 }}</ref> ===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,<ref name=offloadingW8>[http://msdn.microsoft.com/en-us/library/windows/hardware/br259116 Audio Offloading: Exposing Hardware-Offloaded Audio Processing in Windows]</ref><ref name=WDK_w8>[http://msdn.microsoft.com/en-us/library/windows/hardware/hh439707 Windows Driver Kit - Windows Developer Preview - New for Audio Drivers]</ref> however the functionality is only exposed for [[Windows Runtime]] apps.<ref>{{cite web |url=http://msdn.microsoft.com/en-us/library/windows/hardware/dn265105(v=vs.85).aspx |title = Implementation Overview - Windows drivers {{!}} Microsoft Docs}}</ref> DirectSound's and [[DirectMusic]]'s hardware interfaces to sound card drivers are not implemented. ===Windows 10=== [[Windows 10]] support [[computation offloading|hardware offloading]] of [[Sound effect (musical instruments)|sound effects]].<ref>{{cite web |url=https://learn.microsoft.com/en-us/windows-hardware/drivers/audio/windows-threshold--what-s-new-for-audio |title=Windows 10: What's New for Audio Drivers |website=Microsoft |date=December 15, 2021}}</ref><ref>{{cite web |url=https://learn.microsoft.com/en-us/windows-hardware/drivers/audio/audio-processing-object-architecture |title=Audio Processing Object Architecture |date=December 13, 2024 |website=Microsoft}}</ref> ===Windows CE=== Although DirectSound support was available in [[Windows CE]] versions up to 4.2, it was removed starting 5.0.<ref>[http://msdn2.microsoft.com/en-us/library/aa446919.aspx Windows CE 5.0 removed functionality]</ref> Windows CE 6.0 also does not support DirectSound, instead favoring that applications be rewritten to use the Waveform Audio API.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)