Wednesday 20 February 2008

20/02/08 - Research into sound cards

Yesterday and today, I was researching exactly which sound cards have hardware accelerated HRTF support (and making sure that FMOD actually supported it). In the process, I came accross a project at Carnegie Mellon University which aims to do some very interesting things with 3D sound. The basic idea is (taken verbatim from their website):
The goal of our project is to demonstrate that audio can successfully be the primary element of interactive entertainment. Through the use of 3D trackers, headphones, and a game engine, we plan to create an immersive experience that is unique and demonstrates both the creative potential and emotional power of an audio experience.
Sounds kinda familiar ;-) Definately something to keep an eye on anyway!

While looking for a soundcard with good 3D support (specifically, for use with FMOD), as well as any other information on 3D sound, or methods of improving the sound quality, I've been digging through a number of forum and blog posts, especially on the FMOD support forums.
  • This thread on the FMOD forums shows that, from the posters personal experience, the Creative X-Fi XtremeMusic soundcards perform exceptionally better than the older Creative Audigy soundcards.
  • This article talks about 3D sound for games and has a lot of useful information regarding soundcard technology, HRTF, sound occlusion/obstruction, volumetric sound sources and different audio APIS (FMOD included).
  • Wikipedia article on the Creative X-Fi cards. According to the article, the Creative X-Fi Xtreme Audio cards do not contain the new EMU20K1 chip, meaning it does not support 3D sound in hardware! (Citations: here and here).
  • Thread on the FMOD forums outlining the recommended startup sequence. Not related to any specific soundcard, but covers some potential problems and solutions - this may become an issue when switching from software mixed 3D sounds to hardware sound.
All of the soundcards advertise CMSS-3D, but according to the research above, some cards (the X-Fi Xtreme Audio) emulate it in the driver instead - something we definitely want to avoid!
The Xtreme Gamer soundcard (besides being marketed as a gaming soundcard) seems to be the cheapest of the X-Fi soundcards that has the features we need. The Xtreme Gamer Fatal1ty Pro soundcard is the next one up, which potentially has better performance and/or quality (though not guaranteed!).

So heres the summary:
I would, of course, prefer the Fatal1ty Pro, since it is potentially better, but as this is not guaranteed and it costs €40 more, it would probably be best getting the cheaper one (which seems like a capable card anyway). If I were paying for it myself, I'd probably get the other one though - I never have been that good at managing money when it comes to shiney toys hahaha!

Well, thats enough research into soundcards, I think. I certainly can't wait to try the headset with improved 3D sound, when the soundcard arrives!

2 comments:

Anonymous said...

+ This blog was created on 17/18 February.
+ While you appear to have made some progress, it is not clear how much effort was required or what you have contributed to this two person project.
+ The descriptions lack detail and the work that has been undertaken has not been linked back to the project plan.

Dan said...

This blog was created on 17/18 February.
Yes, the entries were added to the blog on the Sunday night. I had kept a log of what I did on paper and only moved it to the blog then, which is why the posts are back dated.

While you appear to have made some progress, it is not clear how much effort was required or what you have contributed to this two person project.
Besides considerable effort into researching the area of 3D audio and ways of improving sound localisation, I have produced approx. 2K lines of Python code and approx. 500 lines of C++ (The messaging server, which routes commands from the various components is written in Python using the Twisted networking framework; the demonstration application (the one with the dots) was written in Python using PyGTK and the component which actually generates the audio was written in C++ using FMOD - looking back through my posts, I guess I never did mention that I wrote the audio program..)
Basically, so far, I have written the code for the purely software side of the project, while Graham has written the code that actually runs on and interfaces with the hardware (effectively, he gathers the input, prepares it in various ways and delegates it to me).

Should I edit this into the posts?

The descriptions lack detail
Could you elaborate on this? I'm not really sure where and what detail needs to be added. Thanks!

the work that has been undertaken has not been linked back to the project plan.
Do you mean in the functional specification? For example, the schedule? I will post a "progress report" entry that maps what has been done to what was planned. Is that enough, or should I edit the older posts to add this??

Thanks for the feedback!
(PS: Feel free to email me directly, if that would be easier for you: dkersten AT gmail DOT com or daniel DOT kersten2 AT mail DOT dcu DOT ie)