Hardware OpenAL support (aureal vortex and sblive)

Discussion in '3-D Audio' started by mjander, Oct 21, 2003.

  1. mjander

    mjander New Member

    Joined:
    Oct 21, 2003
    Messages:
    2
    Likes Received:
    0
    Trophy Points:
    0
    Hello,

    I'm currently working on 3D hardware support for the Aureal Vortex series of soundcards. I know that they once where a rival to Creative labs, but please don't flame me.
    They sound create too :D

    Well, i already figured out howto program HRTF and the like into the Aureal Vortex 3D processor, but obviously thats useless without a Decent API. The obvious choice to me semes to be OpenAL, since there is available source code, and a big company backing it.

    I helped to write a Completely rewritten driver for Linux, which already is in a stable state, and has been incorporated into the official ALSA (Advanced Linux Sound Architecture) release. It provides support for almost anything except the 3D audio processor part yet.

    I think that any effort in supporting a decent 3D support, for whatever soundcard should be done in a cooperative fashion, to avoid the dilution of inidividual efforts.

    The other issue is porting our driver to windows. Is there any source code avaiable from the kx project ? The idea is to start with some sort of skeleton driver framework, and hook into it the existing Aureal Vortex driver core, which has been designed to be portable.

    Any comments are gladly welcome.

    Manuel Jander
     
  2. Eugene Gavrilov

    Eugene Gavrilov kX Project Lead Programmer and Coordinator

    Joined:
    Dec 7, 2002
    Messages:
    3,146
    Likes Received:
    9
    Trophy Points:
    48
    hello

    I'm glad you've decided to contact us concerning 3-D audio implementation. At the moment, there are two main APIs available for Windows computers: DirectSound3D and OpenAL (I doubt Aureal's own API will ever resurrect). Our driver currently supports DirectSound3D API and its programming model. We are currently working on EAX implementation. In most cases, the OpenAL API is supported in Windows by means of a special 'translation' layer (the source code is available from www.openal.org), so, since DirectSound3D is a 'native' API for Windows, this solution seems to be quite natural. However, it seems that Creative Labs has recently introduced its own implementation (NOT opensource), that doesn't rely on the DirectSound3D API.

    As for our own project, we currently don't have any plans implementing native support for OpenAl, since the translation layer is widely available.

    >> and a big company backing it.

    unfortunately, the only company curretly supporting openAl is Creative
    (well, NVidia isn't a significant player at the moment)

    >>I think that any effort in supporting a decent 3D support, for whatever soundcard should be done in a
    >> cooperative fashion, to avoid the dilution of inidividual efforts.

    I agree

    >> Is there any source code avaiable from the kx project

    no, at least, not at the moment

    >> The idea is to start with some sort of skeleton driver framework, and hook into it the existing Aureal
    >> Vortex driver core

    probably, writing a new 'core' compatible both with DirectSound3D and OpenAL might be a good idea
    however, every 'implementation' is usually hardware-specific
    our own 3-D kernel is card-independent, but it is much closer to the DirectSound3D programming model (than to OpenAL one)
    I currently don't have any hardware information on the Vortex chips so I cannot guess if there is a possibility to create a good hardware abstraction layer to fit both 10kX and Vortex architectures.

    Please let me know if you have any ideas on our possible collaboration.

    /Eugene
     
  3. mjander

    mjander New Member

    Joined:
    Oct 21, 2003
    Messages:
    2
    Likes Received:
    0
    Trophy Points:
    0
    back again...

    Hi again,

    Its a long time ago since i posted, but know i have something more valuable source code in my bag :D

    Finally i got the Aureal Vortex 3D engine working. I know exactly how it works and what it supports:

    I has 16 3D processing units, that can be routed in any possible way.
    Each of these 3D "sources" supports 2 56tap FIR filters for HRTF processing (one for each ear),
    atmospheric filters, time delay and individual gain. The output of these 16 3D sources is fed
    into a corsstalk canceler, and mixed together, to be send to the codec.
    Apart of that there are upto to 96 additional DMA channels which can be used to add "reflections",
    and/or midi synthesis.

    The programming of the HRTF and other processing blocks is very easy, since the HRIR coeficients are
    just written into memory mapped areas.

    What is really urgently needed for the Aureal Vortex driver is a Windows WDM audio driver skeleton where we
    can hook in the existing driver core (which is part of a stable well working ALSA (linux) driver). This new core is 100% open source written from scratch, so the old binary core bugs don't have to be worried about.

    If anyone could tell me where to find a WDM skeleton driver, would be very great.

    By the way, the Kx project is supposed to be free... in the sense of "free as in beer" or "free as in speech" ???


    Best Regards
     
  4. RIV@NVX

    RIV@NVX Freedom is a feature.

    Joined:
    Jul 10, 2002
    Messages:
    4,476
    Likes Received:
    2
    Trophy Points:
    0
    Re: back again...

    It's free as you don't have to pay for it, but it's not opensource.
     
  5. igor_levicki

    igor_levicki Intel Black Belt

    Joined:
    Dec 3, 2003
    Messages:
    128
    Likes Received:
    0
    Trophy Points:
    0
    you can find it in windows driver ddk which you require for writing the driver anyway. I would also suggest getting Numega Driver Suite since it has C++ libraries of classes that can spare you quite some hassle of writing glue code for interfacing with OS.
     

Share This Page

visited