Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I wanted to use DirectMusic in my game, but it's not in the June 2010 SDK, so I thought that I had to use DirectSound. Then I saw the XAudio2.h header in the SDK's include folder and found that XAudio2 is the replacement for DirectSound. Both are low-level.

During my research I stumbled across the XACT API, but can't find a good explanation on it. Is XACT to XAudio2 what DirectMusic was to DirectSound? By which I mean, is the XACT API a high-level, easier-to-use API for playing sounds that abstracts away the details of XAudio2?

If not, what is it?

share|improve this question

closed as not a real question by Josh Petrie, Maik Semder, Byte56, doppelgreener, 21st Century Moose Nov 22 '12 at 13:20

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.If this question can be reworded to fit the rules in the help center, please edit the question.

-1 for lack of research, as this is the first or second search hit for "XACT API" that rather succinctly explains that XACT is a high-level audio playback library. – Josh Petrie Nov 3 '12 at 21:03
I read that before posting. It leaves way to many questions unanswered. Like as far as I can tell XACT can only use .xwb and .xsb files from the XACT GUI program. That would mean it's NOT just a high level interface for xaudio, but rather an API only for using XACT GUI exported files. – EddieV223 Nov 3 '12 at 21:09
Your question, however, does not ask any of those allegedly unanswered questions, though. Your question asks "what is XACT?" You won't get answers to questions you don't ask. – Josh Petrie Nov 3 '12 at 21:12
There is more than one question mark. The second and third paragraphs ask these questions in broader terms. They are in broad terms on order to keep the questions focused. – EddieV223 Nov 3 '12 at 21:21
From a reader's point of view: you pretty much just seem to be asking what XACT is. "What is it? Is it anything like this thing, does it do this? If not, what's it do?" Ok, so it plays audio, that seems to answer it. The question of whether it only plays these two filetypes or not, or other subtle issues, aren't a part of it either implicitly or explicitly. – doppelgreener Nov 4 '12 at 13:43
up vote 2 down vote accepted

XACT is a high-level API for audio playback. XACT is implemented in terms of differing lower-level APIs on various platforms, some of which are actually deprecated. DirectSound, for example, is used to implement XACT on older version of Windows and DirectSound itself is deprecated.

On the 360, XACT is implemented in terms of the Xaudio stack; it's thus technically a cross-platform API, although not in the same fashion (as in, not supported by as many platforms as) something like fmod.

You can use XACT via XNA on the 360, and in fact that remains the last current SDK of any type (as of this writing) to support the API -- it's use is no longer supported on Windows as of Windows 8 (June 2010 was the final release of the DirectX SDK, the components formerly provided by that SDK have been integrated into the Windows SDK itself, and the latest version of that SDK removes support for XACT on Windows).

In the sense that XACT and DirectMusic were both built on DirectSound (and are now both deprecated on Windows), they are analogous. However, XACT only ran through DirectSound on XP -- on Vista and 7, it ran through the OS's rebuilt audio stack, primarily the Audio Session API.

share|improve this answer
DirectMusic was created back in the 90s when "General MIDI" was thought to be the end-all-be-all of game music. George "The Fat Man" Sanger was a major proponent of General MIDI and made some pretty awesome sound tracks back in the day for Origin titles. The fact is that General MIDI never caught on beyond a niche, and today MIDI use in games is limited to rhythm games. – Chuck Walbourn Jul 15 '14 at 6:44
XACT is deprecated and only available in the legacy DirectX SDK. For the DirectX Tool Kit for Audio (which uses XAudio2), I did recycle the XACT Wave Bank format to create a convenient way to manage collections of WAV files, but it does not make any use at all of the XACT Engine or SoundBanks/Cues. The use of the original XACT editor tool is optional as well as the tool kit includes a command-line tool that can build .xwb files from .wav files, but it is compatible with the legacy tool as well. – Chuck Walbourn Jul 15 '14 at 6:47

Not the answer you're looking for? Browse other questions tagged or ask your own question.