Make Your Movies And Games Sound Better With Windows Sonic

This documentation is targeted for a developer audience. For end-user tư vấn for enabling spatial sound on your device, see How lớn turn on spatial sound in Windows 10.

Bạn đang xem: Make your movies and games sound better with windows sonic Spatial Sound is’s platform-cấp độ solution for spatial sound tư vấn on Xbox, Windows & HoloLens 2, enabling both surround và elevation (above or below the listener) audio cues. Spatial sound can be leveraged by Windows desktop (Win32) apps as well as Universal Windows Platform (UWP) apps on supported platforms. The spatial sound APIs allow developers to create audio objects that emit audio from positions in 3D space. Dynamic audio objects allow you lớn emit audio from an arbitrary position in space, which can change over time. You can also specify that audio objects emit sound from one of 17 pre-defined static channels ( that can represent real or virtualized speakers. The actual output format is selected by the user, và can be abstracted from Spatial Sound implementations; audio will be presented to lớn existing speakers, headphones, and trang chính theater receivers without needing any code or content changes. The platform fully supports real-time Dolby Atmos encoding for both HDXiaoMi MI và stereo headphone output, DTS:X for Headphones, và Windows Sonic for Headphones encoding for stereo headphones. Finally, Spatial Sound apps abide by the system mixing policy, và their audio will also be mixed with non-spatially aware apps. Spatial Sound support is also integrated inkhổng lồ Media Foundation; apps that use truyền thông media foundation can successfully play Dolby Atmos content with no additional implementation.

Spatial sound with Spatial Sound supports TVs, home page theaters, & sound bars that tư vấn Dolby Atmos. Spatial sound can also be used with any pair of headphones the consumer may own, with audio rendered by the platsize using Windows Sonic for Headphones, Dolby Atmos for Headphones, or DTS Headphone:X.

Enabling Spatial Sound

Whether as a developer or a consumer, a user must enable Spatial Sound on their device in order to hear spatialized sound.


On Windows PCs, this is done via the properties page for a given sound output device. From the Sound control panel, select an output device & cliông xã Device properties. In the Spatial sound section of the page, if the device supports spatial sound, you can select one of the available formats from the Spatial sound format dropdown.


You can also enable Spatial Sound by right-clicking the Volume inhỏ in the taskbar.


Xbox One

On Xbox One, Spatial Sound capabilities are always available for the consumer, & are enabled via the Settings App under General -> Volume và audio output.


After Dolby Atmos for home theater is selected as a “Bitstream format”, tư vấn for this format is checked via HDMI Extended Display Identification Data (EDID). If the HDXiaoMi MI device does not tư vấn the format, an error message is displayed to lớn the user. Note that selecting this option the first time requires the user download the Dolby Access app.

If a format other than "Bitstream out" is selected for HDXiaoMi MI audio then the Bitstream format dropdown is disabled.


Select Dolby Atmos for Headphones, DTS Headphone:X, or Windows Sonic for Headphones from the Headphối format dropdown under Headset audio


When Spatial Sound is not available (for instance, when playing lớn embedded laptop stereo speakers, or if the user has not explicitly enabled Spatial Sound per above), the number of available dynamic objects returned by ISpatialAudioClient::GetMaxDynamicObjectCount to lớn an application will be 0.

HoloLens 2

On HoloLens 2, Spatial Sound is enabled by default và uses hardware DSPhường offload designed specifically for Windows Sonic for Headphones. Spatial Sound & Audio Middleware

Many tiện ích & game developers use third tiệc nhỏ audio rendering engine solutions, which often include sophisticated authoring & auditioning tools. has partnered with several of these solution providers lớn implement Spatial Sound in their existing authoring environments. This will frequently mean the APIs discussed here are abstracted from the app’s view; they are wrapped as digital signal processing (DSP) plug-ins that the tiện ích can instantiate, & which the app’s audio implementer can use to lớn phối khổng lồ a Spatial Sound channel bed, subphối, or send individual voices lớn dynamic object instance plug-ins as desired. Consult with your audio middleware solution provider for their cấp độ of tư vấn for Spatial Sound. Spatial Sound for Audio Renderers

Many audio renderers target a Windows Audio Session API (WASAPI) IAudioClient endpoint, where the application feeds buffers of mixed và format-conformed audio data to lớn a WASAPI audio sink; the delivered buffers are then consumed for mixing with other clients, final system-màn chơi processing, và rendering. Spatial Sound spatial endpoints are implemented as ISpatialAudioClient, which has many similarities lớn IAudioClient. It supports static sound objects forming a channel bed, with tư vấn for up to lớn channels (8 channels around the listener – Left, Right, Center, Side Left, Side Right, Bachồng Left, Baông chồng Right, and Back Center; 1 low frequency effects channel; 4 channels above the listener; 4 channels below the listener). And it supports dynamic sound objects, which can be arbitrarily positioned in 3D space.

Xem thêm: Đtcl: Hướng Dẫn Những Cách Xem Lịch Sử Đấu Trường Chân Lý : Bao Giờ Mới Có?

The general implementation coding pattern for ISpatialAudioClient is:

Create static and/or dynamic audio objects.Feed each object’s audio buffer each frame so the system can render it.Update dynamic objects’ 3 chiều positions on demvà – as frequently (or infrequently) as the app desires.

lưu ý that the current output format (speakers or headphones; Windows Sonic for Headphones, Dolby Atmos, or DTS Headphone:X) is abstracted from the above implementation – the app developer can focus on spatial sound without needing to lớn pivot based on format. Apps that bởi want their behavior to lớn diverge based on output format can query the format in use, but the abstraction means an ứng dụng is not required to handle these formats. Spatial Sound Integration with Audio Renderers

Because ISpatialAudioClient is an audio sink that consumes data, an audio renderer has several options for how to lớn interact with và deliver audio data to it. There are three commonly used integration techniques (and for titles using audio middleware, you may see equivalent plug-ins made available based on these options):

7.1.4 panners and mastering voice: Renderers that already support 7.1 endpoints may opt khổng lồ simply add support for the four additional height channels that the ISpatialAudioClient static channel bed supports. Any channel panning they previously did (likely already leveraging x,y, z coordinates) can be updated to lớn now include these height channels. This often offers the least disruption lớn renderer & app audio workflows, signal, flow, and mix control. Over headphones, note that the full phầm mềm mix will be spatialized – so even stereo music may be perceived as “externalized” from the listener.Maintain existing endpoint, plus add a 7.1.4 bus (& panners): Some titles may choose khổng lồ maintain two endpoints: their existing stereo WASAPI endpoint (for “direct to ears” nội dung not meant lớn be spatialized) alongside an ISpatialAudioClient static channel bed supporting 7.1.4 (or even up to lớn Of course, managing interactions between two mixes presents additional challenges lớn nội dung creators, though synchronization is maintained, as both WASAPI and ISAC instances active sầu at a given time bởi use the same buffer size and cloông chồng for processing.Use dynamic sound objects for certain voices or submixes: Offering perhaps the most detailed/accurate positioning, but potentially creating phối opathành phố, this technique involves using ISpatialAudioClient dynamic sound objects. cảnh báo that the metadata plus audio buffer is delivered to lớn the renderer, so these sounds will be opaque lớn the rest of the app phối. Additionally, since there are a limited number of available dynamic sound objects, the renderer will need khổng lồ consider implementing prioritization techniques – culling, sound co-location, blending lớn the static channel bed, & so on. Games have frequently used this technique for individual “hero” sounds, such as a helicopter that will move sầu around above the listener.

Renderers can also phối and match between these approaches. Spatial Sound Runtime Resource Implications

On Windows and Xbox, the number of available voices varies based on the format in use. Dolby Atmos formats tư vấn 32 total active objects (so if a 7.1.4 channel bed is in use, 20 additional dynamic sound objects can be active). Windows Sonic for Headphones supports 128 total active objects, with the Low Frequency Effects (LFE) channel not actually being counted as an object -- so when an channel bed is in use, 112 dynamic sound objects can be active.

For Universal Windows Platform apps running on Xbox One game consoles, realtime encode (for Dolby Atmos for home page theater, Dolby Atmos for Headphones, DTS Headphone:X, and Windows Sonic for Headphones) is performed in hardware at no CPU cost.

FormatMax Static Objects (Channel Bed)Max Dynamic Objects Xbox OneMax Dynamic Objects WindowsMax Dynamic Objects HoloLens 2
Dolby Atmos (HDMI)12 (7.1.4)2020NA
Dolby Atmos (Headphones và Built-in Speakers)17 (
DTS Headphone:X (Headphones)17 (
Windows Sonic for Headphones17 (

Apps should also consider the following resource implications:

Storage/disc bandwidth: Linear nội dung pre-authored to 7.1.4 will typically be larger than 7.1 linear content (though perceptual codecs already often take advantage of channel correlation to make this far less than the một nửa more actual channels of audio data)Other digital signal processing costs: Some previously global effects may now become instanced per dynamic sound object. Additionally, some nội dung creators may wish lớn update some DSP effects to lớn support additional channels or use them uniquely. Spatial Sound and Sound Spatialization Cues Spatial Sound is focused on sound positioning simulation on an idealized sphere around the listener. Windows Sonic for Headphones, DTS Headphone:X, và Dolby Atmos implement speaker mapping & virtualization to headphones, but note that many other aspects of sound spatial simulation, already typically implemented in nội dung creator-enabled ways, are left to lớn existing engines. Content creators continue to lớn use the existing game tools và processes they’ve sầu previously had for such spatial cues as Doppler, distance-based attenuation & filtering, occlusion & obstruction, and environmental reverberation.

Additional Resources

Spatial Sound Interfaces

ISpatialAudioClientEnables a client to create audio streams that emit audio from a position in 3D space.
ISpatialAudioObjectRepresents an object that provides audio data khổng lồ be rendered from a position in 3 chiều space, relative lớn the user.
ISpatialAudioObjectRenderStreamProvides methods for controlling a spatial audio object render stream, including starting, stopping, and resetting the stream.
ISpatialAudioObjectRenderStreamNotifyProvides notifications for spatial audio clients to lớn respond lớn changes in the state of an ISpatialAudioObjectRenderStream.