Bug 4367 - Slight crackling noise produced occasionally when using official OpenAL DLLs from their website
Status: RESOLVED INVALID
Alias: None
Product: ioquake3
Classification: Unclassified
Component: Sound
Version: GIT MASTER
Hardware: PC Windows NT
: P3 normal
Assignee: Zachary J. Slater
QA Contact: ioquake3 bugzilla mailing list
URL:
Depends on:
Blocks:
 
Reported: 2009-12-05 22:57 EST by tinkah
Modified: 2009-12-28 19:37:46 EST
1 user (show)

See Also:



Description tinkah 2009-12-05 22:57:23 EST
This does not appear when using the DLL found in the Angst build, however, this is important since that DLL does not let X-Fi drivers correctly produce HRTF effects; For some reason sounds are produced flat (as in no spatial info flat, just stereo, as in positional info not being relayed correctly for use on HRTF hardware). With the official DLLs this is fixed but the crackling noises are noticeable.
Comment 1 tinkah 2009-12-06 11:01:04 EST
the noises appear even if I replace the header files in code/AL with the latest SDK ones provided on the openal website.
Comment 2 tinkah 2009-12-06 16:17:22 EST
I should point out the noise appears only in-game and not in a mod title screen.

confirmed the behavior of noise on 3 different soundcards on 2 different pcs, 7 64 and xp 32.
Comment 3 tinkah 2009-12-06 18:55:00 EST
problem still there even if compiling from latest trunk.


And I believe Angst doesn't provide the actual OpenAL32.dll but wrap_oal.dll renamed to OpenAL32.dll (which if I understand this correctly only provides Generic Software and Hardware facilities), an X-Fi card will require the proper OpenAL32.dll (as it exists in a normal installation of OpenAL without any dll in the quake3 dir) for providing X-Fi support.
Comment 4 tinkah 2009-12-06 22:13:43 EST
It might be related to this,

http://alsa.opensrc.org/index.php/Xruns
Comment 5 Ludwig Nussel 2009-12-07 03:12:34 EST
(In reply to comment #3)
> And I believe Angst doesn't provide the actual OpenAL32.dll but wrap_oal.dll
> renamed to OpenAL32.dll

Believe whatever you want but the ioq3 installer doesn't do any dirty tricks. It contains openal-soft cleanly compiled from source.
https://build.opensuse.org/project/show?project=home%3Alnussel%3Aioquake3%3Aunstable%3Ainstaller
Comment 6 tinkah 2009-12-07 06:26:44 EST
no need getting hostile,


then I understand the problem, OpenAL-Soft is an implementation that does not let OpenAL correctly route data to the appropriate sound card openal dll for Spatial Audio processing and that's not necessarily good since that keeps people with cards able to process Binaural effects such as the X-Fi cards (and in Realtek in an experimental fashion) through their own openal implementations.

By compiling OpenAL-soft you get a utility to list devices, it lists DirectSoftware several devices but in ioquake3, only a general 'DirectSoftware' is used, could it be that somehow it needs to choose specific devices?
Comment 7 tinkah 2009-12-07 06:30:30 EST
s/DirectSoftware/DirectSound
Comment 8 tinkah 2009-12-07 06:34:37 EST
or at least tell me how to hear Spatial Sound with it because I do not hear it.
Comment 9 tinkah 2009-12-07 08:43:38 EST
a ok here it is. OpenAL-soft guys say soft_oal.dll can be placed appropriately so OpenAL32.dll (original) can find its devices, apparently if soft_oal.dll is renamed to OpenAL32.dll it only finds DirectSoftware.

An arrangement can be

OpenAL32.dll (original)
soft_oal.dll (so it finds its DirectSound support)
wrap_oal.dll (so it finds its "Generic Hardware" and "Generic Software" support)
<manufacturer>_oal.dll in path so they find their specialized support (a problem is thought may be buggy but it's probably their own problem).
Comment 10 tinkah 2009-12-07 10:27:04 EST
The crackling noise only appears online, not with 32 bots offline.
Comment 11 tinkah 2009-12-07 21:29:12 EST
can be reproduced in a demo of the online game.
Comment 12 tinkah 2009-12-13 13:11:15 EST
sorry for the spam in this report; this issue may be related to buggy OpenAL host implementations by audio hardware manufacturers hence I suspect a dead end and potential off topic (without being confirmed of course).
Comment 13 Tim Angus 2009-12-28 19:37:46 EST
I think it's most likely that your OpenAL dll or drivers are to blame.