Dirk Ehlke


I am a Student at the Multimedia Information Processing group.

that's me
Address: Institut für Informatik und Praktische Mathematik
Christian-Albrechts-Universität Kiel
Hermann-Rodewald-Str. 3
D-24118 Kiel
Germany 
Email: dehlke@mip.informatik.uni-kiel.de
Privat Homepage: http://dirk.ehlke.de

Diploma Thesis

In my thesis (diploma) I complete an spatial sound Library. One topic was that the real listener's distance to the loudspeaker isn't constant. The listener can be move in the laboratory and can experience the sound from the source direction with the correct attenuation.

I completed and modified the Open Audio Library (OpenAL). Particularly the Linux implementation.
For a spatial sound experience the following filters are necessary:

At first I have rewrote the OpenAL ALSA backend for the new version (0.9.x beta). You can download this sourcefile here. The orginal OpenAL source code is available for download from Creative's open Source Site.
Replace this new alsa-backend with the old one at:

openal/linux/src/arch/alsa/

Then enable the ALSA backend, compile and install OpenAL. Make sure you have installed ALSA:

./configure --enable-alsa
make
make install

I mean that the current version of OpenAL ist very ugly and spatial sound doesn't work properly. :-(
So I have remove the orignal filters and inserted new filters. My filters supported source attenuation and direction (pair amplitude panning). This filters select two speakers they have the nearest angle between listener-source-vector and listener-speaker-vector. The power distribution about this two speaker was regulated by the angle ratio and the source distance. The other speakers generate no sound (silence).
The results are good.

You can download my filters include all OpenAL files as rpm packages (you need'nt the orginal OpenAL sources):

In the orginal version of OpenAL the speaker rotation are very ugly. So I have replaced the code. Additional now it is possible to set the speaker position. To move the listener in the room a "real" listener was born. (new openal functions..)
To enable 4.0 speaker output you musst modify / create the OpenAL config file:
~/.openalrc or /etc/openalrc

(define speaker-num 4)
(define devices '(alsa native))
(define alsa-device "surround40:0,0")

Please let me know, if you have any problem.


Dirk Ehlke

Last modified: 2003/01/27