Presentation is loading. Please wait.

Presentation is loading. Please wait.

4/1/2017 4:16 PM.

Similar presentations

Presentation on theme: "4/1/2017 4:16 PM."— Presentation transcript:

1 4/1/2017 4:16 PM

2 XAudio2: Audio Building Blocks for the Future
4/1/2017 4:16 PM XAudio2: Audio Building Blocks for the Future Brian Schmidt Program Manager XNA Professional Game Platform Microsoft

3 Game Audio Pipelines

4 Game Audio Pipelines

5 4/1/2017 4:16 PM Game Audio Pipelines

6 XAudio2

7 XAudio2 XAudio2 Xbox 360 Game Windows Game (XACT 3) (XACT 3)
WASAPI (Vista)/DirectSound (XP) XMA Decoder Xbox 360 Audio Output Hardware Drivers/Audio Output Hardware

8 Bit of History… 1995: DirectSound released “Bleeding Edge” CPU:
Pentium, 133 MHz (no MMX) DirectSound3D API introduced (1997) ISA sound cards w/ on-board memory “wave file is a sound”

9 Fast Forward to 2008 Multicore, 3+ GHz CPUs HD motherboard audio
Surround Sound High fidelity SIMD floating-point architectures High-level audio tools Complex sounds and processing

10 XAudio2 is… A new API for code-driven, low-level audio processing for games Replacement for DirectSound for gaming applications for Windows XP and Windows Vista Replacement for XAudio for Xbox 360 games Based on Xbox 360 XAudio architecture XAudio2 API will be familiar to XAudio developer, but not just a recompile Incorporates feedback on XAudio API

11 XAudio2 Design Goals Focus exclusively on game scenarios
Simple – Just a few methods cover basic scenarios Greater emphasis on digital signal processing (DSP FX) Write and integrate your own DSP FX easily Submixing Allow more flexibility for 3D Support Microsoft gaming platforms

12 XAudio2 Features Programmable voices
Separation of sound data from “voice” Point XAudio2 at some sound data and Play() Submixing Multirate processing Arbitrary loop point Per-voice filtering Programmable voices Effects processing, SRC Software DSP Enhanced Surround Sound support Native Compressed Data Support XMA on Xbox 360 xWMA on Windows and Xbox 360 ADPCM on Windows Extensible

13 XAudio2 Components Source Voice
Reads data from XMA decoder /ADPCM or PCM xWMA Sample Rate Conversion, Volume, loop, N-way Pan Can insert arbitrary FX Multichannel support Submix Voice(s) Input from one or more voices & submixes them together N-way Pan Can send to additional submix voices Mastering Voice Takes final N channel mix as input Can insert arbitrary FX (compression, etc.) Outputs data to system

14 XAudio2 Overall Architecture

15 XAudio2 Source Voice XAudio2 Submix Voice

16 Submix Voices Useful for summing sounds and applying single DSP and/or 3D panning on the aggregate mix Also used for shared “send to” effects Reverb, etc. Can be used to reduce CPU usage by creating a “low rate submix”

17 Example: Submixing Voices

18 Example: Reverb Sends Source Voice Submix Voice Source Voice
Mastering Voice Source Voice Submix Voice with Global Reverb

19 Example: Low Rate Submix

20 3D/Surround Sound 3D Audio handled differently from DirectSound3D
XAudio2 provides enhanced Surround support Explicit multichannel panning/mapping 3D handled as a separate, replaceable library XAudio2 takes multichannel speaker volumes X3DAudio library transforms source/listener coordinates into speaker volumes and other synthesis parameters

21 Game Engine X3DAudio XAudio2 Game Object Geometry Data
-5.1 Speaker Volumes -DSP Data -Intermediate calculations -5.1 Speaker Volumes -DSP Data XAudio2

22 DSP Audio Effects XAudio2 uses new cross-platform DSP model, xAPO (Audio Processing Object) Simplification of APO model used for Windows Vista system effects Can use supplied xAPOs or write your own

23 4/1/2017 4:16 PM XAudio 2 Demo

24 Additional Enhancements Beyond Xbox 360 XAudio API
Built-in filter per voice Can set overall sampling rate Submixes can have their own sampling rate Reduce CPU usage Non-blocking API Deferred commands Not limited to 6-channel source data Improved DSP architecture

25 Libraries Built on XAudio2
Several libraries are built on top of XAudio2 These are updated as well Follow same Beta/RTM schedule XACT 3 XACT running on XAudio2 Windows and Xbox XMedia2 (XMV) Xbox 360 movie player running on XAudio2 XHV2 Xbox 360 voice library running on XAudio2

26 Release Schedule XAudio2 is available now RTM/Approved in March 2008
Beta/Unapproved in November SDK/XDK RTM/Approved in March 2008 Update in June 2008 SDK/XDK

27 Summary XAudio2 provides all-software audio pipeline for Windows and Xbox 360 Provides consistent experience across hardware configurations Based on Xbox 360 XAudio API, with enhancements Addresses long-standing issues with DirectSound Buffer/Data/Allocations Flexible DSP, submixing, signal processing Cross-pollination of Xbox 360 and Windows Technologies

28 Call to action Windows Games Xbox 360 Games Everybody!
Move your DirectSound game to XAudio2 Xbox 360 Games Move your XAudio game to XAudio2 Everybody! Please give us feedback Use for status, newsgroups, etc.

29 © 2008 Microsoft Corporation. All rights reserved.
4/1/2017 4:16 PM © 2008 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Download ppt "4/1/2017 4:16 PM."

Similar presentations

Ads by Google