The X-Fi Audio Ring: Powerful and Flexible

Putting aside marketing buzz words and the slightly tacky Xtreme Fidelity moniker, the new generation of sound cards from Creative Labs is quite impressive. The technological advancements come from the inclusion of four key new features: the ring based architecture, a high quality sample rate converter, a powerful DSP, and on-board RAM. First on the chopping block is the Audio Ring.

Current sound card architectures are based on a linear flow of data. For straight up audio listening or recording, this is not a problem - there isn't any need to deviate from the norm in these cases. And that's why we haven't seen a fundamental change in audio architecture until now. It is when we want to intensively multiplex these components and perform operations on large numbers of audio streams that we run into problems. The backbone of X-Fi is its ability to process any audio stream on any component in the audio chain in any order, and any number of times without having to leave and come back in.

The ring supports up to 4096 internal audio channels that can all be taking different paths through the hardware. Don't confuse these internal channels with the number of voices that the card can handle. The X-Fi is maximally capable of playing up to 127 simultaneous voices. These 4096 channels include channels necessary for advanced filtering and effects processing. The bus is time division multiplexed rather than interrupt driven or otherwise mastered. Time division multiplexing involves handing out the entire bandwidth of the bus to a single channel on a set time interval. The result is that each channel has a deterministic bandwidth and latency - aspects important to effective audio processing. For example, in a household with two teenage daughters, we could time division phone bandwidth by letting one daughter talk during even hours of the day and the other during odd hours. This way, the entire bandwidth of the phone (or audio ring) is fully allocated and you would always know which daughter (or channel) is using the bandwidth at a given time.

Another reason why Creative may have chosen to support so many internal channels is so that it can handle algorithms that call for splitting or duplicating an audio stream for multiple different types of processing and analysis. This could range from using CMSS-3D (Creative's new surround upmixing feature) to efficient implementations of complicated high order N-tap and feedback filters. Creative doesn't talk much about the uses of these internal channels, but many of their new features include detecting aspects of the audio being played in order to enhance the sound. It seems likely to us that the algorithms that implement their new features would rely on the high number of channels and the flexibility of the ring architecture to get as much done at one time as possible in order to keep from introducing an unacceptable amount of latency.

Now that we know how the ring works, here's what each node on the ring does:

Transport: This handles moving audio streams in and out of local RAM as well as over the PCI bus to system RAM. The Transport engine manages over 1000 DMA channels to both the PCI bus and local SDRAM. Being able to manage so many DMA requests at a time is important for dealing with the latency of PCI and effectively managing the volume of data with which the new solution is capable of working.

Tank: Its name is based on the tanks that held mercury used to create high quality analog delay lines. The tank engine is capable of fractional and modulated delay lines (delays that don't line up with the sample pattern and delays that change over time). The tank engine supports up to 1024 accesses per sample. This means that the tank engine can assist in many types of effects including: chorus, reverb, reflections, and interaural time delays (for positional audio effects). These effects are employed quite a bit in many of the audio processing features of the X-Fi, so avoiding the use of a DSP for the creation of a delay line is very helpful in spreading out processing power.

SRC: The Sample Rate Converter seamlessly transforms any audio stream or channel to any other supported sample rate with very low ripple and THD+N. We will cover this node in detail as it is one of the key features of the new architecture, allowing Creative to convert the sample rate of all audio multiple times independently of any other audio with little to no discernable loss in quality.

Filter: The filter engine implements 512 floating point 2nd order IIR filters. This is the fundamental building block of sound synthesis, 3D spatialization, equalizers, speaker calibration, and a host of other features. There are 13 filter types implemented in hardware from direct and parametric 5 parameter EQs to notch and peak filters. Complex (higher order) filtering and synthesis can be achieved by looping through the filter engine multiple times until the desire result is achieved.

Mixer: Consisting of 256 audio summers, 1024 parameter combiners, and 4096 single segment parameter rampers, the mixer is where internal audio channels come together. Parameter mixing and ramping are used to control effects combining for things like 3D audio effects in game. Instead of single segment, the parameter rampers can also support either 1536 multi segment rampers or 4 multi segment shapes (possible shapes are linear, pseudo exponential, and pseudo logarithmic).

DSP: The X-Fi Quartet DSP is so named because it supports 4 hardware threads. Each thread has access to two SIMD (single instruction, multiple data) units for easy stereo and complex math processing. NVIDIA has called a multiple SIMD processing unit MIMD (multiple instruction multiple data), but Creative has dubbed the overall architecture TIMD (Thread Interleaved Multiple Data) due to the hardware threading support alongside traditional methods. The Quartet DSP is central to many of the X-Fi features and we will cover this hardware at length as with the SRC engine.

Audio I/O: This node handles moving the final processed audio streams to output either digitally or through a DAC, and can also acquire input from each of the source options on the hardware. Audio sources in memory do not enter the path through this node, and likewise for audio written to memory (or a file). This block manages all the physical I/O ports on the X-Fi card.

Having easy access to any of these structures at any time during audio processing will greatly simplify the process and increase the complexity of operations possible on X-Fi hardware. In order to further optimize the architecture, Creative has introduced three distinct modes in X-Fi. These modes outline the basic type of path that audio streams will take through the ring. For instance, professional audio programs require very low latency audio from the sound card when recording. In order to accommodate this, the Creation mode limits the types of processing done to less complex (and faster) algorithms. Creation mode also allows synchronized audio streams for proper integration into a studio setting. These features aren't necessary when in Gaming or Entertainment modes, as the focus of these modes is on generating or heavily processing audio before input or output.

Architecting the card like this isn't useful unless the nodes on the ring are powerful enough to exploit the potential. Creative has spent quite a bit of time in making sure that this is the case. Their components are high quality and introduce as little distortion and noise as possible in order to make heavy processing of audio on a consumer sound card a reality. (Whether this is really a good thing or not is still up to the end user.) Over the next couple of sections, we will cover the most important components of the audio ring, as well as explore what is possible when all of this hardware sings in unison.

Index X-Fi Processing Elements: Exploring the SRC
POST A COMMENT

110 Comments

View All Comments

  • Fricardo - Saturday, October 29, 2005 - link

    I would really like to see performance numbers on the cheaper x-fi components. Reply
  • flachschippe - Monday, October 24, 2005 - link

    quote:

    the Quartet is made up of 4 independent two-issue SIMD engines

    "Thread-Interleaved" could also mean simply multithreading, but on a single processor ("engine").
    Reply
  • Gooberslot - Thursday, September 1, 2005 - link

    Am I wrong in assuming that having high stereo crosstalk in the upper ranges is worse than having it in the lower ranges? If not then this X-fi is junk because that crosstalk is way too high. Reply
  • ceefka - Thursday, September 1, 2005 - link

    You're right: the whole idea behind a 5.1 setup. With most modern music however a lot of high frequencies aren't even panned in a distinctive direction. Reply
  • Anton74 - Wednesday, August 31, 2005 - link

    What's the resolution of the ADC? Is it the same for the various X-Fi cards available at the moment? Reply
  • MrCoyote - Wednesday, August 31, 2005 - link

    Creative still hasn't got it right. The chip resamples all audio, just like the Audigy series. This is no good for musicians and amateurs that want to use it to record audio. If you set your audio software to record 24bit 96KHz, it will downsample to 16bit 48KHz, and then upsample output back to 96KHz. Cheaper audio cards from M-Audio can do true sampling faithfully. Why can't Creative get it right?

    Sorry, but I'm passing it up and sticking with M-Audio. I may lose a few FPS and not have EAX3, but true, faithful sampling is what I also need for recording. I don't just play games. Creative thinks audio cards are only good for games, not recording. I'm not wasting money to buy two different audio cards.
    Reply
  • dejerez - Wednesday, August 31, 2005 - link

    What product do you refer to? X-Fi does not need to down- or upsample. Everybody has their preferences but being M-Audio advocate does not mean you do not have to read review of the product you are posting comments about. X-Fi's clock works at the speed of your choice. And if you WANT to use sample rate conversion this has been vastly improved. That is the only card on the market that does distortion-free SRC which is great if you want to mix sounds from sources recorded at differnet sampling rates. Are you musician? I wish you were because you are not in position to appreciate how much this card can help a recordist or sound engineer... Reply
  • DerekWilson - Wednesday, August 31, 2005 - link

    dejerez is right -- you can set the card to internally sample everything at 96kHz.

    I'll also agree that mixing sources of different samplerates with no distortion and no conversion necessary is a nice thing. But locking samplerate is also important in the current landscape of audio software.
    Reply
  • mindless1 - Thursday, September 1, 2005 - link

    I'm not so sure you're correct here. Setting it to "sample everything at 96Hz" may be exactly what causes the resampling that audiophiles want to avoid. Internal sampling rate is a variable any card could do with software alone, but I/O sampling rate is not.

    It also appears to have NO 44.1 crystal, meaning it can't even play back an audio CD properly without resampling it.
    Reply
  • Somerset - Tuesday, September 6, 2005 - link

    You can set X-Fi to play back audio CDs at 44.1kHz without any resampling. In the Audio Creation mode, you can easily set the master clock to 44.1kHz if desired. On the other hand, resampling is no longer a negative with X-Fi as all audio test graphs clearly show that X-Fi's resampling produces a very clean signal. Resampling should no longer be considered a weakness of X-Fi. Reply

Log in

Don't have an account? Sign up now