Cross-platform Audio Creation Tool
Cross-platform Audio Creation Tool (XACT) is an audio programming library and engine released by Microsoft as part of the DirectX SDK. It is a high-level audio library for authoring/playing audio that is written to use Xaudio on the Xbox, DirectSound on Windows XP, and the new audio stack on Windows Vista and Windows 7. Xaudio is an Xbox-only API designed for optimal digital signal processing. XACT also includes X3DAudio, a spatialization helper library available on both platforms, Windows and the Xbox. XACT was originally developed for Xbox development, and was later modified to work for Microsoft Windows development as well. Overview
The original release of XACT was in 2002 and shipped as part of the Xbox SDK only and was originally called the "Xbox Audio Creation Tool". It was designed to allow sound designers and composers for the original Xbox console to have access and control of the powerful MCPx audio chip in the console, which previously could only be accessed through program code, via Xbox extensions to DirectSound. XACT was the first widely available game audio tool that allowed a sound designer to run a tool connected to a running game and modify the sounds in real time, as the game was running, and support easy streaming of audio data from the console hard drive. Later, under the XNA initiative, it was re-written to work on both Windows and Xbox and renamed the "Cross-platform Audio Creation Tool" and included as part of the DirectX SDK. Support for XACT has been carried over from DirectX to XNA. The XACT Audio Authoring Tool is also available in XNA Game Studio. With the release of Windows SDK for Windows 8 Developer Preview, XACT is no longer supported on Windows. The XACT Audio Authoring Tool is a companion application used to organize audio assets into wave banks (single files containing multiple WAV files) and sound banks (single files containing instructions for playing the WAV files in wave banks). The wave banks and sound banks for a project are subsequently called by XACT from within the application. XACT sound creation features
 Support for the following formats: WAV, AIFF, XMA
 Note: also supports embedded loop points in WAV and AIFF formats
 16 and 8 bit PCM data
 Supports Stereo and 5.1 speaker arrangements
 Organization of sounds
 Multiple audio files can be grouped together into Wave Banks (XWB extension)
 Cues and settings can be bundled with the Waves in Sound Banks (XSB extension)
 Auditioning
 Audio console window can be used to preview audio
 Audio settings can be adjusted in-game (with debug mode libraries)

XACT API programming features
 The API allows the integration of the wave, sound and cue information from the creation phase
 In memory and streaming support
 Audio event notification
 Includes a code-driven API allowing lower level loading and playback of sounds without having to use all the XACT sound organisation features....

XACT terminology and file types
 Sound Banks (.xsb) - a collection of sounds and cues. Sounds - a sound has one or more waves together with properties like volume and pitch. Sounds are made up of tracks. Tracks - tracks are made up of events E.g. the simplest track has a Play Wave event
 Events - various actions that take place within a track. Actions include: Play, Stop, Set Volume, Set Pitch etc. Cues - a cue is used in code to trigger sounds. Each cue is made up of one or more sounds
 Wave Banks (.xwb) - a file format containing a collection of waves
 Waves - the raw wave data in wav, aiff or xma format
 Global Settings (.xgs) - defines rules and settings for sounds. Categories - sounds can be assigned to a category (only one each) that specifies certain rules like number of instances along with settings like volume. You could create a category for the sounds of one character in your game so they all have the same volume. There are three predefined categories: global, default and Music. Variables - these can be defined in the design stage and then referenced by the programmer in code to control Run-Time Parameter Controls
 Run-Time Parameter Controls - also known as 'sliders'. These allow the control of sound parameters as the sound plays. For example, they could be used to control the pitch of a car engine sound so as the accelerator is pressed the pitch is changed
 DSP Effect Path Presets (DSPs) - allow effects like reverb to be applied to sounds
 Compression Presets - compression can be applied to waves or wave banks

References

External links
 XACT on MultimediaWiki

Audio libraries
DirectX
Microsoft development tools
Microsoft Windows multimedia technology
Xbox development