« Xbox 360 Architecture (index)

Xbox 360 Architecture

Chapter 5: Audio


Table of Contents

  1. The hidden audio chip
    1. A codec-rich industry
    2. One more push for WMA
  2. A look at the XMA accelerator

As CPUs evolved to become multi-core jack of all trades, the grounds for housing dedicated audio hardware slowly dissipated. In the end, Microsoft decided that the Xbox 360's audio department would be the responsibility of the CPU, and as such, the audio pipeline was implemented through software. So, the operating system provides routines which games access through the official SDK. This brings in new advantages, as the general-purpose capabilities of CPUs are not restricted to a fixed set of audio functions.

A year later, the PS3 would follow suit, and thus cement this practice across the video game industry.

The hidden audio chip

Conversely, in the case of the Xbox 360, we find a huge exception to this rule: Microsoft fitted a hardware audio decoder on the motherboard . Although, this circuit is hidden within the Southbridge chip (explained further in the 'I/O' section) and it only supports one codec called Xbox Media Audio (XMA). The latter is a variant of Microsoft's proprietary Windows Media Audio (WMA), which you may have heard about already. In any case, why was that codec so crucial that Microsoft invested extra hardware in a console already facing budget cuts?

A codec-rich industry

Image
Windows Media Player 6, released in 1999. This was Microsoft's weapon against its contemporaries, namely QuickTime, Winamp and so forth.

Back in the naughties (and even the late 90s), during the rise of the World Wide Web and affordable multimedia products (e.g., accelerator cards, SIMD-capable CPUs, and fast network bandwidth), many companies that were once narrowly focused on productivity software suddenly ventured into a new area of multimedia services.

It so happened that, all of a sudden, users began asking to watch full-motion movies on a PC, listen to music while working on a spreadsheet, and even compile their own audio CDs (the iconic rip and mix). We, of course, take all of this for granted now, but mind these 'abilities' had to be implemented at some point in history. Initially, they were delivered through third-party software (Nero and Winamp, to state a few) and later bundled with the operating system: Windows XP had built-in CD burning features, albeit mediocre, and Mac OS X 10.1 integrated iTunes.

Now, if we focus on the events surrounding the music world and its never-ending sharing systems, we also see that the MP3 became the de-facto codec for transmitting music and that brought huge demand for media players that could decode MP3 (well, technically, MPEG-1). That being said, what was Microsoft's response to this trend? Well, develop another codec to displace MP3, a new format called Windows Media Audio or 'WMA' .

One more push for WMA

Image
Windows Media Player 11, released in 2006. Now with a fancier UI and more proprietary codecs!

Unfortunately for them, the adoption of WMA was not as popular as MP3, presumably due to Microsoft's licensing schemes. To top it off, Microsoft later fragmented their user base by releasing non-backwards compatible revisions and offering multiple tiers. Yet, the company still kept pushing for adoption by other means, for instance, through DirectX's audio playback libraries, namely 'DirectShow' .

You can see now that it's not difficult to put two and two together. The original Xbox was conceived as a 'DirectX-compatible console' and, while one could debate about such statement, the same slogan also applied to the Xbox 360. So, it's no mystery that WMA carried on in this console.

However, Microsoft didn't bring WMA in its current form. Instead, they enhanced it to make it an attractive codec for game studios (already adopting Sony's ATRAC3). In essence, Microsoft grabbed the high-end WMA tier (called 'WMA Pro') and added more levels of compression that were favourable to the bandwidth capacity of the Xbox 360. Finally, they renamed it Xbox Media Audio or 'XMA'.

For the coup de grace, Microsoft added dedicated circuitry to offload CPU cycles during decompression tasks, so the CPU can focus on other parts of the game.

A look at the XMA accelerator

In terms of functions, the XMA decoder can decode up to 5.1 audio channels with a sample rate of 48 kHz and a resolution of 16-bit. No surprises here!

Image
Overview of the audio pipeline.

Moving on, the decoder works as follows:

  1. It starts by reading XMA-encoded data from main RAM.
  2. Decodes it.
  3. Outputs PCM data, ready to be streamed, in an arbitrary location in main RAM.
  4. Finally, the CPU can apply effects on it and/or forward it to the audio DAC for hearing.

All of this is abstracted with the use of Microsoft libraries, which handle how data is streamed, optimised in cache and moved around in memory. Developers have multiple APIs at their disposal, each offering thinner-to-thicker layers of abstraction. Be that as it may, the thinnest API won't provide direct access to the XMA decoder, as it's still a proprietary and undocumented block of circuitry, after all.


Previous: 4. Graphics

Next: 6. I/O


Rodrigo Copetti © 2026 RSS Feed

Switch to modern edition

Home · Writings · Support · About author · About website