For direct access use https://forums.oldunreal.com
It's been quite a while since oldunreal had an overhaul, but we are moving to another server which require some updates and changes. The biggest change is the migration of our old reliable YaBB forum to phpBB. This system expects you to login with your username and old password known from YaBB.
If you experience any problems there is also the usual "password forgotten" function. Don't forget to clear your browser cache!
If you have any further concerns feel free to contact me: Smirftsch@oldunreal.com

ALAudio for UnrealTournament - development and links

This forum is for the new audio renderer for UEngine 1 based games, like Unreal, UnrealTournament, DeusEx and Rune. Missing a Game? Want to develop yourself? Let us know!
Post Reply
User avatar
Smirftsch
Administrator
Posts: 8999
Joined: Wed Apr 29, 1998 10:00 pm
Location: NaPali
Contact:

ALAudio for UnrealTournament - development and links

Post by Smirftsch »

www.oldunreal.com/betatest/OpenAL_v2.4.7_UT.7z

Version 2.4.7 for UnrealTournament, Windows version.
Changes:
New distance model, based on AL_LINEAR_DISTANCE_CLAMPED, sanity check for number of sources (max EffectChannels) in case hardware based dll from Creative Labs is used, fix for possible compression effect if to many soundsources are playing at once with very high gain.
Added configuration parameters for:
  • ViewportVolumeIntensity, which affects all sound effects local to the player. Very useful for a finer setup if a 5.1 or more soundsystem is in use.
  • ReverbIntensity, many people still don't know the old reverb (echo) effects included in the original game, which have been bugged out of galaxy since Unreal the 226 days from galaxy sounddrv. ALAudio re-implements these, but since these sounds can be irritating they can be scaled here additionally.
due to the fact that these things may differ a lot depending on speaker setup (such as stereo and 5.1 for example)

New libxmp.dll (4.3.13 with yet again many fixes for IT, see more at http://xmp.sourceforge.net )  and OpenAL32.dll (1.17.2 http://kcat.strangesoft.net/openal.html )
Occluded sources are now not only quiet, but also filtered for a more realistic, "muffled" effect.
Astat audio and astat detail also includes now information about the music being played.

Version 2.2 for UnrealTournament, Windows version.
Auto matching of libxmp samplerate, updated some check in libxmp 4.3.9 to re-enable support for some obscure tracker file, updated to OpenALSoft 1.17 with HRTF (new ini settings Autodetect/Enable/Disable). Autodetection may only work with USB headsets.

Version 2.1 for UnrealTournament, Windows version.
Added some new check for thread safety

Version 2.0 for UnrealTournament, Windows version.
Changes:
Fix for savegames may be crippled and crash the game on load (not originated in ALAudio, but needed a workaround).

Version 1.9 for UnrealTournament, Windows version.
Changes:
Fix for bSoundAttenuate false not working.

Version 1.8 for UnrealTournament, Windows version. (now built with VC2013).
Changes:
Crashfix for 1 CPU affinity (forced by GOG version or manually).

Version 1.7 for UnrealTournament, Windows version.
Changes:
Fix to reduce CPU load to increase stability especially when running on one CPU core only. Crashfix for a "never should happen" situation.
This version also contains a new option "UseSpeechVolume" which defaults to false for UT at the moment. With this option set to true SpeechVolume affects all "SLOT_Talk" sounds, but UT doesn't have an UMenu option for that.
Update of libxmp to 4.3.9

Version 1.6 for UnrealTournament, Windows version.
Changes:
Switched in OpenAL from FMod Music output to [url=http://xmp.sourceforge.net/]libxmp[/url].
This player is not only free and open source (GNU LESSER GENERAL PUBLIC LICENSE), but better portable and is yet actively maintained unlike most other players. It also plays some tracker files "more correctly" than old FMod3. OGG playing is now done directly via [url=http://www.vorbis.com/]ogg vorbis[/url] (BSD-License).

Added CrossFading ability in OpenAL when using MTRAN_Segue
Added ability to play sounds in OGG format (you need to rename the .ogg files to .wav to allow the import)

Changed from Creative Labs OpenAL to [url=http://kcat.strangesoft.net/openal.html]OpenALSoft [/url] (LGPL-licensed) to eliminate problems with non Creative cards in Windows 7 and Windows8

new in 1.6:
Yet another couple of minor fixes, improvements, code cleanups.

Added usage of AL_METERS_PER_UNIT function to make effect calculations more fitting to "real world" environments (based on UU/Meter).

Updated libxmp to 4.3.8

Added support for FLAC (BSD-License) and [url=http://www.mpg123.org/]mpg123[/url] (LGPL 2.1) for sounds.

Removed ALAudio.u and replaced it with EFX.u
EFX.u is a pure UnrealScript package which does not depend on ALAudio, nor is ALAudio required for it to use. As EFX.u has the download flag set, a client can just download it for network play like any other package and if ALAudio is not used the ZoneInfo's sounds settings just simply have no effect. This change allows the mappers to make use of a huge number of environment presets (114) without taking the risk that people not using ALAudio can't play a map.

Notes for mappers:
* EFX.u packages offers a set of ready to use ZoneInfos to customize ZoneAudio settings.
* If you just custom defined ZoneAudio settings instead of using ReverbPresets consider
   consulting OpenALs EffectsExtensionGuide.pdf especially in respect to default values and clamping.

Notes for mod developers:
* See EFXZoneInfo UnrealScript code for further explainations.

Don't forget to update your ini (although will now set up defaults if not existing):
[ALAudio.ALAudioSubsystem]
ALDevice=DefaultDevice
OutputRate=44100Hz
SampleRate=44100Hz
SoundVolume=192
;general sound volume
SpeechVolume=192
;creatures often use speech slot for the noises they make. Not really in use for UT
MusicVolume=200
;general music volume
EffectsChannels=64
;number of max effects channels. 64 should be sufficient. "stat audio" command may show how many channels are really in use.
AmbientFactor=0.700000
;for ambient sounds
DopplerFactor=0.010000
;the higher the more doppler effect.
bSoundAttenuate=True
;sounds being attenuated when behind objects/structure
UseDigitalMusic=True
;enable disable music.
MusicInterpolation=SPLINE
;Interpolation type: can be one of the following values: XMP_INTERP_NEAREST  /* Nearest neighbor */, XMP_INTERP_LINEAR   /* Linear (default) */,
XMP_INTERP_SPLINE   /* Cubic spline */
MusicDsp=DSP_ALL
; DSP effects flags: enable or disable DSP effects. Valid effects are: XMP_DSP_LOWPASS     /* Lowpass filter effect */, XMP_DSP_ALL         /* All effects */
MusicPanSeparation=50
;percentual left/right pan separation in formats with only left and right channels
MusicStereoMix=100
;Stereo mixing
MusicAmplify=1
;Sound effects are often way louder than music. Music can be adjusted here. Ranges from 0 to 3.
EmulateOldReverb=True
;emulate old reverb effects.
OldReverbIntensity=1.0
;intensity for old effects.
UseReverb=True
;enable new EFX based effects.
ReverbIntensity=1.000000
;intensity for EFX based effects.
ProbeDevicesOnly=False
;only use if you are in trouble finding a valid output device. This will only probe so that more information can be read in the log. All output is disabled.
UseHRTF=Autodetect
;HRTF use. Autodetection may only work with USB headsets.
UseSpeechVolume=False
;since not all UE1 games/mods may have a useful purpose for this (yet), leave disabled by default.
ViewportVolumeIntensity=1.000000
;Affects all sound effects local to the player. Very useful for a finer setup if a 5.1 or more soundsystem is in use.

Report bugs or possible issues here.

Note that the usage of this version online can cause anticheat protected servers to kick you.
Last edited by Smirftsch on Tue Aug 08, 2017 8:50 am, edited 1 time in total.
Sometimes you have to lose a fight to win the war.
User avatar
Dr.Flay™
OldUnreal Member
Posts: 423
Joined: Sun Dec 09, 2012 5:57 pm

Re: OpenAL for UnrealTournament - development and links

Post by Dr.Flay™ »

Err, yes that last line is a pain.
Unfortunately as the main cheat distros do not get updated regularly, you must sent a link to this. to the admin of servers you wish to use.
They can then white-list it.

Well my results so far. Not much to see.
Working well os software mode but no HW. The Realtek tool does not work with this, but I'm going to scrub the system installed driver and test again.

Set to software

Code: Select all

Log: Bound to ALAudio.dll
Log: OpenAL: ALDEVICES found 1:OpenALSoft
Log: OpenAL: ALDevice 1, OutputRate Enum 6
DevAudio: OpenAL: rate 48000
Init: OpenAL: Selected ALDevice is: 1
DevAudio: OpenAL: Trying to use ALDevice: OpenAL Soft
Log: OpenAL: We are using OpenAL device: OpenAL Soft
Log: OpenAL: EFX Extensions found
Log: OpenAL: Check for EFX Version - OK
Init: OpenAL: EFX initialized.
Init: OpenAL: Audio subsystem initialized.
Init: Game engine initialized
Log: Startup time: 2.249680 seconds
DevMusic: OpenAL: Transiting to Suprfist with MTRAN 3
DevMusic: RegisterMusic Suprfist
Log: OpenAL: playing Suprfist SuperFist (Impulse Tracker 2.14v5 IT 1.00)
Set to default

Code: Select all

Log: Bound to ALAudio.dll
Log: OpenAL: ALDEVICES found 1:OpenALSoft
Log: OpenAL: ALDevice 0, OutputRate Enum 6
DevAudio: OpenAL: rate 48000
Init: OpenAL: Selected ALDevice is: 0
Warning: OpenAL: Failed, trying (again) default device
Log: OpenAL: We are using OpenAL device: OpenAL Soft
Log: OpenAL: EFX Extensions found
Log: OpenAL: Check for EFX Version - OK
Init: OpenAL: EFX initialized.
Init: OpenAL: Audio subsystem initialized.
Init: Game engine initialized
Log: Startup time: 1.179339 seconds
DevMusic: OpenAL: Transiting to Suprfist with MTRAN 3
DevMusic: RegisterMusic Suprfist
Log: OpenAL: playing Suprfist SuperFist (Impulse Tracker 2.14v5 IT 1.00)

Must say. I really love the extra info this renderer logs, although it does not report it's own version, which I think should be clearly visible.
User avatar
Smirftsch
Administrator
Posts: 8999
Joined: Wed Apr 29, 1998 10:00 pm
Location: NaPali
Contact:

Re: OpenAL for UnrealTournament - development and links

Post by Smirftsch »

OpenALSoft behaves that way, that's normal. But don't be afraid of using it, it doesn't seem to be any slower, at least I couldn't find a difference when benchmarking.
I have admit that I have no idea about how the internals in OpenAL and how "hardware acceleration" on soundcards really works there, or in other words how much influence the old original OpenAL dll is having, especially on non creative cards, but what I can say is that I made some tests and new ALAudio performs faster than old ALaudio, FMod and Galaxy already due to having the ability to use another core for buffering (indeed it showed 1FPS gain in my testmap, which is overal ~2.5% more compared to the usual result).
Other advantages of OpenALSoft are that it is still actively maintained unlike the opensourced version by creative and that it usually doesn't cause any problems with non creative cards and newer OS like Win7 and Win8.

Thanks for the idea with the version info, I will have a look what the api provides to determine the version.

(PS in case you feel "Logspammed" add Suppress=DevMusic into the ini, section [Core.System], then all DevMusic commented logs are removed.)


About OpenALSoft:
This library is a compatible update/replacement to the deprecated OpenAL Sample Implementation (the SI). The original idea was to fork the old Windows version to attempt an accelerated ALSA version. The accelerated ALSA idea quickly fell through, but the software mixing code ended up being modified to be cross-platform, with multiple output backends: ALSA, OSS, DirectSound, PulseAudio, MMDevAPI, CoreAudio, Solaris, SoundIO, WinMM, PortAudio, "Null" Output, and a .wav writer are currently implemented.

OpenAL Soft's code has been improved to support mono, stereo, 4-channel, 5.1, 6.1, and 7.1 output. OpenAL Soft does not support the Vorbis and MP3 extensions, however these are considered deprecated. It does, though, support some of the newer extensions like AL_EXT_FLOAT32 and AL_EXT_MCFORMATS for multi-channel and floating-point formats, as well as ALC_EXT_EFX for environmental audio effects, and others.
Last edited by Smirftsch on Sun May 11, 2014 6:32 am, edited 1 time in total.
Sometimes you have to lose a fight to win the war.
User avatar
Dr.Flay™
OldUnreal Member
Posts: 423
Joined: Sun Dec 09, 2012 5:57 pm

Re: OpenAL for UnrealTournament - development and links

Post by Dr.Flay™ »

To be honest even on my nForce chipset and XP, I used the SW mode anyway even though it happily ran in HW mode.

There was no noticeable impact on performance during play, and with 256 SW channels using 64 and still using Winamp is no problem.


Anyway, I now have to test a map I have both with and without an EFX zoneinfo, and make sure it all does what it is supposed to.
So far so good.
User avatar
Smirftsch
Administrator
Posts: 8999
Joined: Wed Apr 29, 1998 10:00 pm
Location: NaPali
Contact:

Re: OpenAL for UnrealTournament - development and links

Post by Smirftsch »

Added version info for next update.
...
Init: OpenAL: EFX initialized.
Init: OpenAL: Version 1.1 ALSOFT 1.15.1 found
Init: OpenAL: Audio subsystem initialized
...
Last edited by Smirftsch on Sun May 11, 2014 6:54 am, edited 1 time in total.
Sometimes you have to lose a fight to win the war.
User avatar
speewave
Posts: 1
Joined: Sun May 11, 2014 12:49 pm

Re: OpenAL for UnrealTournament - development and links

Post by speewave »

I'm curious, will this version work with the Hardware OpenAL drivers from creative?

And if so how do i use the hardware driver, will it work out of the box or do i need to use ALChemy
User avatar
Smirftsch
Administrator
Posts: 8999
Joined: Wed Apr 29, 1998 10:00 pm
Location: NaPali
Contact:

Re: OpenAL for UnrealTournament - development and links

Post by Smirftsch »

ironically, this is now the first (Windows) version using OpenALSoft instead of "native" Creative Labs :).

As pointed out above already, it's really not sure if there are any (performance) advantages by using Creatives version, so far it seems that there are indeed only more problems, especially when it comes to non Creative cards and Creatives version hasn't been updated for years also. Further features which could be offered by their version are not free and we can't benefit from these here.

That being said, you can try using it your version of OpenAL32.dll which should be shipped with the driver of your creative card, by simply deleting OpenAL32.dll from this version (and inside UnrealTournament/System folder if existing), or if this is not working by replacing it inside the System folder with the OpenAL32.dll which can be found in your Windows folder.
If working the hardware accelerated devices should show up in advanced option an can be selected.

Feedback on eventual performance and quality experiences with these versions is very welcome ;)
Last edited by Smirftsch on Sun May 11, 2014 3:38 pm, edited 1 time in total.
Sometimes you have to lose a fight to win the war.
User avatar
Dr.Flay™
OldUnreal Member
Posts: 423
Joined: Sun Dec 09, 2012 5:57 pm

Re: OpenAL for UnrealTournament - development and links

Post by Dr.Flay™ »

Thanks very much for joining speewave.

If you have already been needing to use the Alchemy tool to fix old games, then your input will be very handy.

Theoretically and so far this version should remove the need to use a tool.
I have the same issue on my new 64bit Win7 box and Realtek sound.

The ALCaps tool will help show the EAX abilities. You can get it from the arched site.
http://wayback.archive.org/web/20130726192938/http://connect.creativelabs.com/openal/Downloads/Forms/AllItems.aspx

Run it from inside the game system folder, and it will show you the capabilities the game can also see, as it should use the driver in the folder.
Run it from somewhere else and it will show you what is installed in Windows.

On a 64bit windows you should see that OpenAL is installed in 2 places inside Windows
System32 and SysWOW64
The 2 ALCaps tools will show different versions.
User avatar
Marek
Posts: 1
Joined: Thu Jul 10, 2014 8:26 pm

Re: OpenAL for UnrealTournament - development and links

Post by Marek »

Great job with new sound engine! HRTF is incredible - It's the best sound in UT since Aureal A3D times. I have some questions tough. Is there version of libraries you posted for Linux? If not - are you planning to release them in some near future? Second question - is there possibility to enable EFX effects? UT seemed to have some EAX support but as far as I know EAX!=EFX, older EAX games won't work with OpenAL lib...
User avatar
Smirftsch
Administrator
Posts: 8999
Joined: Wed Apr 29, 1998 10:00 pm
Location: NaPali
Contact:

Re: OpenAL for UnrealTournament - development and links

Post by Smirftsch »

Happy to hear :)

Well, thing with EFX simply is, that the information is not in the maps. I added a translation for the old reverb effects which works out better than expected, but if you want to use specifically EFX effects you need to add EFXZoneInfo into the maps.

As for Linux, problem is again that the UT Linux build is not old its ANCIENT. No idea how much effort it would be to set up an environment to make these libs work with it. In theory the sources can be compiled for it though, since I use it for 227's Linux build as well (and in my OSX build, but I am not allowed to release it anyway).
Last edited by Smirftsch on Fri Jul 11, 2014 7:24 am, edited 1 time in total.
Sometimes you have to lose a fight to win the war.
sn260591
OldUnreal Member
Posts: 116
Joined: Wed Aug 17, 2011 2:54 am

Re: OpenAL for UnrealTournament - development and links

Post by sn260591 »

I noticed that to ALAudio sometimes there are clicks (in sounds or music). However, they are absent with Galaxy, FMOD and SwFMOD.
Here two records for comparison [url]http://www.mediafire.com/download/a69knc2l0idcg2e/s_test[/url], this track plays on CTF-November.
User avatar
Smirftsch
Administrator
Posts: 8999
Joined: Wed Apr 29, 1998 10:00 pm
Location: NaPali
Contact:

Re: OpenAL for UnrealTournament - development and links

Post by Smirftsch »

which version did you try with?
need to update it again yet, but here is the 227i version of the new OpenAL:
http://www.oldunreal.com/cgi-bin/yabb2/YaBB.pl?num=1399614673
Sometimes you have to lose a fight to win the war.
sn260591
OldUnreal Member
Posts: 116
Joined: Wed Aug 17, 2011 2:54 am

Re: OpenAL for UnrealTournament - development and links

Post by sn260591 »

I tested OpenAL_v1.1_UT and OpenAL_v1.1_227i, a problem in both cases. Try to listen Seeker.umx in the game or the editor.
Last edited by sn260591 on Fri Dec 19, 2014 2:45 pm, edited 1 time in total.
User avatar
Smirftsch
Administrator
Posts: 8999
Joined: Wed Apr 29, 1998 10:00 pm
Location: NaPali
Contact:

Re: OpenAL for UnrealTournament - development and links

Post by Smirftsch »

ah, ok, that's what I wanted to know. Going to test it with this file here again.

Edit: can confirm it here, thanks for report, will try to find out whats this caused by :)
Last edited by Smirftsch on Fri Dec 19, 2014 3:15 pm, edited 1 time in total.
Sometimes you have to lose a fight to win the war.
sn260591
OldUnreal Member
Posts: 116
Joined: Wed Aug 17, 2011 2:54 am

Re: OpenAL for UnrealTournament - development and links

Post by sn260591 »

Thank you.
Here's another example, when I shoot from the nuclear launcher #2 (nali weapons 3 mod) [url]http://www.mediafire.com/download/ws3m2p87q8203sp/nw3_nuke2_test[/url]
Last edited by sn260591 on Fri Dec 19, 2014 3:24 pm, edited 1 time in total.
User avatar
Smirftsch
Administrator
Posts: 8999
Joined: Wed Apr 29, 1998 10:00 pm
Location: NaPali
Contact:

Re: OpenAL for UnrealTournament - development and links

Post by Smirftsch »

its a bit strange, at first I assumed it to be a music only issue maybe, but it clearly overmodulates. Reducing the volume doesn't seem to have any impact though.
Sometimes you have to lose a fight to win the war.
User avatar
Smirftsch
Administrator
Posts: 8999
Joined: Wed Apr 29, 1998 10:00 pm
Location: NaPali
Contact:

Re: OpenAL for UnrealTournament - development and links

Post by Smirftsch »

I am already about to assume this is 2 different problems, and for the sound its indeed just some overmodulation, while for the music its probably what [ch12473][ch12510][ch12452][ch12523][ch12539][ch12489][ch12521][ch12468][ch12531] assumes. I converted seeker.umx to seeker.ogg and the crackling was gone in ALAudio. Its really contradicting.
So question is, do you know more than this one sound in which it happens?
Sometimes you have to lose a fight to win the war.
User avatar
スマイル・ドラゴン
OldUnreal Member
Posts: 1263
Joined: Sun Feb 10, 2008 9:07 pm

Re: OpenAL for UnrealTournament - development and links

Post by スマイル・ドラゴン »

I gave a listen to these files, that crackling with the nuke sounds like ALAudio panning rather harshly and wildly between the two stereo channels when the nuke goes off.

It sounds like if you were to be spinning your head around like a top or if your viewshake was set to some astronomical level...
“I am the dragon without a name.”
Ðàrk-_¦_-Ñïght.: / κυνικός Δράκων / スマイル・ドラゴン / Draco Nihil
User avatar
Radi
OldUnreal Member
Posts: 184
Joined: Thu Apr 04, 2013 9:35 pm

Re: OpenAL for UnrealTournament - development and links

Post by Radi »

Today I tested OpenAL_v1.1_UT.7z And there strange clicks/distorted sounds

I set DopplerFactor to 0 and its everything all right. dont know if this is related but.. maybe it helps
User avatar
Smirftsch
Administrator
Posts: 8999
Joined: Wed Apr 29, 1998 10:00 pm
Location: NaPali
Contact:

Re: OpenAL for UnrealTournament - development and links

Post by Smirftsch »

thanks Radi,
at least for this specific problem mention above which is very noticeable in seeker.umx it doesn't seem to have any impact. Other than that I have no trouble with clicks but this might be very well OS or soundcard dependent.
Sometimes you have to lose a fight to win the war.
User avatar
Smirftsch
Administrator
Posts: 8999
Joined: Wed Apr 29, 1998 10:00 pm
Location: NaPali
Contact:

Re: OpenAL for UnrealTournament - development and links

Post by Smirftsch »

http://www.oldunreal.com/betatest/OpenAL_v1.3_UT.7z


added some new options:

MusicPanSeparation=50
MusicAmplify=0
MusicStereoMix=70
MusicDsp=DSP_ALL
MusicInterpolation=SPLINE

PanSeparation is different function now, in order to improve panning.

MusicPanSeparation = default panning,must be set BEFORE a track is loaded for the setting to take effect. (50 is default, 0 to 100)
MusicAmplify = Amplification factor: 0=Normal, 1=x2, 2=x4, 3=x8
MusicStereoMix = Stereo Mixing, from 0 to 100 (70 is default)
MusicDsp = Filter effect, Lowpass filter effect or all effects (All is default)
MusicInterpolation = NEAREST(Nearest neighbor), Linear (default) ,SPLINE (Cubic spline)

MusicInterpolation set to SPLINE fixes the crackling in some tracks such as Seeker.umx
Sometimes you have to lose a fight to win the war.
sn260591
OldUnreal Member
Posts: 116
Joined: Wed Aug 17, 2011 2:54 am

Re: OpenAL for UnrealTournament - development and links

Post by sn260591 »

Perfectly, the crackling disappeared in a sound and music :)
User avatar
Smirftsch
Administrator
Posts: 8999
Joined: Wed Apr 29, 1998 10:00 pm
Location: NaPali
Contact:

Re: OpenAL for UnrealTournament - development and links

Post by Smirftsch »

thanks for working this out with me.
Sometimes you have to lose a fight to win the war.
User avatar
Smirftsch
Administrator
Posts: 8999
Joined: Wed Apr 29, 1998 10:00 pm
Location: NaPali
Contact:

Re: OpenAL for UnrealTournament - development and links

Post by Smirftsch »

fixed some stupid mistake causing a crash when playing ogg's and switched from old ALUT to [url=http://kcat.strangesoft.net/alure.html]ALURE[/url] (X11/MIT licensed).
www.oldunreal.com/betatest/OpenAL_v1.4_UT.7z
Sometimes you have to lose a fight to win the war.
User avatar
Smirftsch
Administrator
Posts: 8999
Joined: Wed Apr 29, 1998 10:00 pm
Location: NaPali
Contact:

Re: OpenAL for UnrealTournament - development and links

Post by Smirftsch »

after all the crackling appeared to be a problem in the linear interpolation code of libxmp and has been fixed already by the xmp developer. I filed a bugreport and it was resolved very quickly.
I think I can make a new version with it soon :)
Sometimes you have to lose a fight to win the war.
Post Reply

Return to “ALAudio (OpenAL), FMOD (FMOD3 and FMOD Ex) or other new audio renderer for UEngine 1 Games”